【bzoj3791】作业 dp
来源:互联网 发布:蜂窝移动数据选项漫游 编辑:程序博客网 时间:2024/06/16 07:38
最后整个序列最多被分为2K-1段黑白相间,因为每次等价于插入2个端点
换种说法,只要是被分成不超过2K-1个黑白相间的段,那么就可以用最多K次解决
dp[i][j][0/1]表示前i个数,用了j段最后一段为黑还是白的总数
换种说法,只要是被分成不超过2K-1个黑白相间的段,那么就可以用最多K次解决
dp[i][j][0/1]表示前i个数,用了j段最后一段为黑还是白的总数
有点厉害
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<iostream>#include<algorithm>using namespace std;int f[100010][100][2];int n,m,k;int main(){scanf("%d%d",&n,&k);memset(f,-1,sizeof(f));f[0][0][0]=f[0][0][1]=0;for (int i=1;i<=n;i++){int x;scanf("%d",&x);for (int j=1;j<=min(2*k-1,i);j++) for (int k=0;k<2;k++) { f[i][j][k]=f[i-1][j][k]+(x==k); for (int p=0;p<2;p++) f[i][j][k]=max(f[i][j][k],f[i-1][j-1][p]+(x==k)); }}int ans=0;for (int i=1;i<=2*k-1;i++) ans=max(ans,max(f[n][i][0],f[n][i][1]));printf("%d\n",ans);return 0;}
0 0
- Bzoj3791:作业:DP
- 【bzoj3791】作业 dp
- BZOJ3791 作业 [DP]
- 【BZOJ3791】作业
- 【bzoj3791】作业
- bzoj3791 作业
- [ DP ] BZOJ3791
- 作业(Dp-贪心)
- 学校作业-Dp练习
- BZOJ 3791 作业 DP
- 【BZOJ 3791】作业 dp
- DP第二周作业
- DP作业指南
- 学校作业-Usaco DP水题
- 3791: 作业 思路题 DP
- 小灶第五次作业 dp
- 【bzoj3379】【区间DP】交作业
- hdu1074写作业,dp状态压缩
- leetcode_swap node in pairs
- 项目总结
- Java反射机制的使用
- 哈希表在Top-k问题中的应用--字符串
- Android调用webservice(线程实现)
- 【bzoj3791】作业 dp
- 图像算法工程师三重境界
- Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)(源码 + Demo)
- 2016-5-2至2016-5-8
- javascript学习——使用javascript
- verilog中wire与reg类型的区别
- 转 Linux C 网络编程——多线程的聊天室实现(服务器端)
- TensorFlow 研究实践 三
- SQL注入攻击的种类和防范手段有哪些?