Codeforces Beta Round #46 (Div. 2)

Codeforces Beta Round #46 (Div. 2)

http://codeforces.com/contest/49

A

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define pb push_back
 7 #define maxn 1000005
 8 typedef long long ll;
 9 typedef unsigned long long ull;
10 
11 
12 int main(){
13     #ifndef ONLINE_JUDGE
14         freopen("input.txt","r",stdin);
15     #endif
16     std::ios::sync_with_stdio(false);
17     map<char,int>mp;
18     mp['A']++;
19     mp['E']++;
20     mp['I']++;
21     mp['O']++;
22     mp['U']++;
23     mp['Y']++;
24     mp['a']++;
25     mp['e']++;
26     mp['i']++;
27     mp['o']++;
28     mp['u']++;
29     mp['y']++;
30     string str;
31     getline(cin,str);
32     char ch;
33     for(int i=str.length()-1;i>=0;i--){
34         if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')){
35             ch=str[i];
36             break;
37         }
38     }
39     if(mp[ch]) cout<<"YES"<<endl;
40     else cout<<"NO"<<endl;
41 }
View Code

 

B

模拟进制转换和运算

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define pb push_back
 7 #define maxn 1000005
 8 typedef long long ll;
 9 typedef unsigned long long ull;
10 
11 int getmax(int a){
12     int Max=0;
13     while(a){
14         Max=max(a%10,Max);
15         a/=10;
16     }
17     return Max;
18 }
19 
20 int Change(int n,int base){
21     int p=1;
22     int ans=0;
23     while(n){
24         ans=ans+(n%10)*p;
25         n/=10;
26         p*=base;
27     }
28     return ans;
29 }
30 
31 
32 int main(){
33     #ifndef ONLINE_JUDGE
34      //   freopen("input.txt","r",stdin);
35     #endif
36     std::ios::sync_with_stdio(false);
37     int a,b;
38     cin>>a>>b;
39     int base=max(getmax(a),getmax(b))+1;
40     int sum=Change(a,base)+Change(b,base);
41     int ans=0;
42     while(sum){
43         sum/=base;
44         ans++;
45     }
46     cout<<ans<<endl;
47 }
View Code

 

C

找规律

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define pb push_back
 7 #define maxn 1000005
 8 typedef long long ll;
 9 typedef unsigned long long ull;
10 
11 
12 
13 int main(){
14     #ifndef ONLINE_JUDGE
15      //   freopen("input.txt","r",stdin);
16     #endif
17     std::ios::sync_with_stdio(false);
18     int n;
19     cin>>n;
20     cout<<n<<" ";
21     for(int i=1;i<n;i++) cout<<i<<" ";
22 }
View Code

 

D

枚举第一个是0还是1,然后不断向后遍历判断,取最小值

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define pb push_back
 7 #define maxn 1000005
 8 typedef long long ll;
 9 typedef unsigned long long ull;
10 
11 int n;
12 string str;
13 
14 int func(int ch){
15     int ans=0;
16     if(str[0]!=ch+'0') ans++;
17     ch^=1;
18     for(int i=1;i<str.length();i++){
19         if(str[i]!=ch+'0'){
20             ans++;
21         }
22         ch^=1;
23     }
24     return ans;
25 }
26 
27 int main(){
28     #ifndef ONLINE_JUDGE
29      //   freopen("input.txt","r",stdin);
30     #endif
31     std::ios::sync_with_stdio(false);
32     cin>>n;
33     cin>>str;
34     int ans=0x3f3f3f3f;
35     ans=min(ans,func(0));
36     ans=min(ans,func(1));
37     cout<<ans<<endl;
38 }
View Code

 

E

区间DP

参考博客:https://blog.csdn.net/zhjchengfeng5/article/details/8201105

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define lson l,mid,rt<<1
 4 #define rson mid+1,r,rt<<1|1
 5 #define sqr(x) ((x)*(x))
 6 #define pb push_back
 7 #define eb emplace_back
 8 #define maxn 1000005
 9 #define rep(k,i,j) for(int k=i;k<j;k++)
10 typedef long long ll;
11 typedef unsigned long long ull;
12 
13 string s[2];
14 int n;
15 string str[55];
16 int dp[55][55];
17 bool book[2][55][55][55];
18 int len[2];
19 
20 void Init(int id){
21     len[id]=s[id].length();
22     rep(i,0,len[id]){
23         book[id][i][i][s[id][i]-'a']=1;
24     }
25     rep(L,1,len[id]+1){
26         int st=0;
27         rep(en,st+L-1,len[id]){
28             rep(mid,st,en){
29                 rep(i,0,n){
30                     if(book[id][st][mid][str[i][3]-'a']&&book[id][mid+1][en][str[i][4]-'a']){
31                         book[id][st][en][str[i][0]-'a']=1;
32                     }
33                 }
34             }
35             st++;
36         }
37     }
38 }
39 
40 int main(){
41     #ifndef ONLINE_JUDGE
42         freopen("input.txt","r",stdin);
43     #endif
44     std::ios::sync_with_stdio(false);
45     cin>>s[0]>>s[1];
46     cin>>n;
47     for(int i=0;i<n;i++){
48         cin>>str[i];
49     }
50     Init(0),Init(1);
51     memset(dp,0x3f,sizeof(dp));
52     dp[0][0]=0;
53     rep(mid0,0,len[0]){
54         rep(mid1,0,len[1]){
55             rep(st0,mid0,len[0]){
56                 rep(st1,mid1,len[1]){
57                     rep(ch,0,26){
58                         if(book[0][mid0][st0][ch]&&book[1][mid1][st1][ch]){
59                             dp[st0+1][st1+1]=min(dp[st0+1][st1+1],dp[mid0][mid1]+1);
60                         }
61                     }
62                 }
63             }
64         }
65     }
66     int ans=dp[len[0]][len[1]];
67     if(ans==0x3f3f3f3f) cout<<-1<<endl;
68     else cout<<ans<<endl;
69 }
View Code

 

转载于:https://www.cnblogs.com/Fighting-sh/p/10413699.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值