bzoj2081 Beads
来源:互联网 发布:电子发票软件 编辑:程序博客网 时间:2024/06/14 04:15
枚举答案暴力就可以了,复杂度
#include<cstdio>#include<algorithm>#include<set>#include<vector>using namespace std;#define LL unsigned long longconst int maxn=200010,p=13331;LL h[maxn],g[maxn],pow[maxn];int a[maxn],n,ans;set<LL> s;vector<int> v;int main(){ int cnt; LL x,y; scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i]); for (int i=1;i<=n;i++) h[i]=h[i-1]*p+a[i]; for (int i=1;i<=n;i++) g[i]=g[i-1]*p+a[n-i+1]; pow[0]=1; for (int i=1;i<=n;i++) pow[i]=pow[i-1]*p; for (int i=1;i<=n;i++) { cnt=0; s.clear(); for (int j=1;j+i-1<=n;j+=i) { x=h[j+i-1]-h[j-1]*pow[i]; y=g[n-j+1]-g[n-j-i+1]*pow[i]; x*=y; if (!s.count(x)) s.insert(x),cnt++; } if (cnt>ans) { v.clear(); v.push_back(i); ans=cnt; } else if (cnt==ans) v.push_back(i); } printf("%d %d\n",ans,(int)v.size()); for (int i=0;i<v.size();i++) printf("%d%c",v[i],i==v.size()-1?'\n':' ');}
阅读全文
0 0
- bzoj2081 Beads
- BZOJ2081: [Poi2010]Beads
- BZOJ2081 [Poi2010]Beads
- BZOJ2081[POI2010] Beads
- BZOJ2081: [Poi2010]Beads 哈希
- bzoj2081: [Poi2010]Beads
- 【bzoj2081】[Poi2010]Beads
- [BZOJ2081][POI2010]Beads(hash)
- Hash Algorithm 初步 & BZOJ2081 POI2010 Beads
- [bzoj2081][POI2010]KOR-Beads(hash)
- 字符串hash+map——BZOJ2081/Luogu3498 [Poi2010]Beads
- 【BZOJ2081】【Poi2010(17th)】Beads RKhash+hash表 请记住这个神一样的数:200019
- beads
- beads
- 1.1 beads
- HNOJ Beads
- hnoj beads
- USACO beads
- MySQL字符串函数substring:字符串截取
- asp.net(C#)页面事件顺序
- 伪静态如何实现的
- Zookeeper实例Curator API-使用Curator更新数据内容
- [Unity&blender]安装问题AL lib: <EE> UpdateDeviceParams: Failed to set 44100hz , got 48000hz instead
- bzoj2081 Beads
- redis和memcacahe、mongoDB的区别
- Java计算两个日期间的年,月,日之差
- POJ-1456 Supermarket 贪心
- Java for Web学习笔记(六三):Controller替代Servlet(5)Model和View
- 持久化redis有几种方式?
- Node.js 笔记(一)nodejs npm express 的安装
- 【PYTHON】 Missing parentheses in call to 'print'
- jquery 邮件较验,手机较验