zoukankan      html  css  js  c++  java
  • ICPC Pacific Northwest Regional Contest 2019 (2020-5-4)

    D. Dividing by Two

    将A变成B需要的最小步数  ,只能将A+1或A/2

    当A大于B,A为奇数时,(a+1)/2,A为偶数时,a/2;

    当A小于B,a+1;

    #include<cmath>
    #include<cstdio>
    #include<algorithm>
    #include<string>
    #include<vector>
    #include<iomanip>
    #include<iostream>
    using namespace std;
    typedef long long ll;
    int main()
    {
        int m,n,k=0;
        cin>>m>>n;
        while(m>n){
            if(m%2==0){
                m/=2;
                k++;
            }
            else{
                m++;
                m/=2;
                k+=2;
            }
        }
        k+=n-m;
        cout<<k;
        return 0;
    }
    

    E. Rainbow Strings

    先统计每个字母有多少个a[i],对于每种字母,最多只能存在一个,a[i]+1种情况,将每种字母的情况都乘起来,取模,就是最终结果

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    #include<string>
    #include<algorithm> 
    #include<cstring>
    #include<set>
    using namespace std;
    typedef long long ll;
    #define mod 11092019
    int a[30];
    int main(){
    	int i,j;
    	ll sum=1;
    	string s;
    	cin>>s;
    	int len=s.length();
    	for(i=0;i<len;i++){
    		a[s[i]-'a']++;
    	}
    	for(j=0;j<26;j++){
    		sum=sum%mod*(a[j]+1)%mod;
    	}
    	cout<<sum%mod<<endl;
    	return 0;
    }
    
  • 相关阅读:
    Xshell相关优化
    Inotify+rsync远程实时同步
    MySQL主从复制故障解决
    Docker部署centos7容器
    Salt-ssh批量部署minion
    MySQL数据库二
    防火墙2
    MySQl数据库
    防火墙
    http原理2
  • 原文地址:https://www.cnblogs.com/a-specter/p/12836358.html
Copyright © 2011-2022 走看看