• Educational Codeforces Round 83 (Rated for Div. 2)


    B. Bogosort

    水题,把数组降序排列输出就行了

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=101;
    int a[maxn];
    
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--){
            int n;
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%d",&a[i]);
            sort(a+1,a+1+n,greater<int>());
            for(int i=1;i<=n;i++)
                printf("%d ",a[i]);
        	printf("
    ");
        }
        return 0;
    }
    
    

    C. Adding Powers

    比较水,知道数制转换和十进制数展开公式就能做

    [D=ΣKi*P^i ]

    其中K为数码,P为权码。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int maxn=31;
    const int maxn0=1e6;
    ll a[maxn];
    int vis[maxn0];
    
    bool solve(int n,int k)
    {
        for(int i=1;i<=n;i++){
            ll tmp=a[i];
            if(!tmp)
                continue;
            for(int j=0;;j++)
            {
                ll res=tmp%k;
                tmp/=k;
                if(res!=0&&res!=1)
                    return false;
                if(res==1){
                    if(vis[j])
                        return false;
                    vis[j]++;
                }
                if(!tmp)
                    break;
            }
        }
        return true;
    }
    
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--){
            memset(vis,0,sizeof(vis));
            int n,k;
            scanf("%d%d",&n,&k);
            int f0=0;
            for(int i=1;i<=n;i++){
                scanf("%lld",&a[i]);
            }
            if(solve(n,k))
                printf("YES
    ");
            else
                printf("NO
    ");
        }
        return 0;
    }
    
    

    D. Count the Arrays

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const ll mod=998244353;
    ll fpm(ll a,ll b) {ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;}
    ll gcd(ll a,ll b) { return b?gcd(b,a%b):a;}
    
    int main()
    {
        ll n,m;scanf("%lld%lld",&n,&m);
        if(n<=2||m<=2){
            printf("0
    ");
            return 0;
        }
        ll ans=1;
        for(ll i=1;i<=m;i++) ans=ans*i%mod;
        ll res=1;
        for(ll i=1;i<=n-1;i++) res=res*i%mod;
        for(ll i=1;i<=m-n+1;i++) res=res*i%mod;
        ans=ans*(n-2)%mod;
        ans=ans*fpm(res,mod-2)%mod;
        ans=ans*fpm(2,n-3)%mod;
        printf("%lld
    ",ans);
    
        return 0;
    }
    
  • 相关阅读:
    BZOJ-2743: [HEOI2012]采花(树状数组 or TLE莫队)
    BZOJ-1122: [POI2008]账本BBB (单调栈神题)
    2017年10月18日23:54:18
    [校内自测 NOIP模拟题] chenzeyu97要请客(单调栈)
    BZOJ-1057: [ZJOI2007]棋盘制作(单调栈)
    [校内自测] 奶牛编号 (递推+智商)
    [校内自测] Incr (LIS+智商)
    BZOJ1486 [HNOI2009]最小圈
    BZOJ2400 Spoj 839 Optimal Marks
    BZOJ2595 [Wc2008]游览计划
  • 原文地址:https://www.cnblogs.com/DrumWashingMachine-Lhy-NoobInCsu/p/12470220.html
Copyright © 2020-2023  润新知