zoukankan      html  css  js  c++  java
  • Codeforces Round #546 (Div. 2)

    http://codeforces.com/contest/1136

    A

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1e5 + 10;
    int N, K;
    
    struct Node {
        int L;
        int R;
    }node[maxn];
    
    int main() {
        scanf("%d", &N);
        for(int i = 1; i <= N; i ++)
            scanf("%d%d", &node[i].L, &node[i].R);
        scanf("%d", &K);
    
        int cnt = 0;
        for(int i = 1; i <= N; i ++) {
            if(node[i].R >= K) cnt ++;
            else continue;
        }
    
        printf("%d
    ", cnt);
    
        return 0;
    }
    View Code

    B

    #include <bits/stdc++.h>
    using namespace std;
    
    int N, K;
    
    int main() {
        scanf("%d%d", &N, &K);
        int ans = 0;
        ans = 3 * N + min(K - 1, N - K);
        printf("%d
    ", ans);
        return 0;
    }
    View Code

    C (只要判断对角线上的数字就好了 如果对角线数字不同输出 NO)

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1010;
    int N, M;
    int a[maxn][maxn], b[maxn][maxn];
    map<int, int> vis[maxn];
    
    int main() {
        scanf("%d%d", &N, &M);
        for(int i = 1; i <= N; i ++) {
            for(int j = 1; j <= M; j ++) {
                scanf("%d", &a[i][j]);
                vis[i + j - 1][a[i][j]] ++;
            }
        }
        bool flag = true;
        for(int i = 1; i <= N; i ++) {
            for(int j = 1; j <= M; j ++) {
                scanf("%d", &b[i][j]);
                if(vis[i + j - 1][b[i][j]] <= 0)
                    flag = false;
                vis[i + j - 1][b[i][j]] --;
            }
        }
    
        if(flag) printf("YES
    ");
        else printf("NO
    ");
    
        return 0;
    }
    View Code

    D

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 3e5 + 10;
    vector<int> v[maxn];
    int N, M;
    int num[maxn], ans[maxn];
    
    int main() {
        scanf("%d%d", &N, &M);
        for(int i = 1; i <= N; i ++)
            scanf("%d", &num[i]);
        while(M --) {
            int uu, vv;
            scanf("%d%d", &uu, &vv);
            v[vv].push_back(uu);
        }
    
        for(int i = 0; i < v[num[N]].size(); i ++)
            ans[v[num[N]][i]] ++;
    
        int cnt = 0;
        for(int i = N - 1; i >= 1; i --) {
            if(ans[num[i]] == N - i - cnt) cnt ++;
            else {
                for(int j = 0; j < v[num[i]].size(); j ++)
                    ans[v[num[i]][j]] ++;
            }
        }
    
        printf("%d
    ", cnt);
        return 0;
    }
    View Code

    很久没更新了 最近和队友训练准备这样那样的比赛 写完题好像也没贴 哭唧唧 会尽快把之前做的题总结一下发上来的 养肥我的 Be 客

     

  • 相关阅读:
    Oracle死锁
    Oracle forall bulk collect批量数据更新
    Oracle组合索引与回表
    查看Oracle执行计划
    Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表
    Oracle计算两个时间戳相差秒数,精确到毫秒
    关于Oracle的疑问
    Oracle update和order by
    Oracle Connect by与递归with
    关于Oracle表连接
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10537542.html
Copyright © 2011-2022 走看看