随笔分类 -  DP-状压DP

摘要:改变了我对铺砖问题的认识。首先根据之前的理解,要表示这一行当前的铺设情况,注意到由于竖着摆砖是3层的,所以要保存两行的状态,也就是对于$a[i][j]和a[i-1][j]$的铺设状态。 1.如何设计状态 无非4种情况。 $s_{i,j}=s_{i-1,j}=0$,两格都没铺。可用$0$表示 $s_{ 阅读全文
posted @ 2019-09-18 16:53 Ametsuji_akiya 阅读(200) 评论(0) 推荐(0)
摘要:附带其他做法参考:随机化(模拟退火、爬山等等等)配合搜索剪枝食用。 首先题意相当于在图上找一颗生成树并确定根,使得每个点与父亲的连边的权乘以各自深度的总和最小。即$\sum\limits_{i}depth_i\times value_{i→fa}$。 看数据范围想状压,固定好一个点为根,然后每个点选 阅读全文
posted @ 2019-09-18 08:19 Ametsuji_akiya 阅读(192) 评论(0) 推荐(0)
摘要:题解网上一搜一大坨的,不用复述了吧。 只是觉得网上dp方程没多大问题,但是状态的表示含义模糊。不同于正常哈密顿路径求解,状态表示应当改一下。 首先定义一次移动为从一个点经过若干个点到达另一个点,则$f[S][i]$个人认为应当表示经过若干次移动,每次移动的终点状态记为$1$,由此构成的集合$S$,也 阅读全文
posted @ 2019-09-17 18:00 Ametsuji_akiya 阅读(148) 评论(0) 推荐(0)
摘要:统计$[L,R]$内LIS长度为$k$的数的个数,$Q \le 10000,L,R < 2^{63}-1,k \le 10$。 首先肯定是数位DP。然后考虑怎么做这个dp。如果把$k$记录到状态里没有用。需要找到有效方法统一的表示前面填好的数的特点方便之后的填数。 回顾LIS过程,当前数结尾的LIS 阅读全文
posted @ 2019-09-17 18:00 Ametsuji_akiya 阅读(275) 评论(0) 推荐(0)
摘要:$11*11$格子板上铺$1*2$地砖方案。以前做过?权当复习算了,毕竟以前学都是浅尝辄止的。。常规题,注意两个条件:上一行铺竖着的则这一行同一位一定要铺上竖的,这一行单独铺横的要求枚举集合中出现连续偶数个的1,预处理一下即可。注意数据及时reset。 1 #include<iostream> 2 阅读全文
posted @ 2019-04-15 08:59 Ametsuji_akiya 阅读(168) 评论(0) 推荐(0)