ACM/ICPC 2012 天津 - HDU 4433 - DP(顺推)
2012-11-24 21:23
363 查看
题意:动态规划(顺推)
注意:在第一个字符之前加一个‘0’,在末尾加两个'0'
dp[i][x][y]表示前i个字符已经调整好,并且第[i+1]为x,[i+2]为y,此状态最少需要的调整次数。
注意:在第一个字符之前加一个‘0’,在末尾加两个'0'
dp[i][x][y]表示前i个字符已经调整好,并且第[i+1]为x,[i+2]为y,此状态最少需要的调整次数。
#include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; char s1[1010], s2[1010]; int a[1010], b[1010]; int dp[1010][10][10]; const int INF = 999999999; int main() { while(scanf("%s %s", s1, s2) != EOF) { int i, j, k, x, y; int n = strlen(s1); for(i = 0; i < n; i++) { a[i+1] = s1[i] - '0'; b[i+1] = s2[i] - '0'; } a[n+1] = a[n+2] = 0; b[n+1] = b[n+2] = 0; for(i = 0; i <= n; i++) for(x = 0; x < 10; x++) for(y = 0; y < 10; y++) dp[i][x][y] = INF; dp[0][a[1]][a[2]] = 0; for(i = 1; i <= n; i++) { for(x = 0; x < 10; x++) { for(y = 0; y < 10; y++) { int down = (b[i] - x + 10) % 10; for(j = 0; j <= down; j++) for(k = 0; k <= j; k++) dp[i][(y+j)%10][(a[i+2]+k)%10] = min(dp[i-1][x][y] + down, dp[i][(y+j)%10][(a[i+2]+k)%10]); int up = 10 - down; for(j = 0; j <= up; j++) for(k = 0; k <= j; k++) dp[i][(y-j+10)%10][(a[i+2]-k+10)%10] = min(dp[i-1][x][y] + up, dp[i][(y-j+10)%10][(a[i+2]-k+10)%10]); } } } printf("%d\n",dp [0][0]); } }
相关文章推荐
- ACM/ICPC 2012 天津 - HDU 4438 - 算概率
- HDU 4283 You Are the One 第37届ACM/ICPC 天津赛区网络赛 1006题 (DP)
- HDU 4405 Aeroplane chess (概率DP)——2012 ACM/ICPC Asia Regional Jinhua Online
- HDU - 5119 Happy Matt Friends dp 滚动数组 异或和 (2014ACM/ICPC亚洲区北京站-重现赛(感谢北师和上交)
- hdu 4443 Lost 【2012 ACM/ICPC 金华区域赛B题】
- HDU - 5045 2014 ACM/ICPC Asia Regional Shanghai Online D - Contest (状压DP)
- HDU 5492 Find a path DP —— 2015 ACM-ICPC Asia Regional Hefei Online
- HDU 4285 circuits 第37届ACM/ICPC天津赛区网络赛(插头DP)
- hdu 4268 Alice and Bob(2012 ACM/ICPC Asia Regional Changchun Online 12年长春网络赛)
- hdu 4277 USACO ORZ(2012 ACM/ICPC Asia Regional Changchun Online 长春网络赛)
- HDU 4433 locker(12年天津,DP)
- HDU 5001 Walk 求从任意点出发任意走不经过某个点的概率 概率dp 2014 ACM/ICPC Asia Regional Anshan Online
- 2017 ACM/ICPC Asia Regional Qingdao Online 1007 hdu 6212 Zuma 区间dp
- 2017 ACM/ICPC Asia Regional Qingdao Online 1007 hdu 6212 Zuma (区间dp)
- [代码]ACM-ICPC 2012 Regionals Asia - Jinhua D Crazy Tank / HDU 4445
- HDU 5898 odd-even number (数位DP) 2016 ACM/ICPC Asia Regional Shenyang Online
- 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp
- ACM/ICPC 2012 天津 A题 (模拟)
- hdu 5045 Contest dp+状态压缩 2014 ACM/ICPC Asia Regional Shanghai Online
- 2012 ACM/ICPC Asia Regional Changchun Online(hdu 4267 - 4277)线段树+dp+dfs+树形dp