
【状压dp】
VanishD
気付かないうちにオトナになって,绮丽な嘘 口に出来るほど。
展开
-
[bzoj4851][Jsoi2016]位运算【矩阵乘法】【状压dp】
【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=4851 【题解】 题目中说选的数两两都不相同,那么我们状压记是否满足了不同的限制,并且规定前一个比后一个大。再开一位记最前面的一个是否小于SSS。转移时,2n2n2^n枚举这一位填什么。然后判断是否合法。我们的目标是求出对于每一种开始的状态,在|S||S||S|步后到每种...原创 2018-04-14 20:17:16 · 795 阅读 · 0 评论 -
[bzoj1097][POI2007]旅游景点atr【最短路】【状压dp】
【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1097 【题解】 首先预处理出前k+1个点到每个点的最短路。 然后状压dp。记f[i][j]f[i][j]f[i][j]表示当前停留在i,需要停留的点的状态为j,转移就枚举下一个停留点是哪里。 时间复杂度:O(K∗kM+2K∗K)O(K∗kM+2K∗K)O(K...原创 2018-04-02 21:44:45 · 296 阅读 · 0 评论 -
[bzoj5336][loj2575][TJOI2018]party【状压dp】
【题目链接】 https://loj.ac/problem/2575 【题解】 考虑状压最长公共子序列dp数组的一行(K个)。显然这个数组是单调增的,那么就可以用k个0/1位表示。再预处理出转移,就可以dp了。 时间复杂度O(N∗2K∗3∗3)O(N∗2K∗3∗3)O(N*2^K*3*3) 【代码】# include <bits/stdc++.h># def...原创 2018-06-12 13:55:53 · 315 阅读 · 0 评论