CodeForces VP Record

news/2024/11/13 9:15:18/文章来源:https://www.cnblogs.com/xieruyu666/p/18381216

CodeForces Round 767 (contest 1628)

A Meximum Array

考虑二分。二分的时候计算区间 $ \text{mex} $,参考 P4137 Rmq Problem / mex,主席树即可。时间复杂度 $ \Theta(n \log^2 n) $,无需卡常。

B Peculiar Movie Preferences

首先,对于一个合法的回文串,容易证明首尾两个字符串一定为另一个回文串。于是就找到两个成为回文串的,用 map 存一下即可。(注意特判一个字符串就为会问串的)

证明大致:显然两个字符串长度只差不会超过 $ 1 $ (差为 $ 2 $ 就有一个长度为 $ 1 $,已经为一个字符串了),如果长度差为 $ 0 $,回文显然,长度为 $ 1 $,也是显然。

C Grid Xor

按图中黄色线的红色格依次求异或和就能依次求出黑色格子的异或和。求白色和红色格子的异或和,就将黄线旋转 $ 90 ^ {\circ} $ 即可。这题好唐诗

D Game on Sum

D1 Easy Version

设 $ dp_{i, j} $ 为进行 $ i $ 轮,Bob 加了 $ j $ 次爱丽丝得到的最大分数。那么显然有初始化 $ \begin{cases} dp_{i, 0}=0 \ dp_{i, i} = i \times k \end{cases} $ 。

