摘要:
题解 点分治,然后每个点上挂着一个距离不超过$a_{i}$的颜色改成$c$ 用一个单调栈维护距离单调递减,每次查询在每个包括这个点的分治中心的单调栈上二分,找到修改最靠前的颜色作为这个点的颜色 代码 cpp include define fi first define se second defin 阅读全文
摘要:
"原题链接" 题解 查询距离一个点距离在一定范围内的点,直接点分树,前缀和用树状数组维护 答案是当前重心距离不超过k (x到重心距离)的点的前缀和,减去在x所在子树中,距离重心不超过k (x到重心距离)的前缀和 代码 cpp include define fi first define se sec 阅读全文
摘要:
"原题链接" 题解 距离省选只有一周了我居然才开始数据结构康复计划 这题很简单,就是点分树,然后二分一个值,我们计算有多少条路径大于这个值 对于一个点分树上的重心,我们可以通过双指针的方法求出它子树里的路径任意搭配大于这个值的方案 然后同一个子树里重复计算的删掉 再计算和自己祖先之间的路径 代码 阅读全文
摘要:
A Shrinking 用每个字母模拟一下就行 C +/ Rectangle 如果$H$是$h$的倍数并且$W$是$w$的倍数,那么无解 否则认为$H$不是$h$的倍数,以0开始标号,每个$h$的倍数的行都填成正数$1000(h 1) 1$,其他行都填成 1000 cpp include defin 阅读全文
摘要:
ARC076 C Reconciled? 如果$N = M$ 答案是$2N!M!$ 如果$|N M| = 1$ 答案是$N!M!$ 否则答案是0 cpp include define fi first define se second define pii pair define mp make_p 阅读全文
摘要:
AGC032 A Limited Insertion 这题就是从后面找一个最靠后而且当前可以放的,可以放的条件是它的前面正好放了它的数值 1个数 如果不符合条件就退出 B Balanced Neighbors 如果是偶数个,分成和相等的$\frac{N}{2}$份 如果是奇数个,最后一个点单独为一组 阅读全文
摘要:
C pushpush 如果是按下标说的话 如果是偶数个 那么是 $N,N 2,N 4...1,3,5...N 1$ 如果是奇数个 $N,N 2,N 4...2,4,6...N 1$ F SS 先把原始的字符串变成两个相同的字符串的形式 设为$SS$,如果$S$最后一位的next是$k$,那么显然要在 阅读全文
摘要:
A Colorful Subsequence 答案是 $\prod_{c = 'a'}^{'z'} (cnt[c] + 1)$ cpp include define fi first define se second define pii pair define mp make_pair defin 阅读全文
摘要:
A Biscuits dp[i][0/1]表示当前和是偶数还是奇数,直接转移即可 D Game on Tree 一个点的sg函数值显然是0,而一个树加一条边一个点的sg函数值是这棵树的sg函数值+1 证明,设新加的边为$u,v$,$u$是$v$的祖先,若断掉新加的边,则sg值是0 否则断树中的边,s 阅读全文
摘要:
C Splitting Pile 枚举从哪里开始分的即可 E Awkward Response 如果不为1后面接的只有0的形式,那么问出第一个$10^k$为N则证明数字有k位,然后可以通过二分,判断中间值是否小于当前值可以把mid扩大10倍,这样可以知道中间值的字典序是否大于还是小于n,因为长度相等 阅读全文
摘要:
A Getting Difference 我们肯定可以得到这些数的gcd,然后判断每个数减整数倍的gcd能否得到K B Sports Festival 对于初始的喜爱度答案,如果我们不把含有个数最多的比赛ban掉,答案永远不会下降,所以我们试试一次次ban掉人数最多的比赛,取每次最小值 E Sigh 阅读全文
摘要:
题解 可以发现每次修改的是这个点往上一条连续的链,如果我要把1改成0,需要满足这一段往上的一部分都有两个1 如果我要把0改成1,需要满足这一段往上的部分有两个0 对于每个点记录1的个数,发现我们只会把一棵树的2全部改成1或者把1全部改成2,这样加标记的时候可以同时维护是否全1或者是否全2,用lct维 阅读全文
摘要:
C 4 adjacent 我们挑出来4的倍数和不是4的倍数而是2的倍数,和奇数 然后就是放一个奇数,放一个4,如果一个奇数之后无法放4,然后它又不是最后一个,那么就不合法 cpp include define fi first define se second define pii pair def 阅读全文
摘要:
C Make a Rectangle 每次取两个相同的且最大的边,取两次即可 D Coloring Dominoes 就是如果是 竖条对两个长条,那么方案数乘上2 竖条对竖条,乘上2 两个长条+竖条,方案数乘上1 两个长条+两个长条 有3种 1 2 2 1 和 1 3 2 1 和 1 2 2 3 初 阅读全文
摘要:
A Ice Tea Store 算一下每种零售最少的钱就行,然后优先买2,零头买1 B Reverse and Compare 对于两个相同的字符,在这个字符之间的翻转肯定能取代以这两个字符为端点的翻转 那么如果认为一个翻转会形成一个字符串,那么我们删掉左右两端点相同的翻转 F Yes or No 阅读全文
摘要:
C Together 用一个数组记一下一个数给它本身,左右贡献都是1,看看哪个数的总贡献最大 阅读全文
摘要:
C Sugar Water 计算一下可以达到水是多少,可以到达的糖是多少 枚举水,然后加最多能加的糖,是$min(F i 100,E 100)$,计算密度,和前一个比较就行 D Restoring Road Network 很容易发现边肯定都被涵盖在最短路的数值里(如果要构造出一个价值最小的图) 我 阅读全文
摘要:
A Snuke's favorite YAKINIKU …… B fLIP 枚举N有几个按了,M有几列按了 对于一个点,行和列只有一个按了,那么这个点是黑的 D Four Coloring 把图旋转45度后,再放一个每块大小是d d的方格,然后一行用RB间隔染色,下一行用GY间隔染色 cpp inc 阅读全文
摘要:
A Anti Adjacency K define fi first define se second define pii pair define mp make_pair define pb push_back define space putchar(' ') define enter put 阅读全文
摘要:
C 4/N 列出个方程枚举解一下 cpp include define fi first define se second define pii pair define mp make_pair define pb push_back define space putchar(' ') define 阅读全文