A - Split it!检查 \(k=0\) 或者长 \(k\) 的前缀和长 \(k\) 的后缀的反串是否相同。注意如果 \(2k=n\) 要特判。复杂度 \(O(n+k)\)。B - Max and Mex模拟一下过程就会发现:要么 \(\max\) 和 \(\operatorname{max}\) 永远不会变,要么就会一直加 \(1\)。所以答案只有可能是 \(n,n+1,n+k\) 中的一
转载
2021-03-11 08:31:03
263阅读
2评论
赛时通过 ABCD A 枚举上下边界,从左到右扫描右端点维护左端点答案,显然推进一格右端点对所有左端点的影响是一样的。 代码:Submission #133205897 - Codeforces B 笛卡尔树 dp 。复杂度是 \(O(n^5)\) 。稍微剪点枝,用一些满二叉树叶子个数的限制之类的东 ...
转载
2021-10-27 16:26:00
64阅读
2评论
## BJOI2019 ## SDOI2019 ### SDOI2019世界地图 标签:虚树 ,MST 这题不太好做. 首先,可以预处理出由 $1$ ~ $i$ 列构成的最小生成树. 预处理的时候我们发现要将 $i$ 这一列连到 $1$ ~ $i-1$ 的虚树中. 而 $i$ 与 $i-1$ 只有
原创
2022-05-25 11:05:08
10000+阅读
传送门 和入阵曲那题很像 这里 \(n\) 很小,可以直接 \(n^2\) 压成一维考虑 然后就是对每个 \(j\) 查询 \([j-r, j-l]\) 中数的个数 这里我是用树状数组求的,带个log,被卡成了80pts 发现随着 \(j\) 单增, \(j-r, j-l\) 单调不减 所以可以双指 ...
转载
2021-08-14 06:16:00
109阅读
2评论
简单844. 比较含退格的字符串(栈)925. 长按键入 (字符串比较)普通143. 重排链表(转化成线性表)困难
原创
2021-08-31 13:41:36
204阅读
这是一道OJ上的题目:小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰(过生日送玫瑰,老贺不懂合适不合适)5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少? 样例输入:135 样例输出:33 不少同学做不出来。今天一位同学问我,那就分析一下。 其中看不懂这个规则的同学不少,快找人需要送花的人,享受一下购物优惠吧。 以样例说事,33枝是怎么来的?
原创
2021-05-26 11:38:15
236阅读
本文将同步发布于: 洛谷博客; csdn; 博客园; 简书。 题目 题意简述 随机生成一百组数据,每次给定两个组合数 \(\binom{w}{x},\binom{y}{z}\),判定其是否大/小/相等关系。 四个参数 \(\leq 10^9\)。 题解 乱搞大法好 考虑到部分分的提示作用,我们不难想 ...
转载
2021-07-14 14:58:00
59阅读
2评论
概率期望DP,其DP性质发现于随n的递变,问题空间呈规律性变化 通常情况下,期望问题有两种基本解决思路:1.计算出总贡献除以总情况数 2.计算出子问题概率,利用定义,再乘以子问题对应贡献即可 首先想到思路一,设计f[i][j]表示进行到第i轮,子树最大深度为j的情况数 考虑如何转移,想到的是将第i次 ...
转载
2021-07-20 12:09:00
102阅读
2评论
可恶,竟然连题目都无法正确拼出 可以用四个变量来表示左上左下右上右下的最大数(附加以绝对值化简 由于如果非法会数值偏小直接忽略所以不用管,把每一段$a$数组相等的先查找再修改即可。 Code #include<cstring> #include<cstdio> #include<iostream> ...
转载
2021-07-12 20:29:00
33阅读
2评论
传送门 考场上只会$O(2^)$的大力状压…… 其实跟状压的例题几乎一模一样…………但还是没看出来 关键特征:每个按钮向上,下只能影响一层 也就是说一个格子只能被它上面一层/本层/下面一层点亮 而且最终每个格子都要被点亮 直接按层状压就好了,几乎就是例题的样子 至于正解复杂度,有个很显然的上界是$O ...
转载
2021-07-27 06:06:00
42阅读
传送门 如果不想让next_permutation()自动忽略重复元素,可以在比较函数里加个rk之类的东西使它们不同(next_permutation()不用等于号) 关于第一问:貌似也是一个挺常见的思路 题目要求满足「在位置$i$之前比$val[i]$大的数严格小于$k[i]$个的序列」的个数 考 ...
转载
2021-07-26 21:00:00
34阅读
传送门 首先枚举最大值,两边分别求逆序对的做法是错误的,这里是来自战神的hack数据 1 2 100 99 98 3 97 96 95 94 93 92 91 显然3应该跨过最大值到左边去,所以这个做法就没有正确性了 然后正解: 发现最小值一定会被移到最边上,而且因为它最小,就不会再有数跨过它移动 ...
转载
2021-08-06 08:20:00
44阅读
2评论
传送门 一看这题subtasks就觉得最后能直接推个柿子出来……然而没推出来 首先状压的部分分:发现只需要统计猎人1还没死的状态的贡献,其它情况可以continue掉,有45pts 至于正解……发现我们要求的实际上就是期望有多少个猎人死在猎人1之前 发现每个猎人的死活之间相互独立,所以可以拆成每个猎 ...
转载
2021-08-08 16:10:00
74阅读
2评论
传送门 真相是我这场真的爆零了…… 考场上想了以每个「预言家」(我也没玩过狼人杀)为结尾切出来几个连通块 但觉得还是挺不可做的就没往下想 其实正解就是这样,因为每个「预言家」的话真假一旦确定,这个连通块说真话的人数就确定了 所以可以把这些预处理出来 然后枚举说真话的人数check 其实就是把说假话的 ...
转载
2021-08-12 20:29:00
134阅读
2评论
传送门 这题我有一部分水了还有不明白的地方……建议再问问 首先这题显然是DP,问题在于如何做DP 发现 \(c\) 的序列未知,完全不可转移,那尝试只用 \(a\) 和 \(b\) 建立状态 这样的话我们需要一些形如「当 \(a\) 和 \(b\) 已经×××,则 \(c\) 一定×××」的结论 那 ...
转载
2021-08-15 06:36:00
108阅读
2评论
传送门 考场上想分情况讨论+记忆化搜索,但情况有点多讨论不起 发现蛇的走法一定是这样(题解): 往回走 \(a\) 步(\(a\) 可以为 0),走到另一行,再向前走 \(a\) 步 上下扭动着往前走 向前走 \(b\) 步(\(b\) 可以为 0),走到另一行,再往回走 \(b\) 步 用hash ...
转载
2021-08-23 06:19:00
60阅读
2评论
传送门 先考虑 \(n=1\) 的情况 此时 \(k \in [\lceil \frac{a}{2} \rceil, a]\) 都合法 尝试推广到 \(n=2\) 令 \(a<b\) ,首先发现可行的 \(k\) 的上界是 \(a+b\) ,可以用这个数减去不合法的 然后不合法区间就是 \([1, ...
转载
2021-08-23 06:13:00
82阅读
2评论
传送门 只会爆搜系列 关于「本质不同的子序列个数」:限定长度,无限制(就是这题) 无限制的柿子是(令 \(dp[i]\) 为以 \(i\) 为结尾的不同子序列个数) \(dp[i] = \sum dp[j]+1\),代表在所有子序列末尾后面接上这个字母,且它自身也是一个子序列 然后这题还可以填上 \ ...
转载
2021-08-25 07:20:00
56阅读
2评论
传送门 差了一点没想到正解…… 首先单次询问的 \(O(n)\) 写法很好想,考虑如何优化 首先基础分区间求和即可 然后那个连击分的话,是一个关于 \(f_i\) 和 \(f_{i-1}\) 的柿子 \(f_i = p*(f_{i-1}+1)+(1-p)*f_{i-1}*t\) 移个项 \(f_i ...
转载
2021-08-25 07:14:00
14阅读
2评论
传送门 柿子人畜无害,但有个地方误导性极强 给定一棵树,每条边有一个边权,要带修查询一个点与其子树外的所有点间的距离和 这个东西没有时间可以接受的解法! 这个东西不但有时间可以接受的解法,而且有多种 感谢评论区里战神下凡指导 Yubai哥哥说线段树减等差数列也能做,但是我学不会 考场上就死这了……觉 ...
转载
2021-08-27 20:50:00
29阅读
2评论