随笔分类 - 题解
摘要:前情提要:NOIP 前一天连喝了三杯咖啡,手一直在抖。 考点和 CSP 2022 以及 CSP 2024 一样在七中高新。 发现键盘无论怎样拉都拉不到桌子上,于是只能强行把绑键盘线的东西拆开了,然后就可以在桌子上敲键盘了。发现在相邻机位中间设了挡板,原因未知。 不知道为什么,和 CSP 一样起初一直
阅读全文
摘要:若 \(i\) 与 \(j\) 有边,也就是 \(a_i<a_j\),那么对于一个 \(i < k < j\),会发现 \(a_k>a_i\) 和 \(a_k<a_j\) 至少满足一个。也就是说 \(k\) 也一定和 \(i,j\) 联通。于是我们发现了一个关键性质:所有联通块都为一个区间。 那我们
阅读全文
摘要:先全部选 \(a_i\),假设 \(b_i=b_i-a_i,c_i=c_i-a_i\)。 那么题目转化为选 \(y\) 个 \(b\) 和 \(z\) 个 \(c\) 使得答案最大。 会发现若 \(i\) 位置选的 \(b\),\(j\) 位置选的 \(c\),那么需要满足 \(b_i-c_i>b_
阅读全文
摘要:首先考虑 \(S=2\) 怎么做,我们把它转化为图论问题。对于每一行的两个点的颜色连一条无向边,那我们相当于要给这些边定向。最后要求 \(|in_u-out_u| \le 1\)。会发现这个要求很像欧拉回路。 但是欧拉回路是要求每个点的入度和出度相等,怎么办呢?我们再建一个超级源点,向每个奇数度数的
阅读全文
摘要:妙妙题。 首先不同字母数最多为 \(3\)。我们把每一个字母看成一个点。对于每一个字符串,首个字母朝末尾字母连一条有向边。那么问题变为了给定一张有向图,从某个点出发,每次走一条边,且边不能重复,不能走的人输。问哪方有必胜策略。 先不考虑时间复杂度,那么这个可以直接爆搜。但是肯定会 T,考虑剪枝。 会
阅读全文
摘要:数据随机有什么用?用你惊人的注意力可以观察到答案的值域在 \(800\) 附近。 考虑暴力 dp,设 \(dp_{l,r}\) 表示值域在 \([l,r]\) 中最多能选几个区间。假设 \(r\) 对应区间的左端点为 \(lst\),那么有转移方程 \(dp_{l,r}=dp_{l,lst-1}+d
阅读全文
摘要:首先有一个很重要的观察:最后每一个 \(i\) 对答案的贡献为 \(a_i \times 2^{k_i}\),且 \(k\) 满足 \(k_1=0,k_{i,i>1} \ge 1,k_i \le k_{i-1}+1\)。 考虑贪心。若 \(a_i \ge 0\),则让 \(k_i=k_{i-1}+1
阅读全文
摘要:一个很显然的观察是后手一定不败,策略就是一直跟着先手走。考虑是平局还是后手胜。 因为两个随时都一定在同一个深度上,我们不妨按深度来考虑。 设 \(s_u\) 表示 \(u\) 的子树中叶子结点的集合,\(t_u\) 表示 \(u\) 的子树中叶子节点值 \(+1\) 的集合。 我们考虑在深度为 \(
阅读全文
摘要:首先这个图肯定不能有环,也不能有度数大于 \(3\) 的点。 也就是说这是一颗二叉树。我们假设父亲都比儿子小,根节点的值最小。 那么假设 \(u\) 点的值为 \(x\),它的儿子的值一定是 \(\{2x,2x+1\}\) 的子集。会发现 \(u\) 的子树内的权值和是一个关于 \(x\) 的一次函
阅读全文
摘要:题意:给定一颗树,构造一个排列 \(p\) 使得对于每一对 \((x,y),dis(x,y)=3\),有 \(3 \mid p_x+p_y\) 或 \(3 \mid p_x \times p_y\)。 首先我们先将所有 \(p_i\) 都模上 \(3\)。 条件等价于每一对距离为 \(3\) 的 \
阅读全文
摘要:题意:你需要构造一个 \(n \times n\) 的矩阵(\(n\) 是质数),对角线的值已经给定。满足:对于 \(1 \le x < p \le n,1 \le y < q \le n\),\(a_{x,y}+a_{p,q} \not\equiv a_{x,q}+a_{p,y} \pmod{n}
阅读全文
摘要:会发现题目的坐标其实是平面直角坐标系。 我们按 \(y\) 坐标从小到大考虑所有的星星,假设当前考虑到了星星 \(i\)。我们先计算出之前所有能够影响到 \(i\) 的星星的代价和为 \(cost\)(可以用树状数组维护)。然后分类讨论。 若 \(c_i \le cost\),那么肯定直接将 \(i
阅读全文
摘要:看到 \(i\) 和 \(\lfloor \frac{i}{2} \rfloor\),考虑一颗二叉树。题目的操作相当于按顺序交换当前节点和左右儿子的权值。 假设当前考虑的节点为 \(id\),左儿子为 \(ls\),右儿子为 \(rs\),当前这些点的值分别为 \(A,B,C\)。 因为 \(id\
阅读全文
摘要:首先会发现若 \(t_i <= T\) 的话那么他最终一定会造反。 我们只考虑 \(t_i >T\) 的情况。设 \(lst_i\) 表示 \(i\) 左边第一个可以影响(使他造反)到 \(i\) 的位置,那么我们一定要在 \([lst_i,i]\) 这个区间中的某一个位置放上床垫才能使 \(i\)
阅读全文
摘要:题意:对于一个长度为 \(n\) 的排列,求有多少对 \((l,r)\) 满足 \(1 \le l,r \le 2n\),且可以通过交换任意次 \(x,y(l \le x+y \le r)\) 使得原排列升序。 首先我们可以找到 \(i \ne a_i\) 的最小和最大的 \(i\),假设为 \(L
阅读全文
摘要:题意:给定 \(n\) 和 \(L\) 以及 \(n\) 个数 \(a_i\)。对于每个 \(1 \le i \le n\),求出一个长度为 \(L\) 的 \(b\) 序列满足:\(\sum_{i=1}^{L-1}\sum_{j=i+1}^{L} |b_j-b_i|=a_i\),并最小化 \(b\
阅读全文
摘要:题意:定义 \(f(a)\) 表示将 \(a\) 序列变为其所对应的树状数组。已知 \(f^k(a)=b\),给定长度为 \(n\) 的序列 \(b\),求 \(a\) 序列。 很神奇的一道组合题。 首先我们考虑树状数组的结构。会发现 \(a_i\) 最终一定只会对 \(a_i\) 以及 \(a_i
阅读全文
摘要:结论:从左往右考虑,每遇到两个相邻且相同的字符就翻转一次。这样一定合法且最优。 首先考虑方案的合法性。因为只要有两个相邻且相同的字符就翻转一次,所以最终所有相同字符的位置的奇偶性一定是相同的,且一定形如 \(0101\dots\),所以一定合法。 接着考虑为什么一定最优。显然,两个相邻但不相同的字符
阅读全文
摘要:题意:求有多少对 \((a,b)\) 满足 \(b \times \gcd(a,b) \equiv 0 \pmod{a+b},1 \le a \le n,1 \le b \le m\)。 首先我们设 \(\gcd(a,b) = G,a=i \times G,b = j \times G\),显然有
阅读全文