Codeforces 309B
来源:互联网 发布:linux nano命令 编辑:程序博客网 时间:2024/06/08 15:28
倍增一下就好了
#include<cstdio>#include<cstring>using namespace std;int a[1000005],nex[1000005],ans[1000005];char s[6000005];int n,r,c,t=1;void ksm(int x){ if(!x)return ; ksm(x>>1); for(int i=1;i<=n;i++){ ans[i]=ans[ans[i]]; if(x&1)ans[i]=nex[ans[i]]; }}int main(){ #ifdef DouBi freopen("in.cpp","r",stdin); #endif // DouBi while(scanf("%d%d%d",&n,&r,&c)!=EOF){ a[1]=0; for(int i=1;i<=n;i++) scanf("%s",s+a[i]), a[i+1]=a[i]+strlen(s+a[i]), s[a[i+1]++]=' '; for(int i=n+1,j=n+1;i;i--){ while(a[j]-a[i]>c+1)j--; nex[ans[i]=i]=j; } ksm(r);t=1; for(int i=2;i<=n;i++) if(ans[i]-i>ans[t]-t) t=i; for(int i=1;i<=r;i++,t=nex[t],puts("")) for(int j=a[t];j+1<a[nex[t]];j++)putchar(s[j]); } return 0;}
0 0
- Codeforces 309B
- codeforces B
- codeforces B
- codeforces B
- codeforces B
- Codeforces Round #309 (Div. 2) B 暴力
- CodeForces 626B CodeForces 626B【暴力】
- CodeForces 841B (B) 博弈
- codeforces 134B
- codeforces#98 b
- codeforces 105 div2 B
- Codeforces 166B - Polygons
- codeforces B. Coins
- codeforces----193B Xor
- codeforces----208B Solitaire
- Codeforces 1B - Spreadsheet
- codeforces 214B Hometask
- Codeforces Round #136 B
- BZOJ【bzoj2661】[BeiJing wc2012]连连看
- 学习记录——网络层(1)
- Rancher Managed Network实践
- Java程序员从笨鸟到菜鸟之(十四)Html基础积累总结(上)
- Eclipse远程调试
- Codeforces 309B
- Django标准库:django.contrib
- 监听网络变化的广播
- Oracle SQL Developer Data Modeler使用教程
- Windows学习总结(11)——Windows批处理命令编写代码及小程序简介
- 数据挖掘中的概率论与数理统计知识整理
- MVC5 + EF(2)
- Google云盘更改本地同步目录的一种办法
- Sikuli GUI自动化工具