hdu6017 Girls Love 233
来源:互联网 发布:pdg阅读器 mac 编辑:程序博客网 时间:2024/05/21 12:39
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6017
本弱鸡觉得这道题好难,看着别人的代码理解了好久,也没有想的太明白,还是先记录一下把,以后再来看看,
状态分析:
1、剩余没有处理的2
2、上一个2的位置
3、得到233的个数
4、付出的代价
首先要明确的是如果2与2交换或者3与3交换是没有意义的 所以最后2的相对位置是没有变化的,所以我们只需要从后往前处理每一个二就好了
dp[i][j][k]表示剩余i个二没有处理,最后一个2在位置j得到233个数为k的最小花费
状态转移:从后往处理 dp[i-1][t][k+(t+2<j)] = min(dp[i-1][t][k+(t+2<j)] ,dp[i][j][k]+第i-1个2移动到位置t的花费)
#include<iostream>#include<cstdio>#include<map>#include<cstring>#include<string>#include<stack>#include<queue>#include<algorithm>#include<cmath>#include<vector>using namespace std;#define LL long longint dp[105][105][105]; // 第i个2放在位置j的时候消耗次数k的时候取得的最大233 void Init(int n){for(int i = 0;i<n+2;i++){for(int j = 0;j<n+2;j++){for(int k = 0;k<50;k++){dp[i][j][k] = 9999999;}}}}int main(){int t;scanf("%d",&t);while(t--){int n,m;char str[105];int pos[105];int tail = 0;scanf("%d%d",&n,&m);m/=2;Init(n);scanf("%s",str+1);for(int i = 1;i<=n;i++){if(str[i]=='2')pos[++tail] = i;}pos[0] = 0;pos[++tail] = n+1;dp[tail][n+1][0] = 0;for(int i = tail;i>1;i--){for(int j = n+1;j>=1;j--){for(int k = 0;k<n/3+2;k++){if(dp[i][j][k]<=m){for(int t = j-1;t>=1;t--){dp[i-1][t][k+(t+2<j)] = min(dp[i-1][t][k+(t+2<j)],dp[i][j][k]+abs(pos[i-1]-t));//cout << i-1 <<dp[i-1][t][k+(t+2<j)] << " " << k+(t+2<j) << endl;}}}}}int ans = 0;for(int i = 1;i<=n+1;i++){for(int k = 0;k<=n/3+2;k++){if(dp[1][i][k]<=m)ans = max(k,ans);}}printf("%d\n",ans);}return 0;}
0 0
- hdu6017 Girls Love 233
- 【HDU6017】Girls Love 233 (DP)
- Girls Love 233
- HDU 6017 Girls Love 233
- hdu6017
- Bestcoder#92Girls Love 233(dp)
- BestCoder Round #92-1003 Girls Love 233
- We Love MOE Girls
- We Love MOE Girls
- Hdu 6017 Girls Love 233【Dp+思维】好题~
- hdu 6017 Girls Love 233【dp状态设计】
- 字符串DP——HDU 6017 Girls Love 233
- hdu--We Love MOE Girls
- hdu4730 We Love MOE Girls
- D-We Love MOE Girls
- HDU4730-We Love MOE Girls
- hdu4730 We Love MOE Girls
- [4730]:We Love MOE Girls
- 1
- M3W3-LeetCode入门级三题
- 关于我
- hdu1272 小希的迷宫 (并查集)
- 2
- hdu6017 Girls Love 233
- 剪气球串(奇虎360 2017春招真题)
- 查看mysql执行计划以及各个参数
- 实验吧密码学CTF--chinese hacker
- cocos背景滑动实现1
- 【参考】Centos7虚拟机安装elasticsearch5.0.x-安装篇
- putty窗口标题修改、字体颜色修改等简单配置以及putty多开工具mtputty的使用
- 【开发艺术笔记】 View 事件分发机制
- 1000