摘要: 题解: 比较水啦。。dp套dp f[i][j][k]表示枚举了前i位,最大公共子序列匹配状态为j,noi匹配到了第k位 因为g[j]和g[j+1]最多差1 所以可以状压成j 然后内层再dp一下搞出下一个j 于是他的名字就叫做dp套dp了 代码: 阅读全文
posted @ 2018-09-19 21:45 尹吴潇 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题解: 首先要证明一个东西 没有重边的图上 次小生成树由任何一颗最小生成树替换一条边 但是我不会证啊啊啊啊啊啊啊 然后就很简单了 枚举每一条边看看能不能变 但有一个特殊情况就是,他和环上的最大值相等,那么我们是不能替代的。。 所以我们不仅要维护最大值,还要维护次大值 阅读全文
posted @ 2018-09-19 20:58 尹吴潇 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题解: 水题 f[i][j] 前i种用了j个,前缀和优化就可以了 阅读全文
posted @ 2018-09-19 20:06 尹吴潇 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题解: 感觉我简直是个傻逼 把题目数据范围看错了。。 然后觉得这题非常的不可做 sigmaai <1e7.... 这题的dp是非常简单的,注意到d很小 f[i][j][k]表示前i个,%d为j,xor值为k的方案数 那么这样我们会发现如果第一个就非常大有点爆炸 sigma(2* max(a[1].. 阅读全文
posted @ 2018-09-19 00:03 尹吴潇 阅读(163) 评论(0) 推荐(0) 编辑