首页 > 其他 > 详细

2020/5/4 ICPC Pacific Northwest Regional Contest 2019

时间:2020-05-10 23:06:56      阅读:108      评论:0      收藏:0      [点我收藏+]

D. Dividing by Two

https://nanti.jisuanke.com/t/45348

       题意:给a,b求按照规定 把a变成b所需的最小步数

                  规定:1. a=a/2  a为偶数情况下

                              2.a+1;

                  如果a<b sum=b-a;

                  如果a>b 通过一系列变化最后可能a=b也可能a<b  所以最后面有个sum+=b-a

技术分享图片
#include<cmath>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
    int a,b,sum=0;
    cin>>a>>b;
    if(a<b){
        sum=b-a;
    }else{
         while(a>b){
            if(a&1){
                a=(a+1)/2;
                sum+=2;
            }else{
                a=a/2;
                sum++;
            }
           }
            sum+=b-a;
    }
   
    cout<<sum<<endl;
    return 0;
}
View Code

 E. Rainbow Strings

https://nanti.jisuanke.com/t/45349

 题意:定义一个没有包含重复字符的字符串为彩虹字符串,现给出一个长度不超过的字符串,

           求出其可以作为彩虹字符串的子序列数,对答案取模

           与求一个整数的正因子个数类似,把每个不同字母看成不同的因子

            这好像是一个算法最后答案使(1+a[1])*(1+a[2])…*(1+a[n]) 

            

技术分享图片
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;
}
View Code

 

2020/5/4 ICPC Pacific Northwest Regional Contest 2019

原文:https://www.cnblogs.com/yy0826/p/12865677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!