摘要:Description Solution 这个题和点没什么关系 , 之和边与边之间关系有关 , 我们就把边看作点 , 边权就是 $lcp$ , 点权看作这条边本来的权值. 现在考虑两两连边 , $lcp$ 就是两个点在 $trie$ 树上的 $lca$ 的深度. 这样连边是 $O(m^2)$ 的 , 阅读全文
posted @ 2018-08-04 19:41 PIPIBoss 阅读(215) 评论(0) 推荐(0) 编辑
摘要:Description 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci。请删除若 干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案。 如果有多种方案,请输出将删去项的附加属性排序之后,字典序最小的一种。 Solution 首先可以建图求出最小的代价和 . 由于 阅读全文
posted @ 2018-08-04 19:41 PIPIBoss 阅读(61) 评论(0) 推荐(0) 编辑
摘要:Description 话说Nan在海边等人,预计还要等上M分钟。为了打发时间,他玩起了石子。Nan搬来了N堆石子,编号为1到N,每堆 包含Ai颗石子。每1分钟,Nan会在编号在[Li,Ri]之间的石堆中挑出任意Ki颗扔向大海(好疼的玩法),如果[Li,R i]剩下石子不够Ki颗,则取尽量地多。为了 阅读全文
posted @ 2018-08-04 19:40 PIPIBoss 阅读(71) 评论(0) 推荐(0) 编辑
摘要:Description 给出一个长度为 $n$ 的数组 $a$ 和长度为 $m$ 的数组 $b$ ,求 $a$ 中有多少个长度为 $m$ 的连续子序列能够和 $b$ 构成完美匹配 , $a_i$ 和 $b_j$ 能够匹配的条件是 $a_i+b_j =h$ Solution 运用 $Hall$ 定理 阅读全文
posted @ 2018-08-04 19:40 PIPIBoss 阅读(155) 评论(0) 推荐(0) 编辑
摘要:Description Solution 边分治+边分树合并 这个题很多做法都是启发式合并的复杂度的,都有点卡 以前有个套路叫做线段树合并优化启发式合并,消掉一个 $log$ 这个题思路类似,建出边分树,通过一些操作把它变成线段树,就可以线段树合并了 首先边分树的相关定理: 如果一棵包含 $N$ 个 阅读全文
posted @ 2018-08-04 19:40 PIPIBoss 阅读(386) 评论(0) 推荐(0) 编辑
摘要:Description 小M有两个本质不同的栈。 无聊的小M找来了n个玩具。之后小M把这n个玩具随机顺序加入某一个栈或把他们弹出。 现在小M告诉你每个玩具的入栈和出栈时间,现在她想考考小S,有多少种方案,把每个玩具分配给两个栈之一,并且存在一种满足小M告诉你的入栈和出栈时间的入栈序列。 可怜的小S当 阅读全文
posted @ 2018-08-04 19:39 PIPIBoss 阅读(191) 评论(0) 推荐(0) 编辑
摘要:Description 小S和小M去看花火大会。 一共有 n 个人按顺序排成一排,每个人手上有一个仅能被点燃一次的烟花。最开始时第 K 个人手上的烟花是点燃的。 烟花最多能燃烧 T 时间。每当两个人的位置重叠且其中一个人手上的烟花是点燃的时,另一个人手上的烟花可以被点燃。 现在小M想要知道,每个人至 阅读全文
posted @ 2018-08-04 19:39 PIPIBoss 阅读(192) 评论(0) 推荐(0) 编辑
摘要:Description Solution 链的情况是 $O(n+log)$ 的,要分开讨论 由于链的情况已知的点一定是一段连续的,维护两个端点不断往两边扩展即可 树的情况是 $O(n log)$ 的 要支持快速查找到一个点所在的位置,我们可以用点分治做一下,找到这个点属于哪一个儿子所在的块,递归找下 阅读全文
posted @ 2018-08-04 19:39 PIPIBoss 阅读(53) 评论(0) 推荐(0) 编辑
摘要:Description Solution 我们可以给每一个数钦定一个权值 , 这样就可以 $O(1)$ 比较大小了. 考虑怎么确定权值: 用平衡树来维护 , 我们假设根节点管辖 $[1,2^{60}]$ 的数 , 根节点的右儿子都比根节点权值大 , 左儿子权值都都比根节点小 左儿子管辖 $[1,2^ 阅读全文
posted @ 2018-08-04 19:38 PIPIBoss 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Description 你需要构造一个长度为 $n$ 的排列 , 使得一个数作为前缀最大值的次数为 $A$ , 作为后缀最大值的次数为 $B$ , 求满足要求的排列个数 . "题面" Solution 同 $FJOI$ 建筑师 . 从 $n$ 到 $1$ 依次加入 , 对于 $n$ ,对 $A,B$ 阅读全文
posted @ 2018-08-04 19:38 PIPIBoss 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Description .jpg) Solution 由于回文串要不连续 , 我们可以用总方案 连续的方案 , 而连续的方案就是回文串的个数 , 可以用 $manacher$ 求出 . 对于总方案 , 我们枚举一个回文中心 , 要么是空隙 , 要么是一个位置 . 设以这个点对称的相等字符对有 $k$ 阅读全文
posted @ 2018-08-04 19:36 PIPIBoss 阅读(64) 评论(0) 推荐(0) 编辑
摘要:Descripiton Solution 有一个比较显然的子集 $DP$ 设 $f[s]$ 表示集合状态为 $s$ 的所有划分方案的满意度之和 $f[s]=\sum_{t∈s}f[t] g[s⊕t]$ 其中 $g[s]$ 为集合 $s$ 的人口数之和 . 这个东西用 $FMT$ 求一下就行了. 由于 阅读全文
posted @ 2018-08-04 19:36 PIPIBoss 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Description 有 $n$ 个人 , $m$ 对人有冲突 , 你要从这 $n$ 个人中选出三个人成为一组 , 使得同一组的人不存在一对有冲突 "题面" Solution 容斥 答案=总方案 至少有一个与 $i$ 相连的+至少有 $2$ 个与 $i$ 相连的 $i,j,k$ 都互相连接的方案数 阅读全文
posted @ 2018-08-04 19:35 PIPIBoss 阅读(190) 评论(0) 推荐(0) 编辑
摘要:Description 支持以下操作 1.access一个点 2.问一个点上面的重链的个数 3.换根 , 并access原来的根 Solution 对于重链个数 , 我们在 $access$ 的时候对一个点的子树进行修改 . 换根的话 , 直接 $ mroot $就好了 , 注意要先 $mroot$ 阅读全文
posted @ 2018-08-04 19:35 PIPIBoss 阅读(142) 评论(0) 推荐(0) 编辑
摘要:Description 在平面直角坐标系中给定N个圆。已知这些圆两两没有交点,即两圆的关系只存在相离和包含。求这些圆的异或面 积并。异或面积并为:当一片区域在奇数个圆内则计算其面积,当一片区域在偶数个圆内则不考虑。 Solution 我们可以把异或当作容斥的一个过程....现在要确定每一个圆的系数. 阅读全文
posted @ 2018-08-04 19:34 PIPIBoss 阅读(90) 评论(0) 推荐(0) 编辑
摘要:基本定义 $Hall$ 定理是二分图匹配的相关定理 用于判断二分图是否存在完美匹配 存在完美匹配的二分图即满足最大匹配数为 $min(|X|,|Y|)$ 的二分图,也就是至少有一边的点全部被匹配到了 定理 设 $M(U)$ 为与 $U$ 中的点相连的点集,一个二分图 $U,V(|U|=|X|$ 必要 阅读全文
posted @ 2018-08-04 19:34 PIPIBoss 阅读(1634) 评论(0) 推荐(0) 编辑
摘要:Description Solution $Min25$ 筛. 要求出 $(1+p_1⊕c_1) (1+p_2⊕c_2) .... (1+p_m⊕c_m)$ . 我们可以枚举最小质因子 $p$ , 那么就要求剩下选的数都不含小于 $p$ 的质因子 , 也就是 $p$ 作为最小质因子 . 设 $S(n 阅读全文
posted @ 2018-08-04 19:32 PIPIBoss 阅读(330) 评论(0) 推荐(0) 编辑
摘要:Description 给定 $\sum_{i=l}^r f[i]$ $f[i]=$ 把 $i$ 的每一个质因子都从小到大排列成一个序列($p_i^{c_i}$要出现 $c_i$ 次)后 , 第二大的质因子. "题面" Solution 符合 $Min25$ 筛的处理顺序. 递归处理每个质因子作为次 阅读全文
posted @ 2018-08-04 19:32 PIPIBoss 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Description 给出矩阵 $n n$ 的 矩阵$A$ , 求 $A^1+A^2+A^3...+A^k$ Solution 首先我们设 $S_n=\sum_{i=1}^{n}A^i$ 容易得到结论 : $S_{a+b}=S_{a} A_{b}+S_{b}$ 于是我们可以把 $k$ 二进制分解 阅读全文
posted @ 2018-08-04 19:31 PIPIBoss 阅读(55) 评论(0) 推荐(0) 编辑
摘要:Description 有一棵树,现在要给每个节点赋一个在1到D之间的权值,问有多少种方案满足任意一个节点的权值都不大于其父亲的权值。 n using namespace std; const int N=3010,mod=1e9+7; int n,m,head[N],to[N 2],nxt[N 2 阅读全文
posted @ 2018-08-04 19:31 PIPIBoss 阅读(107) 评论(0) 推荐(0) 编辑