• 【Codeforces 279C】Ladder


    【链接】 我是链接,点我呀:)
    【题意】

    题意

    【题解】

    设pre[i]表示i往前一直递增能递增多远 设aft[i]表示i往后一直递增能递增多远 如果aft[l]+pre[r]>=(r-l+1)那么就ok否则no

    【代码】

    import java.io.*;
    import java.util.*;
    
    public class Main {
        
        
        static InputReader in;
        static PrintWriter out;
            
        public static void main(String[] args) throws IOException{
            //InputStream ins = new FileInputStream("E:\rush.txt");
            InputStream ins = System.in;
            in = new InputReader(ins);
            out = new PrintWriter(System.out);
            //code start from here
            new Task().solve(in, out);
            out.close();
        }
        
        static int N = 50000;
        static class Task{
            
            int n,m;
            
            public void solve(InputReader in,PrintWriter out) {
            	n = in.nextInt();m = in.nextInt();
        		int a[] = new int[n+5];
        		int aft[] = new int[n+5],pre[] = new int[n+5];
        		for (int i = 1;i <= n;i++) a[i] = in.nextInt();
        		for (int i = n;i >= 1;i--) {
        			if (i+1<=n && a[i]<=a[i+1]) 
        				aft[i] = aft[i+1]+1;
        			else
        				aft[i] = 1;
        		}
        		
        		for (int i = 1;i <= n;i++) {
        			if (i-1>=1 && a[i-1]>=a[i])
        				pre[i] = pre[i-1]+1;
        			else
        				pre[i] = 1;
        		}
        		for (int i = 1;i <= m;i++) {
        			int x,y;
        			x = in.nextInt();y = in.nextInt();
        			if (aft[x]+pre[y]>=(y-x+1)) {
        				System.out.println("Yes");
        			}else {
        				System.out.println("No");
        			}
        		}
            }
        }
    
        
    
        static class InputReader{
            public BufferedReader br;
            public StringTokenizer tokenizer;
            
            public InputReader(InputStream ins) {
                br = new BufferedReader(new InputStreamReader(ins));
                tokenizer = null;
            }
            
            public String next(){
                while (tokenizer==null || !tokenizer.hasMoreTokens()) {
                    try {
                    tokenizer = new StringTokenizer(br.readLine());
                    }catch(IOException e) {
                        throw new RuntimeException(e);
                    }
                }
                return tokenizer.nextToken();
            }
            
            public int nextInt() {
                return Integer.parseInt(next());
            }
        }
    }
    
  • 相关阅读:
    lbs(查看附近的人),看看社交软件如何实现查看附近的人
    PHP框架中的日志系统
    PHP链式操作输出excel(csv)
    看看你的正则行不行——正则优化一般的json字符串
    PHP设计模式(三)
    PHP设计模式(二)
    PHP设计模式(一)
    PHP守护进程
    数据库的常用日志
    浅谈数据库事物
  • 原文地址:https://www.cnblogs.com/AWCXV/p/10586324.html
Copyright © 2020-2023  润新知