zoukankan      html  css  js  c++  java
  • Codeforces Round #506 (Div. 3)

    /*
    第一次写codeforce的题解
    之前一直拿它来练手速 
    前几天发现在好好施展一场就能到蓝名了
    恰好碰上一场div3 灰常开心
    然后只做了2题  现在改一改CE题
    
    C - Maximal Intersection
    这题一开始想麻烦了 想的是分有n和没有n讨论
    比赛的时候少考虑了一种然后wa.......
    其实 考虑n条线段的交 就是minr-maxl
    那么我们枚举删掉那一个 然后剩下的按上面的方法求一下
    借助set 因为要支持删除一个元素 并且有重复要用multiset
    另外multiset用的不多刚才wa了好几发.....
    end这个迭代器指的应该是最后一个元素 rbegin才是最后一个 
    */
    
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<set>
    #define maxn 300010
    using namespace std;
    int n,l[maxn],r[maxn],ans;
    int main(){
        scanf("%d",&n);multiset<int>L,R;
        for(int i=1;i<=n;i++){
            scanf("%d%d",&l[i],&r[i]);
            L.insert(l[i]);R.insert(r[i]);
        }
        for(int i=1;i<=n;i++){
            L.erase(L.find(l[i]));R.erase(R.find(r[i]));
            ans=max(ans,*R.begin()-*L.rbegin());
            L.insert(l[i]);R.insert(r[i]);
        }
        printf("%d
    ",ans);
        return 0;
    }
    
    /*
    D题 字符串拼接的操作就是前一个*10^len2 + 后一个数
    正着枚举两个(a+b)%k==0  <->  (a%k+b%k)%k==0
    我们只枚举a 构造出b来 看看符合条件的b有几个
    必须位数和%k的余数都符合条件才行
    然后预处理下f[i][j]是i位数中%k余j的数的个数 
    map加了一个log所以比较慢 改改%longlong啥的优化常数卡过去了  
    */
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<cstdlib>
    #include<map>
    #define maxn 200010
    #define ll unsigned long long
    using namespace std;
    int n,k,r,now,tmp,a[maxn];
    ll ans;
    const ll P=10; 
    map<int,int>f[12];
    int Get(ll x){
        int res=0;
        while(x){
            res++;x/=10;
        }
        return res;
    }
    int main(){
        scanf("%d%d",&n,&k);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
            int c=Get(a[i]);f[c][a[i]%k]++;
        }
        for(int i=1;i<=n;i++){
            now=Get(a[i]);int c=a[i]*P%k,pre=a[i]%k;
            for(int j=1;j<=10;j++){
                tmp=k-c;if(tmp>=k)tmp-=k;
                ans+=f[j][tmp];
                if(j==now&&tmp==pre)
                    ans--;c=c*P%k;
            }
        }
        printf("%lld
    ",ans);    
        return 0;
    } 
  • 相关阅读:
    phpstorm 2016.3.2 的最新破解方法(截止2017-2-20)
    在GitHub多个帐号上添加SSH公钥
    mac laravel 环境变量设置bash_profile
    Laravel的三种安装方法总结
    laravel登录后台500错误!
    composer镜像安装laravel
    phpstorm 代码按列对齐
    .DS_Store 文件是什么?Mac下面如何禁止.DS_Store生成
    如何在Mac下显示Finder中的所有文件
    PHP_环境配置_python脚本_2017
  • 原文地址:https://www.cnblogs.com/yanlifneg/p/9545242.html
Copyright © 2011-2022 走看看