上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 45 下一页
摘要: 后缀自动机总结 ~~鉴于我觉得也没有人会看我这份总结学SAM,所以这里索性就只放一个板子了。~~ 核心代码在这里: 几个需要注意的地方: 1、$N$的大小要开两倍。 2、$last,tot$的初值是$1$。 3、在字符集比较大的时候$tr$转移可以开$map$,空间复杂度更优秀尽管加那么一点点常数。 阅读全文
posted @ 2018-03-27 20:56 租酥雨 阅读(250) 评论(0) 推荐(0) 编辑
摘要: "vjudge" sol 树DP。 首先把模型转换成:每个点可以控制与它距离不超过$w_i$的点,先要求选出数量最少的点控制所有点。 设$f[i][ 100...100]$表示$i$号点向上还可以额外控制距离为$j$的点的选点最少数量。 $j$为负则表示$j$子树中还有$ (j+1)$深度的点没有控 阅读全文
posted @ 2018-03-27 19:34 租酥雨 阅读(391) 评论(1) 推荐(0) 编辑
摘要: "bzoj" "luogu" sol 很显然的两遍树DP吧。 设$f_i$表示只考虑$i$的子树,$i$点没有电的概率。 $$f_i=q_i \prod_{v是i的儿子}f_v+(1 f_v) (1 p_e)$$ 为了方便表示把后面那一坨记为$h_v$,即$h_i=f_i+(1 f_i) (1 p_ 阅读全文
posted @ 2018-03-27 15:42 租酥雨 阅读(239) 评论(0) 推荐(2) 编辑
摘要: "bzoj" "luogu" sol 首先考虑如果没有硬币数量的限制该怎么做。 直接上背包吧。 直接上背包存在的问题就是不知道硬币的使用数量有没有超出限制。 那就容斥一波。 考虑每种硬币,强制其超出限制,也就是强制先使用$d_i+1$个该种硬币,然后剩下队随便选。 时间复杂度是$O(V+q 2^4) 阅读全文
posted @ 2018-03-27 14:11 租酥雨 阅读(174) 评论(0) 推荐(0) 编辑
摘要: "bzoj" "luogu" sol 根据Nim游戏的原理可知若异或和为零则后手必胜,否则先手必胜。 所以题目的要求其实就是:选出一个总和尽量小的集合,使其补集的任意非空子集队异或和都不为零。 转化一下,去掉一个总和尽量小的集合,也就是保留尽量大。 这也就是 "bzoj2460元素" 那个题了。 而 阅读全文
posted @ 2018-03-27 14:04 租酥雨 阅读(189) 评论(0) 推荐(0) 编辑
摘要: [bzoj][1] [luogu][2] 题意:给你一段01序列,要求支持如下操作:(下面把正常脑区域视为0,脑洞视为1) 1、把一段区间全部改成1. 2、把一段区间全部的0挖出来(然后这个区间也就全部变成了1),把这些0放到另一个区间上的1位置,原本的0位置不需要再放,如果0不够就优先放前面。 3 阅读全文
posted @ 2018-03-25 22:25 租酥雨 阅读(240) 评论(0) 推荐(0) 编辑
摘要: "bzoj" Description 在Bytemountains有$N$座山峰,每座山峰有他的高度$h_i$。有些山峰之间有双向道路相连,共$M$条路径,每条路径有一个困难值,这个值越大表示越难走,现在有$Q$组询问,每组询问询问从点$v$开始只经过困难值小于等于$x$的路径所能到达的山峰中第$k 阅读全文
posted @ 2018-03-23 15:30 租酥雨 阅读(393) 评论(0) 推荐(0) 编辑
摘要: [bzoj][1] [luogu][2] sol 最小割树 请转[一道很相似~~完全一模一样~~的题][3] 所以跑出所有点对之间的最小割然后暴力统计答案即可。 code cpp include include include include using namespace std; int gi( 阅读全文
posted @ 2018-03-20 23:03 租酥雨 阅读(178) 评论(0) 推荐(0) 编辑
摘要: [bzoj][1] [luogu][2] sol 每对点对之间跑一遍最小割?naive了吧。 我们考虑任选两个点做一个最小割,那么这个最小割就会把原图分成两个点集。设这个最小割的权值为$val$,那么分处于两个点集的点对之间的最小割一定 不大于 $val$。 然后对于两个点集分别递归处理,每次在当前 阅读全文
posted @ 2018-03-20 23:00 租酥雨 阅读(218) 评论(0) 推荐(0) 编辑
摘要: [bzoj][1] [luogu][2] sol 假设不要求字典序最小,只求代价之和最小,那应该还是很好求的吧。 先对原序列求出一个$LIS$的$dp$数组,然后每个位置拆成两个点,所有$X_i$向$Y_i$连$B_i$的边,然后$S$向$X_i(dp_i=1)$,$Y_i(dp_i=LIS)$向$ 阅读全文
posted @ 2018-03-20 22:37 租酥雨 阅读(407) 评论(6) 推荐(2) 编辑
上一页 1 ··· 23 24 25 26 27 28 29 30 31 ··· 45 下一页