CF591CF01串的变换,找规律
来源:互联网 发布:网络直销三生公司 编辑:程序博客网 时间:2024/05/22 20:41
这题知道应该是一个规律题,然而并没有什么卵用,规律找不到,AC不了,前面俩题手速不够快,只能掉rating。
说一下这题的规律:
首先只有101和010会变化,很明显可以知道,然后开个数组,记录需要变化的位置,
然后每一段需要变化的01串需要交换的次数为:len+1/2;
然后变化的规律:
- 若子串长度len为奇数,即首尾数字相同的,该子串变为同样长度,与首尾数字一致的串,如10101变为11111,而01010变为00000
- 若子串长度len为偶数,即首尾数字不同,子串中每个数字会变为与首尾数字中与其距离较近的一个,如101010变为111000,而01010101变为00001111,
具体细节看代码:
另外贴下B题的代码,写的比较繁琐,求喷。
C题:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<map>#include<set>#include<cmath>#include<climits>#include<vector>#include<cfloat>#include<queue>#include<cctype>#include<cstdlib>#include<string>#define LL long longusing namespace std;const int N=500010;int a[N],b[N];int main(){ int n; while(cin>>n) { for(int i=0;i<n;i++) scanf("%d",&a[i]); memset(b,0,sizeof(b)); for(int i=1;i<n-1;i++) b[i]=a[i]!=a[i-1]&&a[i]!=a[i+1]; int ans=0; int i=1; while(i<n-1) { if(!b[i]) i++; else { int j=i; while(b[j]) j++; ans=max(ans,(j-i+1)/2); if((j-i)%2) for(int k=i;k<j;k++) a[k]=a[i-1]; else for(int k=i;k<j;k++) a[k]= (k<(i+j)/2) ?a[i-1]:a[j]; i=j; } } cout<<ans<<endl; for(int i=0;i<n-1;i++) cout<<a[i]<<' '; cout<<a[n-1]<<endl; } return 0;}B题:
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<map>#include<set>#include<cmath>#include<climits>#include<vector>#include<cfloat>#include<queue>#include<cctype>#include<cstdlib>#include<string>#define LL long longusing namespace std;const int maxn=40;int s[30];int main(){ int n,m; while(cin>>n>>m) { string ss; cin>>ss; memset(s,0,sizeof(s)); for(int i=0;i<m;i++) { char x,y; cin>>x>>y; int x1=x-'a'+1; int y1=y-'a'+1; if(x1==y1) continue; for(int i=1;i<30;i++) { if(s[i]==x1) { s[i]=y1; continue; } if(s[i]==y1) { s[i]=x1; continue; } } if(!s[x1]) s[x1]=y1; if(!s[y1]) s[y1]=x1; } //cout<<ss<<endl; for(int i=0;i<ss.length();i++) { int t=ss[i]-'a'+1; if(s[t]) printf("%c",s[t]-1+'a'); else cout<<ss[i]; } cout<<endl; } return 0;}
0 0
- CF591CF01串的变换,找规律
- 母牛的故事 + 找规律
- Cantor的数表 【找规律】
- 一道找规律的题
- BZOJ-2659 算不出的算式 找规律找规律找规律(说三遍)
- hdoj 2047 阿牛的EOF牛肉串 【找规律】
- 找规律
- 找规律!
- 找规律
- 找规律,
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 找规律
- 排序法大集合
- libjpeg移植及压缩解压bmp的例子
- require_once本地正常,上传到服务器出错
- Move Zeroes
- 【随机过程】几种容易混淆的概率分布
- CF591CF01串的变换,找规律
- 海量数据挖掘MMDS week5: 聚类clustering
- 计算机科学的32个经典算法
- php call_user_func()函数
- Python访问限制
- 【蓝桥杯练习题】出现次数最多的整数
- 树
- unity3d之UIPlayTween。
- 严蔚敏 数据结构 4.30 最长公共字串