HDU4540 威威猫系列故事——打地鼠 and 1176免费馅饼
2014-07-14 16:15
78 查看
题目链接 打地鼠:点击打开链接
免费馅饼:点击打开链接
这两道题有相似之处,却又有所不同。
对于 免费馅饼 ,因为初态是确定的,接到的第一个馅饼的位置是5(题意已给),所以用从下往上的dp较为方便。而打地鼠,初态和末态都不确定,所以初始与末尾的地位是对等的,所以从上往下和从下往上的处理是一样一样的。结果也如所料,提交了这两种代码都可以过,因为它们本质是相同的。
这两道题,唯一的区别,也就是dp找最值时略有不同。免费馅饼只需从j-1,j,j+1这三个中求最值。而打地鼠则要扫描整个这一层。
打地鼠代码
免费馅饼代码
免费馅饼:点击打开链接
这两道题有相似之处,却又有所不同。
对于 免费馅饼 ,因为初态是确定的,接到的第一个馅饼的位置是5(题意已给),所以用从下往上的dp较为方便。而打地鼠,初态和末态都不确定,所以初始与末尾的地位是对等的,所以从上往下和从下往上的处理是一样一样的。结果也如所料,提交了这两种代码都可以过,因为它们本质是相同的。
这两道题,唯一的区别,也就是dp找最值时略有不同。免费馅饼只需从j-1,j,j+1这三个中求最值。而打地鼠则要扫描整个这一层。
打地鼠代码
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<iomanip> #include<algorithm> #include<cmath> using namespace std; const int M=100000; int main() { int a[50][50],dp[50][50]; int n,k,i,j; while(cin>>n>>k) { memset(dp,0,sizeof(dp)); for(i=0; i<n; i++) { for(j=0; j<k; j++) cin>>a[i][j]; } for(i=n-2; i>=0; i--) { for(j=0; j<k; j++) { int tmp=100000; for(int c=0; c<k; c++) if(tmp>dp[i+1][c]+abs(a[i][j]-a[i+1][c])) tmp=dp[i+1][c]+abs(a[i][j]-a[i+1][c]); dp[i][j]=tmp; } } int Min=dp[0][0]; for(i=0; i<k ; i++) { if(Min>dp[0][i]) Min=dp[0][i]; } cout<<Min<<endl; } return 0; }
免费馅饼代码
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<iomanip> #include<algorithm> #include<cmath> using namespace std; int a[12][100000]; int sum[12][100000]; int main() { int n; while(cin>>n && n) { int Maxi=0,Maxj=0,cnt; memset(a,0,sizeof(a)); memset(sum,0,sizeof(sum)); int i,j; for(cnt=0; cnt<n; cnt++) { cin>>i>>j; a[i][j]++; if(Maxi<i) Maxi=i; if(Maxj<j) Maxj=j; } for(j=Maxj; j>=0; j--) { for(i=0; i<=Maxi; i++) { if(j==Maxj) { sum[i][j]=a[i][j]; } else { if(i>0) sum[i][j]=a[i][j]+max(sum[i-1][j+1],max(sum[i][j+1],sum[i+1][j+1])); else sum[i][j]=a[i][j]+max(sum[i][j+1],sum[i+1][j+1]); } } } cout<<sum[5][0]<<endl; } return 0; }
相关文章推荐
- HDU4540 威威猫系列故事——打地鼠
- hdu4540 威威猫系列故事——打地鼠
- hdu4540 威威猫系列故事——打地鼠 (动态规划)
- hdu4540(威威猫系列故事——打地鼠)-线性dp
- hdu4540 威威猫系列故事——打地鼠(简单DP)
- hdu4540 威威猫系列故事——打地鼠 (dp)
- hdu4540 - 威威猫系列故事——打地鼠 (经典dp)
- 威威猫系列故事——打地鼠
- 威威猫系列故事――打地鼠
- hdu 4540 威威猫系列故事——打地鼠 dp小水题
- HDU 4540 威威猫系列故事――打地鼠(DP)
- HDU 4540 威威猫系列故事——打地鼠
- 动态规划位置hdu 4540 威威猫系列故事——打地鼠(动态规划)
- Hdu 4540 威威猫系列故事——打地鼠
- HDU 4540 威威猫系列故事——打地鼠(简单DP)
- HDOJ4540 威威猫系列故事——打地鼠 【DP】
- HDOJ 4540 威威猫系列故事——打地鼠 杭电 ACM
- HDU 4540 威威猫系列故事——打地鼠 (简单DP)
- hdu 4540 威威猫系列故事——打地鼠(动态规划)
- HDU 4540 威威猫系列故事——打地鼠 (状态压缩DP)