• 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;
    } 
  • 相关阅读:
    笔记33 Spring MVC的高级技术——Spring MVC配置的替代方案
    笔记32 SpringMVC中使用静态资源、处理中文乱码
    笔记31——注解
    笔记30 视图解析 ——TilesViewResolver
    笔记29 视图解析 ——InternalResourceViewResolver
    笔记28 接受请求的输入 ——处理表单
    笔记27 接受请求的输入 ——通过路径参数接受输入
    笔记26 接受请求的输入 ——处理查询参数
    笔记25 传递模型数据到视图中
    笔记24 定义类级别的请求处理
  • 原文地址:https://www.cnblogs.com/yanlifneg/p/9545242.html
Copyright © 2020-2023  润新知