HDU2609(字符串的最小表示法)
来源:互联网 发布:coc闪电劈防空数据 编辑:程序博客网 时间:2024/06/05 17:24
原题链接
字符串的最小表示法
#include<iostream>#include<cstring>#include<set>using namespace std;char num[10005];int work(int m,char str[])//返回最小截取的下标位置{ int i,j,l; i=0;j=1; while(i<m&&j<m) { for ( l=0;l<m;l++) if (str[(i+l)%m]!=str[(j+l)%m]) break; if (l>m) break; if(str[(i+l)%m]>str[(j+l)%m]) i=i+l+1; else j=j+l+1; if (i==j) j=i+1; } return min(i,j);}int main(){ int n; while(cin>>n) { set <string> S;//涉及去重问题,使用set更简单 while(n--) { cin>>num; int cut=work(strlen(num),num); string s=(num+cut); num[cut]='\0'; s+=num; S.insert(s); } cout<<S.size()<<endl; } return 0;}
阅读全文
0 0
- HDU2609(字符串的最小表示法)
- hdu2609 字符串的最小表示法模版
- hdu2609(最小表示法)
- HDU2609 How many(字符串的最小表示法)
- HDU2609 How many(最小表示法)
- hdu2609(最小表示法+set)
- HDU2609 How many(字符串的最小表示+set)
- hdu2609-字符串最小表示法|模拟|二分+lcp-How many
- hdu2609 How many (最小表示法)
- 最小表示法+hash hdu2609 How many
- [转]浅析“最小表示法”思想在字符串循环同构问题中的应用-HDU2609
- 字符串的最小表示法
- 字符串的最小表示法
- 字符串的最小表示法
- 字符串的最小表示
- How many 杭电oj 2609 hdu2609 最小表示
- 字符串最小表示法
- 字符串最小表示法
- php使用phpexcel生成excel包含图片并导出
- View通用 上拉下刷
- 实现Django的全文检索功能(二):集成haytack
- jquery ajax请求后台 的简单例子
- 真的Miller_Rabin和真的Pollard_Rho小讲解
- HDU2609(字符串的最小表示法)
- C++中两个指针指向同一内存,如何防止内存被破坏
- PHP使用之修改php.ini 配置文件(Mac)
- bzoj3796
- Django添加全文搜索功能入门篇
- 查看流表时出现 Dpctl : Error During Transaction错误的解决方法
- Spring 实践
- JAVA线程管理与操作系统的进程调度<持续更新>
- document.querySelector和querySelectorAll方法