zoukankan      html  css  js  c++  java
  • CodeForce-811B Vladik and Complicated Book(水题)

    http://codeforces.com/problemset/problem/811/B

    题意:

    给定一个长度为 N 不重复的数字序列,然后对其进行 M 次询问。

    每次询问含L,R,X三个值,问如果数字序列中的 L ~ R 位置范围内进行从小到大的排序后,原本位置为 X 的数字是否变了。

    由于 N 和 M 的范围都很小(10000),甚至不用模拟排序,对于每次询问直接 L ~ R 过一遍看有多少个元素小于 X 位置的那个,如果这个计数正好等于 X-L,那么位置为 X 的那个元素自然不会变。

    贴上水码:

    #include<iostream>
    using namespace std;
    int p[10050];
    int main()
    {
        int n, m;
        int l, r, x;
        cin >> n >> m;
        for (int i = 0; i < n; i++)
        {
            cin >> p[i];
        }
        for (int i = 0; i < m; i++)
        {
            cin >> l >> r >> x;
            int cnt = 0;
            for (int j = l-1; j <= r-1; j++)
            {
                if (p[j] < p[x-1])
                    cnt++;
            }
            if (cnt == x - l)
                cout << "Yes" << endl;
            else
                cout << "No" << endl;
        }
        return 0;
    }
  • 相关阅读:
    [BZOJ1006]神奇的国度
    配置ubuntu18.04
    数据库的基本操作
    关于排序的算法——桶排序
    关于TCP/IP协议的记录
    laravel学习历程
    装箱问题
    01背包
    数字三角形
    统计单词的个数
  • 原文地址:https://www.cnblogs.com/YingZhixin/p/6929499.html
Copyright © 2011-2022 走看看