随笔分类 - 做题笔记
摘要:这道题看起来并不是那么好做,看到题解神秘做法,记录下来。 考虑枚举右端点,统计符合条件的左端点数量。 发现 3 这个数字很小,发现区间中的数我们仅仅需要知道它 %3 的值。 我们如果可以记录一个位置前缀中所有值的出现情况就好了,但是明显不现实,整个数据是 \(n^2\) 级别的。 就算我们搞一棵主席
阅读全文
摘要:如果在正常的字符串匹配的基础上,如果我们加入可以有 \(K\) 个地方不一样该怎么做? 有一道这个问题的弱化,这篇文章记录一下这道题:P3763 [TJOI2017] DNA 这到题是允许有 3 个以下地方不一样,但不影响这种问题的思路。 就是正常的二分哈希。 我们记录两个串的哈希,到时候查找区间的
阅读全文
摘要:题意十分甚至有九分的简单,但是这个东西似乎是不好做的,我想不出来任何已知的 log 数据结构维护它。 突然发现这个东西增长是缓慢的,我于是乎写了个程序验证,最后发现答案最多是 1e6 左右的一个数。 果然有的时候观察答案上下界有奇效。 我们发现可以使用差分转化为对于每个点跳多少次。 因为这个跳的值域
阅读全文
摘要:我们观察到移动中 11 这样的结构是一直贴在一起的,而孤立的 1 是随着 11 的移动而移动的,所以我们仅仅需要在乎 0 和 11 的组合情况。 发现任意的 11 和 0 都是可以互换的,所以直接 \(\binom{cnt11+cnt0}{cnt0}\) 代码↓ 点击查看代码 #include <b
阅读全文
摘要:链接:https://sjzezoj.com/contest/428/problem/2449 代码借鉴了 aqz 大蛇,考场上想到差不多的东西,只是最后我没有想出来具体怎么对中间的点进行统计,所以打了性质 A, 拿到了 40 pts。 记录一下我自己的办法怎么转化成正解。 还是一样的建 Krusk
阅读全文
摘要:这一次纯纯的什么想法都没有,只好打了一大堆暴力。 T1 loj 5459 这个很神秘了...... 我们维护一个点最右边 a 不同和 b 不同,\(O(n)\) 不难去做,记录为 \(nxta[i],nxtb[i]\)。 对于每个询问,进行如下的判断。 是否存在,也就是左端点的 \(nxta[l]\
阅读全文
摘要:这次做了一次 abc,d 做出来了,但是比较麻烦,又用正确方法写了一遍,整理一下 d,e,f,g 有一些超纲。 abc408d 考虑把区间 \(l,r\) 最后变成 1,然后尝试去表示这个时候的答案。 \(sum[i]\) 表示 \(i\) 位置以及之前的 1 的总和。 可以很简单列出来↓ \(su
阅读全文
摘要:波兰人太神秘了,竟能出出来如此题目。 题意 给一棵树(读入不太寻常,这个容易处理,忽略不计), 每个叶子节点有一个权值,我们可以选择交换一些节点的左右子树(保证是二叉树,且要么是叶子要么左右子树都存在)。 经过交换后,跑前序遍历,求最小化的逆序对数量。 大小不好说,大概是 1e6 左右。 做法 我们
阅读全文
摘要:题意 \(N\) 牛 \(M\) 关系,按照编号从小到大,牛依次离开,每一头牛离开时它认识的牛会互相认识,求最后新增了多少朋友关系。 \(N,M\le 2\times 10^5\) 解法 我们将操作看成每个点边集合的合并,尝试使用启发式合并解决问题。 但是直接做又发现没有办法搞,因为我们会算重很多,
阅读全文
摘要:作为最强摸鱼人的 BaiBaiShaFeng,这个题解也是发到洛谷上了,希望给过。 先辈们说的太简略了我感觉有点难懂,虽然我的表达能力很弱,估计强不了多少。 注:参考过网上零散题解。 题意很好理解,我们就不过多叙述了。 不看炸掉的机子,我们实际上是在选择一个联通块去覆盖树的一部分,而我们所要求的就是
阅读全文
摘要:波兰人神秘题目。 题意 \(n\) 点的树,初始节点 1 为黑色,其余白色。 两个人在博弈。 B 一开始位于 1 点,进行如下的回合。 首先每轮 A 选择 K 个点,然后 B 选择一个相邻的节点进行移动。 若任意时刻 B 位于白色的节点则 B 获胜。 若 A 将点全染黑 A 胜利。 求最小的 K 使
阅读全文
摘要:题意 要求把一个序列划分成很多段,要求对于每段,最大值是末项,最小值是首项。 求最小划分段数。 解法 我们贪心来思考,若我们要保证一直到 i 是合法的,左端点显然是越往左越好,但是在全局上是并没有这个性质的,所以考虑 dp; 用两个单调栈,严格单调减的 stk1, 严格单调增的 stk2。 设 dp
阅读全文
摘要:关于启发式合并 在我们愉快打暴力的时候,我们会遇到需要合并一些数据的情况。 我们举一个相当简单的例子,我们需要很多次合并一些 vector,这个时候作为人类我们会想从小的里边取放到大的里边。 若我们需要大到小,就先反过来,再利用对应标记呼唤的方式来进行访问。 然而对于 stl 来世 swap 就可以
阅读全文
摘要:只整理 T1, T2. 原题是 「ROI 2012 Day 1」密码 和 「ROI 2012 Day 2」剧院始于演员,可以与 LOJ 提交。 T1 考试的时候忘记 return 0, 导致一口气把所有答案都输出出来了,100->30,再次警示使用 break 的时候一定一定要看清楚能不能达到你想要
阅读全文
摘要:这道题先是浪费我半个下午做,做不出来有时好久看题解实现,气死我了。 题意。 给定一张 \(N\) 点的树,让我们考虑断掉每一条边,统计分裂出的两个子树的重心编号和之和。 要求 \(O(nlogn)\) 或更优的时间复杂度。 做法 这个咋做呢?我们可以在 OIwiki 中发现一些关于树的重心的神秘性质
阅读全文
摘要:一个较为简单的题目,做起来比较舒服。 题目 有 \(N\) 个点 \(M\) 条边。 有 \(Q\) 个询问,每个询问有 \(L,R\)。 询问 \(L\le a \le b \le R\) 最少需要前几条边才能联通。 都是 \(1e5\) 级别。 做法 我们把第 \(i\) 条边的边权设为 \(i
阅读全文
摘要:还记得当时在考场上看到这个题内心是痛苦的,想着骗一骗分,但是我当时根本不知道动态规划是什么,所以没能做出来。 今天重看,发现一个很强的解法,甚至是来自 JY 中学的,这不得不整理一下了。 做法。 采取最简单的状态设计,设 \(dp[i]\) 为考虑到第 \(i\) 位的答案。 我们每一次固然是从上一
阅读全文
摘要:这个东西我自己也不知道怎么精简,所以直接贴原题题面了。 题意 Bessie 位于一个由 \(N\) 个编号为 \(1\dots N\) 的结点以及 \(2N\) 个编号为 \(1\cdots 2N\) 的传送门所组成的网络中。每个传送门连接两个不同的结点 \(u\) 和 \(v\)(\(u≠v\))
阅读全文
摘要:一道很有意思的贪心题,似乎noi导刊上有?记不太清了,反正是做出来了。 题意 有一个桥,一个火把,一堆人。 这对人要过桥,过桥有一些条件。 需要过桥的人有火把 不可同时过两个以上 每次过桥的花费时间是两人中花费最高的那位。 询问最小的过桥花费。 注意,火把是必须有人带回的,这个火把不能凭空传送。 解
阅读全文
摘要:题意 给定一个 \(n\), 构造长度为 \(n\) 的序列,使得和为 0,乘积为 \(n\)。 解答 我们考虑 \(n\) 的性质,发现 \(0\) 是一个偶数,如果序列中没有偶数,作为一对奇数乘积的 \(n\) 自然也会是奇数,奇数个奇数整不出来偶数。 所以肯定是有偶数的。 抓着这一点下手,我们
阅读全文

浙公网安备 33010602011771号