BZOJ1141: [POI2009]Slw
来源:互联网 发布:编译安卓rr源码教程 编辑:程序博客网 时间:2024/06/07 22:43
好神呀…
手玩一下发现这个H(s)生成的串有个斐波那契的递推式
emmmmm然后我就啥都不会了….
我们定义G(s)为H(s)的逆变换,即H(a)=b,G(b)=a
那么对于s中的每个1,如果后面是0,他会变成1,否则变成0
发现我们要验证s是否是S的子串,这个问题等价于验证G(s)是否是G(S)的子串
我们可以不断对s做逆变换,让他越来越短
我们先来证几个结论
1:
2:
3:
4:
5:
用发现的那个斐波那契性质易证
然后考虑对s做逆变换
s由很多个
对于H_{an}
若an为偶数,s最后一位时0,s后面的东西不会影响G(s),直接an–,
若an为奇数,当an=1时,因为s后面可以跟1或0,发现此时an不影响整个s是否是S的子串,直接将an删去;an=3时,同样可以删去最后一个1,让an=2,an-=1变成1;an>=5时,因为后面不能接0,可以直接an-=1
一直这样缩直到出现
对于一个位置
若
若
1:
2:
3:
因为
code:
#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<climits>#include<complex>#include<iostream>#include<algorithm>#define ll long longusing namespace std;inline void read(int &x){ char c; while(!((c=getchar())>='0'&&c<='9')); x=c-'0'; while((c=getchar())>='0'&&c<='9') (x*=10)+=c-'0';}const int maxn = 1100000;int n,m;int a[maxn];int main(){ int tcase; read(tcase); while(tcase--) { read(n); for(int i=1;i<=n;i++) read(a[i]); bool flag=true; while(n>1&&flag) { if(a[n]==1) n--; else if(a[n]==3) a[n]=2; for(int i=1;i<=n;i++) if(!a[i]) { if(i==1) a[i]=2; else { int j=i-1; if(!a[j]) j--; if(a[j]&1) { if(a[j]>=5) { flag=false; break; } else if(a[j]==1) a[j]=2; else a[j]=a[i]=2; } else { flag=false; break; } } } m=0; for(int i=1;i<=n;i++) if(a[i]) a[++m]=a[i]-1; n=m; } puts(flag?"TAK":"NIE"); } return 0;}
- BZOJ1141: [POI2009]Slw
- BZOJ1141: [POI2009]Slw
- BZOJ 1141 POI2009 Slw
- [乱搞] BZOJ 1141 [POI2009]Slw
- BZOJ 1141 [POI2009]Slw 分类讨论
- bzoj1141(矩阵hash)
- [poi2009]gas
- POI2009 题解
- [BZOJ 1119]POI2009 slo
- [BZOJ 1120]POI2009 str
- [BZOJ 1133]POI2009 Kon
- 【BZOJ1142】【POI2009】Tab 乱搞
- BZOJ1117 POI2009 救火站
- 【BZOJ1133】[POI2009]Kon【DP】
- bzoj1137【POI2009】Wsp 岛屿
- poi2009 切题记
- BZOJ1119 [POI2009]SLO
- BZOJ1135 [POI2009]Lyz
- iscsi的基本设定
- python装饰器(decorator)
- 【Java消息中间件】Java消息中间件( 第3章 JMS规范 )
- class文件结构
- leetcode-134-Gas Station
- BZOJ1141: [POI2009]Slw
- 服务端实现分页效果的几种思路
- 计算机视觉大规模爆发,6大细分领域将撑起725亿元市场
- python中GUI,Label和Button案例
- DLL调用(4):JavaCPP调用DLL
- 鸟哥的linux私房菜 学习总结----计算机概论(1)
- 兄弟连学python》》》》内建函数
- 解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题
- 常用插件,持续更新中~~