BZOJ4580 [Usaco2016 Open]248
来源:互联网 发布:怎么设计淘宝店标 编辑:程序博客网 时间:2024/05/21 20:05
考虑一下n^2做法,f[i][j]表示从位置i往前j个位置,这些数能合成一个数,这个数的值为f[i][j],这样的话初始化f[i][1]=1,然后向前找第一个一样的合起来即可,考虑优化,由于输入的数都<=40,所以所有的数都<=40+log n,f[i][j]表示第i个位置往前合成一个j合成到哪,这样就可以O(1)转移,复杂度O(n (40+log n))
懒得写了无耻粘了一发commonc代码
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<ctime>#include<cmath>#include<algorithm>#include<iomanip>#include<vector>#include<map>#include<set>#include<bitset>#include<queue>#include<stack>using namespace std;#define MAXN 300010#define MAXM 1010#define INF 1000000000#define MOD 1000000007#define eps 1e-8#define ll long longint a[MAXN][61];int n;int main(){ int i,j,x,y; scanf("%d",&n); int ans=0; for(i=1;i<=n;i++){ scanf("%d",&x); a[i][x]=i; j=i-1; while(a[j][x]){ j=a[j][x]-1; a[i][++x]=j+1; } ans=max(ans,x); } printf("%d",ans); return 0;} /* */
0 0
- BZOJ4580 [Usaco2016 Open]248
- BZOJ4580: [Usaco2016 Open]248
- BZOJ4580: [Usaco2016 Open]248 dp
- [BZOJ4580][Usaco2016 Open]248(dp)
- 【BZOJ4580】[Usaco2016 Open]248【区间DP】【或 贪心】
- 【BZOJ4576】【BZOJ4580】【Usaco2016 Open】262144 贪心
- 4580: [Usaco2016 Open]248
- BZOJ 4580: [Usaco2016 Open]248
- bzoj 4580: [Usaco2016 Open]248
- bzoj 4580: [Usaco2016 Open]248 (dp)
- [DP || 贪心 链表] BZOJ 4576 [Usaco2016 Open]262144 & BZOJ 4580 [Usaco2016 Open]248
- bzoj4576【Usaco2016 Open】262144
- [Usaco2016 Open]Field Reduction
- BZOJ4586: [Usaco2016 Open]Landscaping
- bzoj4586: [Usaco2016 Open]Landscaping
- 【BZOJ4582】【Usaco2016 open】Diamond Collector 贪心
- [BZOJ4581][Usaco2016 Open]Field Reduction(dfs)
- bzoj 4586: [Usaco2016 Open]Landscaping 堆
- 针对java项目高CPU和高内存使用jstack命令来查找错误代码所在
- 安卓二维码扫描时出现图片拉伸
- https站点调用百度地图api
- Fuschia 是什么样的一个操作系统
- mac下 svn 提交@2x图片报错解决方法
- BZOJ4580 [Usaco2016 Open]248
- Distributional Vector VS. Distributed Vector
- linux下全目录全文搜索强大工具grep
- 使用webpack打包ES6代码
- python学习笔记(四)
- faster rcnn训练过程内存占用
- 【2016-08-15】spring 的一些注解
- android studio checkout svn 后无更新提交图标
- C#窗体退出事件提示对话框解决方案