【DP】tyvj P1211 - 跳舞家怀特先生
来源:互联网 发布:java class getfields 编辑:程序博客网 时间:2024/05/01 23:45
题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1211
分析:
动态规划
参见大神博客:http://www.cnblogs.com/xjyh/archive/2012/05/19/2508708.html
递推公式为DP[x,y,i]=MIN(DP[x,rc[i],i+1]+w[y,rc[i]],DP[rc[i],y,i+1]+w[x,rc[i]]);
代码:
#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;int n,a[10001],w[5][5],i,j,k; int dp[5][5][10002];int main(){memset(dp,10000,sizeof(dp)); for(i=0;i<5;i++) { w[i][i]=1; if(i!=0)w[0][i]=2; } w[1][2]=w[2][1]=w[1][4]=w[4][1]=w[3][2]=w[2][3]=w[3][4]=w[4][3]=3; w[1][3]=w[3][1]=w[2][4]=w[4][2]=4;cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; for(int i=0;i<5;i++) for(int j=0;j<5;j++) dp[i][j][n+1]=0; for (int i=n;i>0;i--) for (int j=0;j<=4;j++) for (int k=0;k<=4;k++) { dp[j][k][i]=min(dp[j][a[i]][i+1]+w[k][a[i]], dp[a[i]][k][i+1]+w[j][a[i]]); } cout<<dp[0][0][1]; return 0;}
- 【DP】tyvj P1211 - 跳舞家怀特先生
- TYVJ 1211 跳舞家怀特先生(DP)
- 信息学竞赛DP专题(一)BNU8207舞蹈家怀特先生
- 舞蹈家怀特先生 tyvj1211
- 黑书 舞蹈家怀特先生
- “舞蹈家”怀特先生(Dance Dance Revolution)
- 跳舞 纪中2545 dp
- tyvj-1034 DP
- tyvj-1044 DP
- tyvj-1045 DP
- tyvj-1048 DP
- tyvj-1050 LCS DP
- tyvj-1052 树形DP
- tyvj-1055 区间DP
- tyvj-1144 股票 DP
- tyvj-1084 简单DP
- [TYVJ-1088] DP
- [TYVJ-1195] DP
- 数据类型转换_variant_t转换成日期类型
- PAT Basic 1005
- Android学习笔记6 两种下载网络图片的方法
- 会员交叉权限控制
- 以pulltorefresh为例子
- 【DP】tyvj P1211 - 跳舞家怀特先生
- 如何使我们的COM对象可以被脚本语言调用
- PAT Basic 1006
- 青年对禅师说总集
- 安卓sdk下载地址
- Foreign Language_english_从句
- 输入三个数,求最大值
- PAT Basic 1007
- Android 数字签名学习笔记