随笔分类 - 动态规划
sicily 2391. Tri graphs【基本DP】
摘要:周赛第三次题目。基本的dp,比较简单。注意第一行右边的格子只能从中间走过去:dp[0][2] = d2 + d3; 第二行左边格子只能从第一行中间格子走到:dp[1][0] = d1 + dp[0][1]; 第二行中间格子从第一行的中间,右边和第二行的左边格子走到:dp[1][1] = min2(dp[1][0],dp[0][1],dp[0][2]); 其余情况看箭头确定状态转移。View Code // source code of submission 736533, Zhongshan University Online Judge System#include <iostream
阅读全文
sicily 2372. Non-Decreasing Digits【dp】
摘要:第一次周赛的题目。感觉难的太难了。用了一个小时不到切掉3题。剩下时间就看题目了,题目晦涩难懂,结果都没动手写剩下的了。 这道题意大概是Non-Decreasing Digits的定义为:这个数的每一位当前数字的左边数字都不大于当前数字。给定一个数的数字个数n,问有多少个n位的Non-Decreasing Digits(非降序数). 用dp[i][j]表示i位数字最后一位为j时的非降序数的个数。 首先n = 1时直接输出10(这点上开始还以为是0,结果wa了); 当n = 2时,dp[2][j]=(j+1)*(j+2)/2; 当n > 2时,dp[i][j]=dp[i][j-1]+dp[i
阅读全文
sicily 1415. Honeycomb Walk【动态规划】
摘要:开始看到这道题知道要用dp,但这个六边形的确很恶心,每次坐标的偏移量无法用二维数组完整表现出来,后经过看多方题解,明白了可以取八个方向中的六个,解决了构图的问题,至于状态转移是很明显的。dp[s][i][j]表示经过s步到达坐标为[i][j]的位置的路径数: 则dp[s][i][j] = dp[s-1][i-1][j-1]+dp[s-1][i][j-1]+dp[s-1][i+1][j]+dp[s-1][i+1][j+1]+dp[s-1][i][j+1]+d[s-1][i-1][j];然后进行扫描就可得到dp[n][sta_r][sta_c]就是为每次要求的答案(sta_r,sta_c为假设的.
阅读全文
浙公网安备 33010602011771号