然后设当前选取数字 $ x $,则对于 Bob 来说会让 $ dp_{i, j} \Leftarrow \min(dp_{i-1,j-1}+x,dp_{i-1,j}-x) $。对于 Alice 来说,就要找到 $ x $ 使得 $ \min(dp_{i-1,j-1}+x,dp_{i-1,j}-x) $ 最大。最小值最大,二分啊,那么显然答案为 $ dp_{i-1,j-1}+dp_{i-1,j} \over 2 $ (一个 $ +x $,一个 $ -x $,显然让这两个值相等最优。

时间复杂度 $ \Theta(nm) $ ~ $ \Theta(n^2) $ ,随便过。

D2 Hard Version

刚才的转移柿子: $ dp_{i-1,j-1}+dp_{i-1,j} \over 2 $,不看 $ \div 2 $,很想组合数的转移,但初始化不一样,没关系,还可以抽象成一个网格图,每次珂以往左走,且必须往上走一格。很显然组合数搞一下。那么考虑所有初始化 $ dp_{i, i} $ 对 $ dp_{n, m} $ 的贡献($C_{n-i-1}^{m-i}$),最后把 $ \div 2 $ 除回去,即 $ \div 2^{n-i} $。

时间复杂度 $ \Theta(n) $ ~ $ \Theta(n \log n) $。

E Groceries in Meteor Town

起手克鲁斯卡尔重构,此时就是一个点与所有白点的 $ \text{lca} $,找到最小和最大的 $ dfn $ 即可。

CodeForces Round 727 (contest 1539)

A Contest Start

个人认为 A>C>B 。

首先考虑一下第一个人的不满意度。容易发现即为 $ \lfloor {t \over x} \rfloor $ 。然后注意到接下来也有一堆人都是 $ \lfloor {t \over x} \rfloor $ 。一直到 $ n - \lfloor {t \over x} \rfloor $ 。之后因为人没了,所以即为 $ \lfloor {t \over x} \rfloor - 1, \lfloor {t \over x} \rfloor - 2, \lfloor {t \over x} \rfloor - 3, \cdots, 1, 0 $ 。所以答案即为 $ \lfloor {t \over x} \rfloor \times (n - \lfloor {t \over x} \rfloor) + {\lfloor {t \over x} \rfloor \times (\lfloor {t \over x} \rfloor - 1) \over 2} $ 。

然后考虑到有可能 $ n < \lfloor {t \over x} \rfloor $ 。特判即可,答案显然为 $ {n(n-1) \over 2} $ 。

B Love Song

...

C Stable Groups

首先将 $ a $ 排序,考虑对于 $ a_i, a_{i + 1} $ 之间至少要多少点才能使得两点连接,容易发现,这个答案为 $ \max(0, \lceil {a_{i + 1} - a_i \over x} \rceil - 1) $ 。

将所有点抽象成一张图,两个点相邻的点直接连一条边权 $ \max(0, \lceil { a_{i + 1} - a_i \over x } \rceil - 1) $ 的边。对这张图跑 Kruskal ,最后的连通块个数即为答案。因为为了相邻两点之间的联通所增加的点并不会影响其他联通关系。

D PriceFixed

居然一直在想反悔贪心,跟个**一样。

发现若用 $ x $ 个 $ 2 $ 卢布购买商品珂以使得方案合法,那么 $ > x $ 的都可以。因此满足单调性(单调上升)。

于是珂以二分,二分出最少用多少个 $ 2 $ 卢布购买商品。对于 $ mid $ ,显然珂以将他们购买 $ b $ 最大的。正确性显然。那么再按 $ b $ 从小到大枚举,即可检验正确性。最后答案就为 $ (\sum \limits_{i=1}^n a_i) + l $ 。

E Game with Cards

将答案分为 $ 0, 1 $ 串,设 $ dp_{i, 0/1} $ 为第 $ i $ 个位置为 $ 0/1 $ 串的最后一个,此时前缀是否合法。以 $ 0 $ 为例。对于 $ dp_{i, 0} $ 需要找到一个 $ < i $ 的 $ j $ 使得 $ dp_{j,1}=1 $ ,并满足 $ [j + 1, i] $ 的都珂以替换左手,且 $ j $ 替换的右手满足 $ [j + 1, i] $ 的条件。形式化一点的条件:

$$
\begin{cases}
dp_{j,1}=1\ (0 \le j < i) \
a_{l,u} \le k_u \le b_{l,u}\ (j + 1 \le u \le i) \
a_{r,u} \le k_j \le b_{r,u}\ (j + 1 \le u \le i)
\end{cases}
$$

直接做显然是 $ \Theta(n^2) $ 的,考虑优化。发现 $ j $ 若满足条件并没有什么规律,主要原因在于第三个条件的 $ k_j $ ,如果能把这个不定值改成定值,就能找到一些规律,从而进行优化。珂以将 $ dp_{i,0/1} $ 改成第 $ i $ 个位置为 $ 0/1 $ 串的第一个,此时后缀是否合法。那么条件变为:

$$
\begin{cases}
dp_{j,1}=1\ (i < j \le n + 1) \
a_{l,u} \le k_u \le b_{l,u}\ (i \le k < j) \
a_{r,u} \le k_{i-1} \le b_{r,u}\ (i \le k < j) \
\end{cases}
$$

成功将不定值 $ k_j $ 改为定值 $ k_{i - 1} $ 。这时发现所有满足 $ dp_{j,1}=1 $ 中,$ j $ 越小,条件越弱。于是珂以存储最小的满足 $ dp_{j,1} = 1 $ 的 $ j $ ,扫一遍即可。时间复杂度 $ \Theta(n) $ ~ $ \Theta(n \log n) $ (具体实现:对于第二个条件,珂以求出最大的满足(第二个)条件的 $ j - 1 $ 。对于第三个条件,等价于 $ (\max \limits_{u=i}^{j-1} a_{r,u}) \le k_{i-1} \le (\min \limits_{u=i}^{j-1} b_{r,u}) $ 直接求即可。

F Strange Array

令答案区间中小于 $ a_i $ 的个数为 $ s $ ,等于为 $ e $ ,大于为 $ b $ 。令中位数为 $ u $ 。

  • $ a_i < u $ ,答案为 $ \lceil {b + e - s \over 2} \rceil $ 。

  • $ a_i \ge u $ ,答案为 $ \lfloor {s + e - b \over 2} \rfloor $ 。

对于第一种情况,建立数组 $ A $ ,对于所有 $ j $ ,若 $ a_i \ge a_i $ 则 $ A_j = 1 $ ,否则 $ A_j = -1 $ 。

容易发现此时最大的 $ b + e - s $ 就是 $ A $ 中包含 $ i $ 的最大字段和。线段树维护即可。第二种情况同理。对于更新,按 $ a_i $ 升序排序,依次枚举进行更新即可。时间复杂度 $ \Theta(n \log n) $ 。

CodeForces Round 745(contest 1581)

A CQXYM Count Permutations

手完样例即可。发现对于任意 $ p_i < p_{i + 1} $ 的个数为 $ l(l \le n) $ 的排列,将所有 $ p_i $ 变成 $ 2n - p_i + 1 $,则 $ p_i < p_{i + 1} $ 的个数变为 $ 2n - l $。由此可得所有 $ l $ 个的,都对应一个 $ 2n - l $ 的,因为总共只有 $ 2n! $ 个排列,两种排列一一对应,所以就有其中一个就是 $ 2n! \over 2 $。

B Diameter of Graph

想到菊花图就好了。但有两个特殊情况:

  1. $ m < n - 1\ \lor\ m > {n(n-1) \over 2} $。图不连通或图有重边。

  2. $ k = 0, n = 1 $。这时是可行的。

C Portal

感觉不如 B ,特别水的trick。

令矩阵两个点为(左上角,右下角) $ (l_1, l_2), (r_1, r_2) $。枚举 $ l_1, r_1 $,就变成了一维,直接扫一遍即可。时间复杂度: $ \Theta(Tn ^ 3) $。

如果确定,则答案显然为

$$
=(r_1-l_1-1)r_2-(r_1-l_1-1)l_2-(r_1-l_1-1)-sum_{r_1-1,r_2-1}+sum_{r_1-1,l_2}+sum_{l_1,r_2-1}-sum_{l_1,l_2} \
+sum_{l_1,r_2-1}-sum_{l_1,l_2}-sum_{l_1-1,r_2-1}+sum_{l_1-1,l_2} \
+sum_{r_1,r_2-1}-sum_{r_1,l_2}-sum_{r_1-1,r_2-1}+sum_{r_1-1,l_2} \
+sum_{r_1-1,l_2}-sum_{r_1-1,l_2-1}-sum_{l_1,l_2}+sum_{l_1,l_2-1} \
+sum_{r_1-1,r_2}-sum_{r_1-1,r_2-1}-sum_{l_1,r_2}+sum_{l_1,r_2-1} \

-(r_1-l_1-1) \
-(r_1-l_1-1)l_2+sum_{r_1-1,l_2}-sum_{l_1,l_2}-sum_{l_1,l_2}+sum_{l_1-1,l_2}-sum_{r_1,l_2}+sum_{r_1-1,l_2}+sum_{r_1-1,l_2}-sum_{r_1-1,l_2-1}-sum_{l_1,l_2}+sum_{l_1,l_2-1} \
(r_1-l_1-1)
r_2-sum_{r_1-1,r_2-1}+sum_{l_1,r_2-1}+sum_{l_1,r_2-1}-sum_{l_1-1,r_2-1}+sum_{r_1,r_2-1}-sum[r_1-1][r_2-2]+sum_{r_1-1,r_2}-sum_{r_1-1,r_2-1}-sum_{l_1,r_2}+sum_{l_1,r_2-1} \
$$

存最小值直接搞即可。

D Mathematics Curriculum

设 $ dp_{i, j, k} $ 为长度为 $ i $ 的排列有 $ j $ 个 $ k $ 的好数的方案数。

珂以枚举最大值,即 $ i $ 的位置,令它为 $ p $。则将排列分为长度为 $ p - 1 $ 和 $ i - p $ 的序列。容易发现两边不会相互影响,所以只需要求出离散后的答案即可,左右两边离散成排列的答案。

注意到这个排列 $ k $ 的好数个数等于两边的 $ k - 1 $ 的好数的个数加上 $ [k = 1] $ (即最大值是否为 $ k $ 的好数)。于是珂以枚举左边 $ k - 1 $ 的好数个数 $ l $,则 $ j = (l) + (k - l - [k = 1]) $。那么得到柿子 $ dp_{i, j, k} = \sum \limits_{p=1}^i \sum \limits_{l=0}^{p-1} dp_{p-1,l,k-1} \times dp_{n-p,j-l-[k=1],k-1} $。

但是因为这里把两边当成了两个排列,即离散之后的数组,实际需要分配,即将除最大之外的 $ i - 1 $ 个数分配到左右两边,方案为 $ C_{i - 1}^{p - 1}\ or\ C_{i=1}^{i-p} $。最终柿子:

$$
dp_{i, j, k} = \sum_{p=1}^{i} \sum_{l=0}^{p-1} C_{i - 1}^{p - 1} \times dp_{p - 1, l, k - 1} \times dp_{i - p, j - l - [k = 1], k = 1}
$$

然后是一些特判:

if (i < j || (i < k && j > 0)) return 0;
if (k < 1 && j > 0) return 0;
if (k == 1 && j > 1) return 0;
if (i == 0) return (j == 0);

E Train Maintenance

每辆列车显然有 $x_i+y_i$ 的周期,显然想到根号分治。

先考虑加入列车:

  • $x_i+y_i>\sqrt{m}$,这时珂以枚举所有列车维护的区间,差分即可。时间复杂度: $\Theta(m \sqrt m)$。

  • $x_i+y_i\le\sqrt{m}$,这时记录 $sum_{i,j}$,表示周期为 $i$ 时,时间对 $i$ 取模为 $j$ 时正在维护的列车个数。对 $x_i+k$ 到 $x_i+y_i+k-1$ 加即可(需要判一下是一段区间还是两段,$k$ 为时间)。

对于删去列车,$x_i+y_i\le\sqrt{m}$ 只需要改符号就行,但是发现 $x_i+y_i>\sqrt{m}$ 时,有可能出现,区间已经经过或正在经过。

大概有两种解决方案,一种是无脑的将差分换成树状数组,复杂度达到 $\Theta(m\sqrt{m}\log m)$,可以过,但是有点卡,Code 。

另一种就是判一下。

  • 如果是已经经过。那么直接跳过即可。

  • 如果是正在经过。令加的区间为 $[l,r]$,当前时间为 $k$,因为已经加过,所以撤销,即 s[l]=s[l]-1,s[r+1]=s[r+1]+1 。然后实际上 $[l,i]$ 的答案已经加上了,所以 s[i]=s[i]-(i-l+1)

  • 如果还没经过。直接减即可。

Code

CodeForces Round 818 (contest 1717)

A Madoka and Strange Thoughts

$ {\text{lcm}(a, b) \over \gcd(a,b)}={ab \over \gcd^2(a,b)} $ 。不妨让 $ a > b $ ,则 $ {ab \over \gcd2(a,b)}<{a2 \over \gcd^2(a,b)} $ 。若 $ {a^2 \over \gcd^2(a,b)}\le 3 $ ,显然需要 $ b\in {a,{a \over 2},{a \over 3}
} $ 。反推回去仍然成立。所以得出结论。

于是答案即为 $ n + \lfloor {n \over 2} \rfloor \times 2 + \lfloor {n \over 3} \rfloor \times 2 $ 。( $2b=a,3b=a$ 的每组有一对)

B Madoka and Underground Competitions

样例提示性很强,而且非常容易证明。剩下的靠码力,像我这种傻逼码力不行的就用了 $15\ \text{min}$ 。

C Madoka and Formal Statement

盯着题半天,结论一眼,然后觉得C不可能这么简单,结果一直再纠结,最后随便写了下就过了。

首先若 $ a_i > b_i $ 不行。(这是显然的)

然后若 $ a_i \ne b_i\ \land\ b_i > b_{i + 1} + 1 $ 不行。(这也是显然的)

然后没了………………

D Madoka and The Corruption Scheme

这棵树的左右关系显然不重要,于是让一个节点的权值等于左子节点。那么主办方若能让一个人获胜,那么这个人到根节点的简单路径上从右子节点到父节点的个数 $ \le k $ 。

回忆一下线段树标号,一个节点的左子节点标号为这个节点标号的末尾加一个 $ 0 $ ,右子节点加 $ 1 $ 。

那么让这棵树为一颗线段树,其中一个叶子节点标号为 $ x $ ,若去掉第一位后二进制位 $ 1 $ 的个数 $ \le k $ ,则可以。于是珂以枚举 $ 1 $ 的个数 $ o $ ,显然方案为 $ C_{n}^{o} $ 。所以最终答案即为:

$$\sum_{i=0}^{\min(n,k)} C_{n}^{i}$$

E Madoka and The Best University

先枚举 $ \gcd(a, b) $ ,然后枚举 $ a + b $,调和级数复杂度 $ \Theta(n \log n) $

枚举完后可得 $ c $ 及 $ \text{lcm}(c, \gcd(a,b)) $ 。然后考虑如何计算方案数。令 $ a=n\gcd(a,b),b=m\gcd(a,b) $ 。则 $ n, m $ 一定互质,所以 $ n, m, n+m $ 也互质。又因为 $ n + m = {a + b \over \gcd(a,b)} $ ,所以 $ n, m $ 的取值方案数就是小于 $ n + m $ 且与 $ n + m $ 互质的数的个数,即为欧拉函数的定义,做完了。

证明一下 $ n, m $ 互质,$ n + m $ 也互质。也就是相当于 $ \gcd(n, m) = \gcd(n + m, n) $ 。因为若 $ u | v, u | w $ 则 $ u | (v + w) $ 。那么让 $ u=\gcd(n,m),v=n,w=m $ 带入即可证明。

Codeforces Round 902(contest 1877)

A Goals of Victory

手完样例即可。当然设 $ x_i, y_i $ 为得分和被得分(名字好抽)。则 $ \sum \limits_{i=1}^{n} x_i-y_i=0=\sum \limits_{i=1}^{n} a_i $,所以 $ -a_n = \sum \limits_{i=1}^{n-1} a_i $。也是可以的。

这种唐诗题我做了7分钟?

B Helmets in Night Light

比 A 简单,贪心即可。

这样我还用了7分钟?

C Joyboard

定义 $ \text{calc}(n, m, k) $ 为方案数。则:

$$
\begin{cases}
\text{calc}(n, n - 1, k) + \text{calc}(n, n - 1, k - 1) \times (\lfloor {m \over n} \rfloor - 1) + \text{calc}(n, m \mod n, k - 1) \ \ \ m \ge n \
m\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ k = 2 \
1\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ k = 0 \
0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ else \
\end{cases}
$$

花了20分种,很合理。

D Effects of Anti Pimples

定义 $ ma_i = \max \limits_{j=i\cdot k\ \land\ j \le n\ {k|k \in \mathbb{N}}} a_j $

那么显然,答案为 $ \sum \limits_{S \in \mathbb{U}} \max \limits_{j \in S} ma_j $。按 $ ma_i $ 排序,枚举 $ ma_j $,设 $ x = \sum \limits_{i=1}^{n} [ma_i = j], y=\sum \limits_{i=1}^n [ma_i < j] $。则贡献为 $ (2x-1)(2y)(ma_j) $。

花了20分钟,很合理。

E Autosynthesis

大眼观测可得以下两个显然的性质。

  1. 若一个点不选,则一定会选他的权值。(题意)

  2. 若一个点选,则一定会有一个点,他的权值为这个点的下标。(上一条反过来)

让 $ i $ 连向 $ a_i $,每个点如果不被圈起来。为白色,否则为黑色。则两条性质变为:

  1. 每一个白色的点所连向的边为黑色。

  2. 每一个黑色的点有白色的点连向它。

然后再注意到每个点只有一条出边,所以图是基环树(树连向环)。于是有以下做法:

首先,显然先考虑树,显然拓扑,过程中算颜色。对于叶子节点显然全部为白色。因为没有点可以连向它。对于白色的点指向的点有上面的性质可得为黑色,如果这个点的子节点没有让这个点有颜色,则这个点一定为白色(子节点全为黑色,无法让它为黑色)。

对于环,先找到任意一个有颜色的点,如果没有,就任意找一个点变为白色。然后在环上走,这个点的颜色就为上一个点的另一种颜色。最终再遍历一遍环,如果白色撞到一起了,就不合法。

注意特判长度为 $ 1 $ 的环。

CodeForces Round 949 (contest 1981)

A Turtle and Piggy Are Playing a Game

赛场没看到 $ 2l < r $ ,看到后反应过来是 $ 2 $ 的整数次幂。

B Turtle and an Infinite Sequence

赛场一直在找规律,结果可以直接做。。。。。。

显然 $ a_n $ 在 $ m $ 时刻即为 $ a_{\min(n - m, 0)} | a_{\min(n - m + 1, 1)} | \cdots | a_{n + m - 1} | a_{n + m} $ 。随便搞。

C Turtle and an Incomplete Sequence

容易将问题抽象成求 $ a' = { st, -1, -1, \cdots, -1, ed } $ 的 $ b $ 。然后容易发现把一个点往右一个点抽象成一次操作,那么一次操作就是将一个点的二进制位加一位(最后一位随便定)或减一位。

那么先将 $ st, ed $ 按二进制最高位对齐,求出 $ "lcp" $ ,最小的操作数即为非 $ "lcp" $ 的个数。然后注意到所有可能的操作次数的奇偶性与最小操作次数的奇偶性相同。然后就没了。

D Turtle and Multiplication

考虑 $ a $ 全为质数,则将 $ a_{i - 1} $ 与 $ a_i $ 相连。那么题意转化为一个无向完全图(含自环)中,可以删除一些变,找到一个长度为 $ n - 1 $ 的不重复经过边的路径。

若点数为奇数,则每个点的度数为偶数,存在欧拉路径,则边数可以有 $ m(m + 1) \over 2 $ 。

若点数为偶数,则每个点的度数为奇数,若存在欧拉路径,则最多两个点的度数为奇数,其他点度数为偶数。那么可以将除 $ 1, m $ 的所有边删掉一条,即 $ (2, 3)\ (4, 5)\ \cdots\ (m-2,m-1) $ 。首尾连一条边求出答案后删去即可。点数: $ {m(m + 1) \over 2} - {m \over 2} + 1 = {m^2 \over 2} + 1 $ 。

E Turtle and Intersected Segments

将每个点连向自己所能连的所有边中小于和大于最接近自己的点。(排序后的前驱后继)

然后考虑如何计算,可以类似扫描线的东西,每个点 $ l $ 时刻插入,$ r + 1 $ 时刻删除。用个合理的容器存入这些点,每个点查询前驱后继连边即可。最后用喜欢的方式跑最小生成树即可。

CodeForces Round 953 (contest 1978)

A Alice and Books

好久没有碰到这么良心的A了。

B New Bakery

好久没有碰到这么良心的B了。

C Manhattan Permutations

好久没有碰到这么凉心的C了,很显然的一个构造。

先考虑最大合法的 $ k $ ,奇偶分讨一下,对于偶数,建立两个集合为小于等于 $ {n\over 2} $ 和大于的,两个集合相互对应。奇数类似,考虑将中间一个点孤立即可(这是显然的)。然后由于是排列,那么一定珂以通过多次或一次交换变换为其他排列,然后注意到交换一次后 $ |a_i - i|, |a_j - j| $ 要么奇偶性不变,要么全变。无论哪种,都不会改变和的奇偶。所以所有排列的曼哈顿值全为偶数。(当然珂以直接打表找规律,也是显然的

然后你可以考虑在 $ k \ge 2(n-1) $ 的时候,将 $ p_1=n,p_n=1 $ ,然后对 $ [2, n-1] $ 进行构造 $ k - 2(n-1) $ 贡献。注意到 $ [2,n-1] $ 为连续一段区间,于是珂以递归 $ n - 2, k - 2(n-1) $ 进行构造。容易证明,只要 $ k $ 合法,这样就珂以构造出一种答案(因为对于 $ k $ 是成立的条件,并不存在下界,也就是说,若 $ n, k $ 有答案,则 $ n-2, k-2(n-1) $ 也一定有答案。因为这样对 $ p_1, p_n $ 是使答案最大的其中一中。或者从代数的角度,对奇偶分讨,然后珂以证明也是合法的,不在展开)。那么就考虑 $ k < 2(n-1) $ 的情况。

打表可得排列可为: $ 1\ \ 2\ \ \cdots\ \ n-{k\over2}-1\ \ n-{k\over2}+1\ \ n-{k\over2}+2\ \ \cdots\ \ n\ \ n-{k\over2} $ 。大致原因如下:前面 $ n-{k\over2}-1 $ 成一个曼哈顿值为 $ 0 $ 的排列,于是考虑将后面弄成长度为 $ l(l={k\over2}+1) $ 的新排列:$ 2\ \ 3\ \ \cdots\ \ l\ \ 1 $ 。显然答案为 $ 2(l-1)=k $ 。

总结一下,构造函数 $ \text{build}(n, l, r, k) $ ,表示构造长度为 $ n $ 的排列,放入答案数组的 $ [l, r] $中,曼哈顿值为 $ k $。

  • $ k \ge 2(n-1) $,让 $ ans_l \Leftarrow n, ans_r \Leftarrow 1 $。并递归 $ \text{build}(n-2,l+1,r-1,k-2(n-1)) $ 。同时将 $ [l+1,r-1] $ 整体加 $ 1 $,差分即可。

  • $ k < 2(n-1) $,按照如上方式构造即可。

D Elections

对于一个人来说,如果将前面的弹掉,那么显然是全部弹掉最优,然后再把后面大于他的弹掉。(只需弹掉最大的,这样它显然就珂以成为最大的了)

还有一种不弹掉,把后面大于他的弹掉即可。(注意后面大于它的加上 $ c $ 再加上 $ a_1 $ 需要小于当前投票数)

E Computing Machine

注意到只会执行一波操作 $ 1 $ 然后执行一波操作 $ 2 $。(这是显然的。

那么维护执行完操作 $ 1 $ 完之后的 $ t $,再用新的 $ t $ 维护新的 $ s $。每次查询的时候特判一下即可。

比赛一直怀疑做法,结果没调出来。。。话说这样真的能算 $ \text{E} $ 嘛。

F Large Graph

注意到k>=2,所以每一个对角线都是一个连通块。然后相邻的连通块距离为1,且每个连通块权值相同。于是珂以放入新数组。

对每个质因子暴力枚举相邻边即可。时间复杂度 $ \Theta(nv) $($v$ 为最大的质因数个数,这里为 $ 7 $)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787590.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库监控运维方案,保障高性能及高可用

通过构建对关键指标的监控,实现对数据库性能和资源的实时追踪,识别并解决影响的数据库问题,保障数据库的高性能及高可用性,更全面地支持业务及应用的稳定、持续运行。 随着企业对数据高可用的需求日益增长,对于数据库的实时监控和故障自动恢复方案愈发重要。作为关…

VL22 根据状态转移图实现时序电路

和上一题的第一段完全相同,第二段只是根据状态转移有部分改变,本体使用三段式状态机来写,第三段写法和上一题不一样。`timescale 1ns/1nsmodule seq_circuit(input C ,input clk ,input rst_n,output wire Y );…

Datawhale X 李宏毅苹果书 AI夏令营 深度学习01

神经网络的优化,通常我们使用梯度下降的方法对获取最优的参数,已达到优化神经网络的目的。另外,我们也可以对学习率进行调整,通过使用自适应学习率和学习率调度,最后,批量归一化改变误差表面,达到优化的目的。 同样,也会存在优化失败的时候,在收敛在局部极限值或者鞍点…

京东搜索重排:基于互信息的用户偏好导向模型

SIGIR 24: A Preference-oriented Diversity Model Based on Mutual-information in Re-ranking for E-commerce Search 链接:https://dl.acm.org/doi/abs/10.1145/3626772.3661359 摘要:重排是一种通过考虑商品之间的相互关系来重新排列商品顺序以更有效地满足用户需求的过…

探索AC自动机:多关键词搜索的原理与应用案例

引言 目前,大多数自由文本搜索技术采用类似于Lucene的策略,通过解析搜索文本为各个组成部分来定位关键词。这种方法在处理少量关键词时表现良好。但当搜索的关键词数量达到10万个或更多时,这种方法的效率会显著下降,尤其是在需要与词典进行详尽对比的场景中。本文将介绍的A…

VL21 根据状态转移表实现时序电路

根据给的状态转移表知道有两个状态:第一列的为current_state,第二三列为next_state,且仅当current_state==11时候Y为1(使用()?:语法实现)。三段式状态机的流程: 第一段:时序逻辑,公式化写法 第二段:组合逻辑,这里要注意always @(*)是固定写法,不能像第一段写成时…

Vue3.5新增的baseWatch让watch函数和Vue组件彻底分手

Vue3.5新增了一个baseWatch,让watch函数和Vue组件彻底分手,他的实现和Vue组件以及生命周期没有一毛钱关系。前言 在Vue 3.5.0-beta.3版本中新增了一个base watch函数,这个函数用法和我们熟知的watch API一模一样。区别就是我们之前用的watch API是和Vue组件以及生命周期是一…

硬件设备snmp配置,snmp如何检测联通信

【1】山石网科防火墙 环境需求:设备与 prometheus 服务器之间需要放通UDP161端口,且网络能连通配置路径:系统——SNMP 1、配置SNMP代理 勾选‘启用’选项,并点击 应用 即可 2、配置SNMP主机 点击‘新建’,添加 zabbix服务器IP地址跟团体名,权限为 只读,点击 确定 完成新…

mmdetection中的dataset pipline

参考: 轻松掌握 MMDetection 整体构建流程(二) 商汤开源目标检测工具箱mmdetection代码详解(三)----------mmdetection数据的输入、处理过程 1. mmdetection中的数据加载流程 pipline中由一系列数据处理模块对数据集进行流水线般的处理要注意的是,上述pipline流程在3.x版本…

南沙信奥赛陈老师讲题:1331:【例1-2】后缀表达式的值

1331:【例1-2】后缀表达式的值 时间限制: 10 ms 内存限制: 65536 KB提交数:65784 通过数: 17299 【题目描述】从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要…

windows解决0x80070035找不到网络路径的问题

windows进行网络共享,无法访问,报错0x80070035,找了好几个办法都没有用.无意间尝试开启有密码保护的共享后,成功解决问题. 搜索高级共享->管理高级共享设置->密码保护的共享->勾选有密码保护的共享