上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 22 下一页
摘要: 又是一道有合法性检测的状压题。 dp[i][j][k]表示第i行状态为j,i-1行状态为k时前i行放置的最大数量。 注意22行统计二进制数中1的个数时的巧妙方法。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using 阅读全文
posted @ 2022-06-25 09:57 YHXo 阅读(32) 评论(0) 推荐(0)
摘要: dp[i][j]表示第i行第j个状态时,前i行得到的方案数,该状态可由前一行的状态转移过来。 本题重点在于合法性检测:每一行都用一个二进制数表示,1.二进制数不能有相邻的1;2.要和原地图匹配;3.上下两行不能有冲突。 预处理地图时将0换成1,方便进行2号检测,用位运算&可以实现。 1 #inclu 阅读全文
posted @ 2022-06-25 09:28 YHXo 阅读(34) 评论(0) 推荐(0)
摘要: 题目没有起点限制,且每个节点至少访问1次,最多访问2次,所以用三进制数表示节点的状态(选取情况)。 因为三进制数的每一位是0或1或2,所以预处理z状态S的第j位的数是有必要的。 边界条件:dp[tri[i]][i]=0,表示只访问了i节点时,从i出发最小费用是0。 最后的答案就在所有满足条件的状态中 阅读全文
posted @ 2022-06-25 08:55 YHXo 阅读(32) 评论(0) 推荐(0)
摘要: 本题是经典的Tsp问题的变形,Tsp问题就是要求从起点出发经过每个节点一次再回到起点的距离最小值,本题的区别就是可以经过一个节点不止一次,那么先预处理出任意两点之间的最短距离就行了,因为再多走只会浪费更多的距离。 dp[S][u]表示当前已访问的节点集合为S,从u出发走完剩余节点回到起点的最短距离。 阅读全文
posted @ 2022-06-25 08:24 YHXo 阅读(38) 评论(0) 推荐(0)
摘要: (如此简短的题目给人一种莫名的压迫感......) 题目中定义一个数的权值求解函数:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. 观察可知:权值的表达式与数的位数相关,再加上要分离每个位上的数字,那么就不难想到数位DP了。 dp[po 阅读全文
posted @ 2022-06-24 21:50 YHXo 阅读(24) 评论(0) 推荐(0)
摘要: 用dp[pos][val][cnt]表示状态,pos是数位,val是当前统计的数字,cnt是目前统计的目标数字的出现次数 注意状态的转移过程,统计数字0时前导0的影响。 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 us 阅读全文
posted @ 2022-06-24 21:25 YHXo 阅读(55) 评论(0) 推荐(0)
摘要: 在二进制数上进行数位DP,在dp数组中就记录num0和num1,方便递归到边界时判断该数是否为round number,是则加1。 套用记忆化递归模板: 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 int dp[40 阅读全文
posted @ 2022-06-24 19:48 YHXo 阅读(29) 评论(0) 推荐(0)
摘要: 和HDU2089差不多,但是本题是求包含某个数的个数,采用代码第15行的方式实现,当然,也可以求不包含的个数,最后用总数减去也可以得到答案。 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 typedef long lo 阅读全文
posted @ 2022-06-24 19:22 YHXo 阅读(38) 评论(0) 推荐(0)
摘要: 本题是数位DP的入门题,可以用来浅浅了解一下这种强大的计数类工具。 以下代码是采用记忆化递归的写法,效率很高。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 int a[20] 阅读全文
posted @ 2022-06-24 18:58 YHXo 阅读(27) 评论(0) 推荐(0)
摘要: dp[u][0]表示u向下走的最大距离; dp[u][1]表示u向下走的次大距离; dp[u][2]表示u向上走的最大距离; 最后的答案就是每个点的max(dp[u][0],dp[u][2]); 求解次大距离并记录idx在求解向上最大距离中是有必要的,可以画图分析。 1 #include<cstdi 阅读全文
posted @ 2022-06-24 18:28 YHXo 阅读(37) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 22 下一页