上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/Balanced-Binary-Tree.html 注意是简单教程,不是入门教程。 splay 1. 旋转: 假设点 y 原是点 x 的 father,旋转操作可以在不改变中序遍历的基础上,将 y 变成 x 的儿子 阅读全文
posted @ 2019-03-03 22:38 zzd233 阅读(606) 评论(0) 推荐(1) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ55.html 题解 做法还是挺容易想到的。 但是写的话…… 首先这种题如果只要求一棵树中的满足条件的点数(不需要在加点的同时维护答案),那么显然可以点分治: 假设当前点分中心为 x,设点 y 与 x 的距离 阅读全文
posted @ 2019-03-03 22:33 zzd233 阅读(416) 评论(2) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF461D.html 题解 首先我们可以发现如果确定了第一行,那么方案就唯一了。 然后,我们来看看一个点的值确定了会导致什么: 假设我们确定了红色点的值,那么所有包含橙色的格子xor起来就等于红色格子的值,绿色蓝 阅读全文
posted @ 2019-03-02 15:01 zzd233 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF840C.html 题解 首先,我们可以发现,如果把每一个数的平方因子都除掉,那么剩下的数,不相等的数都可以相邻,相等的数都不能相邻。 也就是说我们把所有数分成了一些集合,同一个集合内的元素不能相邻,不同集合之 阅读全文
posted @ 2019-03-02 11:21 zzd233 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/LuoguP4482.html 题意 给定一个字符串 S,有 q 次询问,每次给定两个数 L,R ,求 S[L...R] 的最长前后缀。 $$q,|S|\leq 2 \times 10 ^ 5$$ 题解 真是一道有 阅读全文
posted @ 2019-03-02 09:00 zzd233 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ395.html 题解 记得同步赛的时候这题我爆0了,最暴力的暴力都没调出来。 首先我们看看 68 分怎么做 ——求两个串的本质不同的公共子串个数。 它是一个模板题,然而我当时并不会,甚至连SAM都忘了怎么写 阅读全文
posted @ 2019-02-27 23:08 zzd233 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF700E.html 题解 首先建个SAM。 一个结论:对于parent树上任意一个点x,以及它所代表的子树内任意一个点y,设节点y代表的最长串为S,设节点x代表的串为T1,T2,T3,...,设 F(S,T) 阅读全文
posted @ 2019-02-27 19:18 zzd233 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1222.html 题意 给定 $a,b$, 求 $$\sum_{n=a}^b \sum_{i=1}^n \sum_{j=1}^i [{\rm lcm } (i,j) = n]$$ $$a,b\leq 1 阅读全文
posted @ 2019-02-26 22:08 zzd233 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/Min-25.html 前置技能 埃氏筛法 整除分块(这里有提到) 本文概要 1. 问题模型 2. Min_25 筛 3. 模板题以及模板代码 问题模型 有一个积性函数 $f$ ,对于所有质数 $p$,$f(p)$ 阅读全文
posted @ 2019-02-26 20:51 zzd233 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ172.html 题解 首先,这个问题显然是个背包问题。 然后,可以证明:一个字符串的 border 长度可以划分成 $O(log |S|)$ 个等差数列。 (以下图片摘自 金策 - 《字符串算法选讲》) 由 阅读全文
posted @ 2019-02-25 20:52 zzd233 阅读(499) 评论(0) 推荐(3) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF715B.html 题解 接下来说的“边”都指代“边权未知的边”。 将所有边都设为 L+1,如果dis(S,T) < L ,那么必然无解。 将所有边都设为 1 ,如果 dis(S,T) > L ,那么必然无解。 阅读全文
posted @ 2019-02-22 23:01 zzd233 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ407.html 题解 套路啊。 先按照两个节点顺序各搞一个kruskal重构树,然后问题转化成两棵kruskal重构树,不断询问,每次询问让你判断是否有点同时存在于 第一棵树的一个子树 和 第二棵树的一个子 阅读全文
posted @ 2019-02-22 21:20 zzd233 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ218.html 题解 如果我们可以知道每次弹出栈之后新的栈顶是什么,那么我们就可以在一棵区间覆盖、区间求和的线段树上完成这个问题。 于是本题的重点转到了如何求新的栈顶。 考虑用一个主席树维护一下每一个时刻每 阅读全文
posted @ 2019-02-22 20:44 zzd233 阅读(298) 评论(0) 推荐(0) 编辑
摘要: $$\huge{\color{red}{4K码量构造题,CF血腥残暴!}}$$ 阅读全文
posted @ 2019-02-22 09:50 zzd233 阅读(456) 评论(0) 推荐(1) 编辑
摘要: $$\huge{\color{red}{近5K码量构造题,CF血腥残暴!}}$$ 阅读全文
posted @ 2019-02-21 23:02 zzd233 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/Pop-Star.html 很久以前VB写的。 年代久远,代码太丑,源码不公开。 下载链接 仅支持Windows,需要解压后放在不受保护的硬盘分区内运行。 截图预览 阅读全文
posted @ 2019-02-21 21:35 zzd233 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM704-800.html 题解 考虑构造一个 $n = 20$ 的图。 先把所有 $i$ 都连向 $i-1$ ,对于所有 $i,j(1\leq i<j<n)$,加边 $i->j$。 设 $f(i)$ 表示从点 阅读全文
posted @ 2019-02-21 19:10 zzd233 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF1109E.html 题意 给定一个长度为 n 的数列 a,以及一个模数 M(不一定是质数)。 要求支持 q 次以下操作: 区间乘 单点除(保证能够整除) 区间求和,最终结果对 M 取模输出。 $$n,q\le 阅读全文
posted @ 2019-02-21 16:44 zzd233 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF1109D.html 题意 所有边权都是 [1,m] 中的整数的所有 n 个点的树中,点 a 到点 b 的距离恰好是 m 的有几个。 $$n,m\leq 10^6$$ 题解 首先显然 a 和 b 的具体值是没用 阅读全文
posted @ 2019-02-21 16:31 zzd233 阅读(625) 评论(4) 推荐(1) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF1097E.html 题解 首先我们求出 $k = f(n) = \max\{x|\frac{x(x+1)}2\leq n\}$ 。 具体构造方案是:(以 $n = 15$ 为例) 11 12 13 14 15 阅读全文
posted @ 2019-02-20 22:59 zzd233 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ42.html 题解 首先我们把式子改写一下: $$(-1)^{\lfloor a\rfloor} \\=1-2(\lfloor a\rfloor \bmod 2)\\=1-2(\lfloor a\rfloo 阅读全文
posted @ 2019-02-20 20:59 zzd233 阅读(301) 评论(1) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ276.html 题解 首先,读入的时候就将所有的 $w_i$ 减掉 $k$ 。 于是我们要求的就是平均值最接近 0 的。 直接点分治,然后得到一些一端为当前点分中心的路径,设 $a,b$ 为其中两条路径,设 阅读全文
posted @ 2019-02-20 16:38 zzd233 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ110.html 题解 我们发现n=2000 的子任务保证A=1! 分两种情况讨论: $n\leq 100$: 贪心地从高位到低位逐位考虑,看当前位是否可以放 0。用 $dp[i][j]$ 表示前 $i$ 个 阅读全文
posted @ 2019-02-20 16:33 zzd233 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ185.html 题解 首先暴力DP是 $O(3^nn^3)$ 的,大家都会。 我们换个方向考虑。 假设我们求的是树上每一个节点到图上的节点的映射,而且图上的一个点可以被树上多个点映射到,那么就是求图上所有点 阅读全文
posted @ 2019-02-20 14:57 zzd233 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/AGC027C.html 题解 首先我们假装 max mod min = 1 然后对着这个构造。 将各自黑白染色,将所有黑色格子都放不同的质数,白色格子的数为他周围的黑格子的LCM + 1,这样显然是合法的。 但是 阅读全文
posted @ 2019-02-18 21:45 zzd233 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ201.html 题解 首先把题目里面的提示抄过来: 结论:假设带权无向图 G 有 100 个节点 1000 条边,且所有权值各不相同。那么,G 中一定存在一个单调上升路径,它的长度大于等于 20。 证明:假 阅读全文
posted @ 2019-02-18 20:55 zzd233 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/AGC030C.html 题解 才发现当时是被题意杀了。 当时理解的题意是“对于任意的 (i,j) ,颜色 i 和 颜色 j 的相邻格子对数相同”。好像当时看了样例都没有发现被题意杀…… 回归正题。 如果要构造 n 阅读全文
posted @ 2019-02-17 20:10 zzd233 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ460.html 题解 本题的构造方法很多。这里只介绍一种。 首先,总边数为 $\frac{n(n-1)}2$,每一棵树需要 $n-1$ 条边,所以答案最多是 $\lfloor \frac n 2 \rflo 阅读全文
posted @ 2019-02-17 19:47 zzd233 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF1098B.html 题解 首先,我们来证明一个结论: 合法的矩阵要么满足每列只有两种字符,要么满足每行只有两种字符。 然后直接枚举就好了。 代码并不是那么好写。 代码 阅读全文
posted @ 2019-02-17 19:27 zzd233 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ36.html 题解 按照 $k$ 分类讨论: k=1 : 我们考虑每一位的贡献。若有至少一个数第 $i$ 位为 $1$ ,则对答案的贡献为 $2^i/2$ 。 k=2 : 发现每个异或和的平方为 $\sum 阅读全文
posted @ 2019-02-08 16:48 zzd233 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ314.html 题解 如果只加不减,那么瞎势能分析一波可以知道暴力模拟的复杂度是对的。 但是有减法怎么办??? 再搞一个类似的,维护减了多少。 那么,询问一个数位的值的时候,我们只需要得到两部分值中这一位的 阅读全文
posted @ 2019-02-08 16:45 zzd233 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ195.html 题解 首先询问都可以放到最后处理。 对于操作,我们把它差分一下离线下来。 现在的问题就是从第一棵树到第 n 棵树扫一遍,并不断维护树的形态。 容易感受到这棵树会有删节点之类的操作,所以自然想 阅读全文
posted @ 2019-02-08 16:34 zzd233 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/CF1110D.html 题意 给定 n 个数,每一个数都是在 [1,m] 里的整数。 从中取出形如 {x,x,x} 或者 {x-1,x,x+1} 的集合,各个集合不能相交,问最多能取出几个。 $n,m\leq 1 阅读全文
posted @ 2019-02-08 12:52 zzd233 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ347.html 题意 有三棵树,边有边权。 对于所有点对 (x,y) 求在三棵树上 x 到 y 的距离之和 的最大值。 点数 <=100000 题解 我自闭了。 在此之前,我没写过边分治,只写过一次虚树。 阅读全文
posted @ 2019-02-02 14:58 zzd233 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/IOI2018Day1T1.html 题解 首先二分一下,花费2次操作求出第一位的字符。 假设第一个字符是 Y,答案字符串的长度为 i-1 的前缀是 S,我们考虑如何只花费1次询问得到下一个字符。 press(SA 阅读全文
posted @ 2019-01-26 21:46 zzd233 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500 250.html SRM500 Div1 250 题意 (看题用了半个小时……) 有 n 个人(编号从 0 到 n 1)玩游戏,要通过投票的方式确定谁输。现在已知有一些人有明确的意见,认为谁输。具体地 阅读全文
posted @ 2019-01-24 21:59 zzd233 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500 500.html SRM500 Div1 500 没想到 double 的精度居然没有爆…… 考虑以一个点为根的分形所涉及的区域是可以用一个矩形表示的。例如整个分形的区域就是 $x\in [ 27,2 阅读全文
posted @ 2019-01-24 21:57 zzd233 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM500 1000.html SRM500 Div1 1000 设 $v_1,v_2,\cdots ,v_9$ 分别为一个数中 $1 9$ 的出现次数。 那么可以列出如下方程组: $$ \begin{eqnar 阅读全文
posted @ 2019-01-24 21:55 zzd233 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502 500.html SRM502 Div1 500 好题。 首先,如果已经确定了解决所有问题的优先级,只需要对于每一个问题是否被解决做出决策,那么显然直接 01 背包就好了。 事实上,我们是可以贪心地确 阅读全文
posted @ 2019-01-24 21:52 zzd233 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502 1000.html SRM502 Div1 1000 题意 从 [0,n 1] 中选择 k 个不同的整数,使得他们的和是 n 的倍数,求方案数。对 $10^9+7$ 取模。 $n\leq 10^9,k 阅读全文
posted @ 2019-01-24 21:49 zzd233 阅读(377) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 ··· 15 下一页