zoukankan      html  css  js  c++  java
  • cf 1263

    A

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int t;cin>>t;
        while(t--){
            int a[3];
            cin>>a[1]>>a[2]>>a[3];
            sort(a+1,a+4);
            int ans=0;
            if(a[1]+a[2]<=a[3])
                ans=a[1]+a[2];
            else {
                ans = (a[1]+a[2]+a[3])/2;
            }
            cout<<ans<<'
    ';
        }
    }
    View Code

    B

    #include<bits/stdc++.h>
    using namespace std;
     
    int n,a[20],flag[20];
    int s[20][5];
     
    int judge(int x){
        for(int i=1;i<=n;i++){
            if(i==x)continue;
            if(s[x][1]==s[i][1] && s[x][2]==s[i][2] &&s[x][3]==s[i][3] &&s[x][4]==s[i][4])
            return 0;
        }
        return 1;
    }
     
    int main(){
        int t;cin>>t;
        while(t--){
            cin>>n;
            for(int i=1;i<=n;i++){
                cin>>a[i];
                s[i][4]=a[i]%10;
                s[i][3]=(a[i]%100)/10;
                s[i][2]=(a[i]%1000)/100;
                s[i][1]=a[i]/1000;
                flag[i]=i;
                for(int j=1;j<i;j++)
                    if(a[i]==a[j]){
                        flag[i]=j;
                        break;
                    }
            }
            int p=0,cnt=0;
            for(int i=1;i<=n;i++)if(flag[i]!=i){
                cnt++;
                while(1){
                    s[i][1]=p++;
                    if(judge(i))break;
                }            
            }
            
            cout<<cnt<<'
    ';
            for(int i=1;i<=n;i++)
                cout<<s[i][1]<<s[i][2]<<s[i][3]<<s[i][4]<<'
    ';
        }
    }
    View Code

    C

    #include<bits/stdc++.h>
    using namespace std;
    #define ll long long 
    ll n;
    vector<ll>v;
    int main(){
        int t;cin>>t;
        while(t--){
            v.clear();
            cin>>n;
            v.push_back(0);
            for(ll l=1,r;l<=n;l=r+1){
                r=n/(n/l);
                v.push_back(n/l);
            }    
            sort(v.begin(),v.end());
            cout<<v.size()<<'
    ';
            for(auto x:v)
                cout<<x<<" ";
            puts("");
        }
    }
    View Code

    D

    #include<bits/stdc++.h>
    using namespace std;
    #define N 200006 
     
    int n,flag[N][27],vis[26];
    char str[N][55];
    set<int>s[26];
     
    int F[26];
    int find(int x){
        return F[x]==x?x:F[x]=find(F[x]);
    }
     
    int main(){
        int n;
        cin>>n;
        for(int i=1;i<=n;i++){
            scanf("%s",str[i]);
            int len=strlen(str[i]);
            for(int j=0;j<len;j++)
                flag[i][str[i][j]-'a']=vis[str[i][j]-'a']=1;
            for(int j=0;j<26;j++)
                if(flag[i][j])s[j].insert(i);
        }
        
        for(int i=0;i<26;i++)F[i]=i;
        
        for(int i=0;i<26;i++)if(vis[i]){
            for(int j=0;j<i;j++)if(find(i)!=find(j)){
                vector<int>c;
                c.clear();
                set_intersection(s[i].begin(),s[i].end(),s[j].begin(),s[j].end(),back_inserter(c));
                //交集不为空 
                if(c.size())
                    F[F[i]]=F[j];
            }
        }
        int cnt=0;
        for(int i=0;i<26;i++)
            if(find(i)==i && vis[i])cnt++;
        cout<<cnt<<'
    ';
    }
    View Code

    E:这题感觉有个很大的坑

    #include<bits/stdc++.h>
    using namespace std;
    #define N 2000005 
    int n;
    char s[N],a[N];
     
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
     
    const int MAXN = 1e6+5;
    int add[MAXN<<2],sl[MAXN<<2],sr[MAXN<<2];
     
    void pushup(int root)
    {
        sl[root]=min(sl[root<<1],sl[root<<1|1]);
        sr[root]=max(sr[root<<1],sr[root<<1|1]);
    }
     
    void pushdown(int rt)
    {
        if(add[rt])
        {
            sl[rt<<1]+=add[rt];
            sl[rt<<1|1]+=add[rt];
            
            sr[rt<<1]+=add[rt];
            sr[rt<<1|1]+=add[rt];
            
            add[rt<<1]+=add[rt];
            add[rt<<1|1]+=add[rt];
            add[rt]=0;
        }
    }
     
    void update(int L,int R,int x,int l,int r,int rt)
    {
        if(l>=L && r<=R) 
        {
            add[rt]+=x;
            sl[rt]+=x;
            sr[rt]+=x;
            return;
        }
        pushdown(rt);
        int m=(l+r)>>1;
        if(L<=m) update(L,R,x,lson);
        if(R>m) update(L,R,x,rson);
        pushup(rt);
    }
     
    int main(){
        cin>>n;
        scanf("%s",s+1);
        int p=1;
        int cnt=0;
        for(int i=1;i<=n;i++){
            if(s[i]=='L'){
                if(p>1)
                    p--;
            }
            else if(s[i]=='R')
                p++;
            else {
                if(a[p]=='('){
                    cnt--;
                    update(p,n,-1,1,n,1);
                }
                else if(a[p]==')'){
                    cnt++;
                    update(p,n,1,1,n,1);
                }
                if(s[i]=='('){
                    cnt++;
                    update(p,n,1,1,n,1);    
                }
                else if(s[i]==')'){
                    cnt--;
                    update(p,n,-1,1,n,1);
                }
                
                a[p]=s[i];
            }
            if(cnt!=0 || sl[1]<0)
                cout<<"-1 ";
            else cout<<sr[1]<<" ";
        }
        /*puts("");
        cout<<p<<'
    ';
        printf("%s",a+1);
        */
    }
    /*
    (((aaa(R(RaR))R(R(a)))RRaLaa)LRaa(aR))(LaRR(a(a)LaR()R(RR)(RaRa(()aaLLLLL(a)(()R(()
    */
    View Code
  • 相关阅读:
    深入了解spring(二) IOC容器
    深入了解spring(一) spring的作用
    深入了解Java虚拟机(二)
    关于scroll、client、offset和style中的height、width、top以及bottom属性
    打开桌面上的图标就会弹出"打开些文件可能会对您的计算机有害"解决方案
    Windows中区位码转换为机内码
    Servlet 上传图片
    Java&Quartz实现任务调度
    JavaMail
    JavaWeb 二维码
  • 原文地址:https://www.cnblogs.com/zsben991126/p/11983905.html
Copyright © 2011-2022 走看看