上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页
摘要: 题目链接:https://www.luogu.com.cn/problem/P2704 压两行的状压DP。 预处理:将H为1,P为0;在某个点放炮兵为1,不放为0。很显然只有_&_=1时,是不合法的。 首先枚举(1<<m)-1个状态,只将行上没有冲突的状态记录下来,并记录当前行上炮兵的个数,否则会r 阅读全文
posted @ 2020-03-18 19:10 dfydn 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P2051 说是归在状压DP里面,但其中只有很少的状压思想,并没有什么二进制的东西。 这道题转化一下其实就是要求每一行、列上“炮”的个数不大于2。 设dp[][][]:第一维为行数,第二维为一列上有一个“炮”的列数,第三维为 阅读全文
posted @ 2020-03-14 19:35 dfydn 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P1879 这道题有些神奇。 首先我们把每一行都压缩成一个二进制数,然后我们考虑在某一块土地上是否种草,是否种草则让j从0~maxstate进行枚举。 只有一种情况是不符合题意的:土地为0,而种草为1。那么即(j&f[i]! 阅读全文
posted @ 2020-03-14 18:51 dfydn 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P1896 状压DP,一般都是枚举行,然后枚举每一行的状态(二进制),每一行的最大状态也就是1<<(len)-1,然后重点便是一些二进制的操作。 本题将每一行的方案二进制压成一维。然后只需二进制判断同一行中左右是否冲突,与上 阅读全文
posted @ 2020-03-14 17:56 dfydn 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3208 哎,不开long long 见祖宗...(学会了int魔改long long: #define int long long signed main(){ } 这道题是数位DP+二分,二分原因:随着数的增大,个数也呈递增的形式,所 阅读全文
posted @ 2020-03-13 19:49 dfydn 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 和不要62那道题一样,如果处理有‘49’的不好处理,那么就把不含‘49’的都求出来,然后$x-solve(x)+1$即可。 注意这里的加1:在处理不含‘49’中,数位dp会处理到0的情况,而题目则 阅读全文
posted @ 2020-03-13 19:09 dfydn 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 这道题中‘1’和‘3’相邻很好解决,一个pre即可。但是能被13整除比较难弄。 可以设一个参数cnt记录余数,每次枚举,变成(10*cnt+i),然后%一下13,当pos=0时判断即可。 AC代码 阅读全文
posted @ 2020-03-09 22:21 dfydn 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P4999 和前面几道题的思路差不多。不难发现一个数每个数位上的和最大不过18*9,所以我们可以枚举数位和为1,和为2,和为3...然后看每一个有几个数,那么累计一下(和*个数)即为答案。 注意在mod的时候一些细节(比如减 阅读全文
posted @ 2020-03-09 21:51 dfydn 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P4317 与数字计数像极了,并且更容易一些,只是数据范围大一些,思路是完全一样的,并且前导0并没有影响: 找出二进制下有1个1的有多少数,2个1,3个1.....用&来拆分即可,最后用快速幂进行乘法运算进行一下优化。 AC 阅读全文
posted @ 2020-03-09 21:07 dfydn 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P2657 一道细节比较多的数位DP。 第一个细节:对于有前导零的数字的处理是一个细节。数位DP模板是不能认为它们是windy数的。因为DFS中的pre有问题。那可以把pre在一开始设成一个较小的数,然后在DFS的过程中,如 阅读全文
posted @ 2020-03-09 20:10 dfydn 阅读(126) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 29 下一页