摘要:
还有这种操作??????直接用pre到now转移的方式构造一个矩阵就好了。二进制长度为m,就构造一个长度为1 #include#include#define REP(i, a, b) for(int i = (a); i 4) return; if(l == 4) ... 阅读全文
posted @ 2018-09-24 17:03
Sugewud
阅读(169)
评论(0)
推荐(0)
摘要:
本来直接一波状压dpAC的#include#include#include#define REP(i, a, b) for(int i = (a); i m) return; if(l == m) { path[p][0] = pre; path[p++][1]... 阅读全文
posted @ 2018-09-24 16:44
Sugewud
阅读(170)
评论(0)
推荐(0)
摘要:
这道题的解析这个博客写得很好https://blog.csdn.net/shiwei408/article/details/8821853大致意思就是我们可以只处理两行之间的关系,然后通过这两个关系推出所有行(有点像矩阵快速幂的思想)几个要注意的地方(1)第0行为全1... 阅读全文
posted @ 2018-09-24 16:12
Sugewud
阅读(180)
评论(0)
推荐(0)
摘要:
上来直接一波敲键盘,直接套Tsp问题的代码然后WA发现貌似这道题没有连续性。Tsp问题是一条路径,一个点到另一个点,多了一个限制,所以就需要加多一维而这道题没有限制,也就是说那一维不需要加,我加了还WA然后要搞清楚状态,在纸上可以写,写清楚了再敲代码这道题一开始都是存... 阅读全文
posted @ 2018-09-24 14:54
Sugewud
阅读(134)
评论(0)
推荐(0)
摘要:
这道题千辛万苦啊!这道题要涉及到当前点和前面两个点,那就设dp[state][i][j]为当前状态为state,当前点为i,前一个点为j这个状态表示和之前做炮兵那题很像,就是涉及到三个点时,就多设一维表示前一个点(炮兵那题把点换成行)这道题有很多细节需要注意(1)计算... 阅读全文
posted @ 2018-09-24 12:24
Sugewud
阅读(121)
评论(0)
推荐(0)
摘要:
(1)这道题最多可以走两次,所以有0, 1, 2三种状态,所以我们要用三进制如果要用三进制,就要自己初始化两个数组, 一个是3的n次方,一个是三进制数的第几位的数字是什么void init(){ three[0] = 1; REP(i, 1, 11) three[i... 阅读全文
posted @ 2018-09-24 10:44
Sugewud
阅读(129)
评论(0)
推荐(0)
摘要:
在平时写程序中,那些下标加1减1问题我总是纠结很久,现在总结一下(1)对称问题下标从0开始,是#include#define REP(i, a, b) for(int i = (a); i #define REP(i, a, b) for(int i = (a); i... 阅读全文
posted @ 2018-09-24 09:19
Sugewud
阅读(329)
评论(0)
推荐(0)

浙公网安备 33010602011771号