题解1628d game sum
AT_joisc2015_h 题解
传送门 题意:给定长为 \(n\) 的字符串 \(s\),你可以选择一个区间,将区间内的字符从小到大排序,求可以得到的最长回文子串长度,字符集大小为 \(n\)。 很有意思的题目。 首先容易做到 \(O(n^3)\)。考虑怎么优化。 我们先考察排序的区间和回文区间的关系。 如果两个区间无交,那么显然 ......
在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01
#异或法#Kotlin ```Kotlinclass Solution { fun swapNumbers(numbers: IntArray): IntArray { numbers[0] = numbers[0] xor numbers[1] numbers[1] = numbers[1] xo ......
CF1835C Twin Clusters 题解
题目链接 点击打开链接 题目解法 很牛逼的构造题 好像随也可以过 长度为 \(2^{k+1}\) 的序列的不同区间有 \(2^{2k+1}\) 个,值域是 \(4^k\),所以一定有解 将 \(a\) 做一遍前缀和,那么问题转化成了找 \(s_{r1}\oplus s_{l1-1}=s_{r2}\o ......
[P4240] 毒瘤之神的考验 题解
[P4240] 毒瘤之神的考验 题解 知道: \[\varphi(ij)\varphi(\gcd(i, j)) = \varphi (i)\varphi(j)\gcd(i, j) \]可以进行转化,之后可以化简出形如: \[\sum_{i = 1}^n g(i)f(i, n/i)f(i, m / i ......
ICPC2021Kunming G Glass Bead Game 题解
Question ICPC2021Kunming G Glass Bead Game 有 \(n\) 个玻璃珠, \(B_1,B_2,\cdots, B_n\) 每一步你可以选择一个 \(B_i\) 移道第一个位置上,花费的代价为操作前 \(B_i\) 前面的玻璃珠的个数。已知每一步选择玻璃珠 \( ......
ICPC2021Kunming G Find the Maximum 题解
Question Find the Maximum 给出一个树,每个点有一个权值 \(b_n\),求一条树上路径 \(V\),要求 \(\frac{\sum_{u\in V (-x^2+b_u x)}}{|V|}\) 最大,其中 \(x\) 是自己选择的一个树 Solution 先转化一下 \(\f ......
E2. Game with Marbles (Hard Version)
E2. Game with Marbles (Hard Version) The easy and hard versions of this problem differ only in the constraints on the number of test cases and $n$. In ......
AT_joisc2015_e 题解
AT_joisc2015_e 传送门 更好的阅读体验 题意 给定长为 \(n-1\) 的数组 \(b_i\),要求有多少长为 \(n\) 的数组 \(a_i\) 满足: \(b\) 数组可以由 \(a\) 数组删掉一个数得到。 存在一个排列 \(p\) 满足 \(a_i\) 是以 \(p_i\) 结 ......
P8868 [NOIP2022] 比赛 题解
Description 小 N 和小 O 会在 2022 年 11 月参加一场盛大的程序设计大赛 NOIP!小 P 会作为裁判主持竞赛。小 N 和小 O 各自率领了一支 \(n\) 个人的队伍,选手在每支队伍内都是从 \(1\) 到 \(n\) 编号。每一个选手都有相应的程序设计水平。具体的,小 N ......
「题解」P9747 「KDOI-06-S」签到题
一个区间合法的充要条件是存在 \(x\) 满足其为区间按位或,并且《\(x\) 左侧所有数或起来》《\(x\) 右侧所有数或起来》二者有其一为 \(x\)。 扫描线扫右端点,不同的按位或将左端点分为 \(\log A\) 个区间,对于每个区间 \([l,r]\) 先在区间按位或 \(v\) 在序列中 ......
「题解」Codeforces 1427G One Billion Shades of Grey
感谢 127 的指导/ll \(|h_u-h_v|=\max(0,h_u-h_v)+\max(0,h_v-h_u)\),那么可以把它看成这样的问题: \[\min \{\sum_{(u,v)}\max(0,h_u-h_v+w_{u,v})c_{u,v}\} \]对偶一下,问题就变为:如果两个格子相邻 ......
CF396C On Changing Tree 题解
CF396C 考虑将贡献表示出来:\(\forall v\in \text{subtree}_u\),\(v\) 会加上 \(x - (dep_v - dep_u)k\),然后发现这个东西可以维护整棵子树,即把 \(x,dep_u\times k\) 和 \(dep_v\times k\) 分开计算 ......
【五期李伟平】CCF-A(TMC'22)Enabling Long-Term Cooperation in Cross-Silo Federated Learning: A Repeated Game Perspective
Zhang, Ning , Q. Ma , and X. Chen . "Enabling Long-Term Cooperation in Cross-Silo Federated Learning: A Repeated Game Perspective." (2022). 针对重复执行跨筒仓联 ......
题解 P9993【[Ynoi Easy Round 2024] TEST_133】
就硬把 线段树 3 和 数列分块入门 2 揉到一起出。 维护原数组 \(a\) 及其历史最大值 \(hist\),对每个块,维护块内 \(a\) 升序排序后结果 \(p\)、块内 \(a\) 升序排序后历史最大值前缀和 \(prehist\)、块加标记 \(add\)、块历史和加标记 \(hista ......
[WC2018] 通道题解
先考虑只有两颗树要咋做,柿子先变成 \(dep_x+dep_y-2\times dep_{lca}+dist_2(x,y)\) 我们可以新建节点 \(x'\rightarrow x\),边权为 \(dep_x\),这样上面的式子可以看作枚举 \(lca\) 后,选出一个端点在不同子树中的直径,可以直 ......
ARC167D Good Permutation 题解
ARC167D 看到排列并且有 \(i\gets a_i\),就可以直接建出图来,显然是若干个不相干的环。 如果不求字典序最小,就可以直接不在同一个环中的 \(i,j\) 直接交换就可以了,因为它要求了最小化操作数。如果求字典序最小,直接从前往后扫一遍,可以用 set 维护不在这个环中且 \(j>i ......
P5513 [CEOI2013] Board 题解
P5513 容易发现,每次等价于对一个二进制数进行操作。但是这个二进制数长为 \(n\),即需要高精。但是这样支持加一和减一是复杂度会退化为 \(\mathcal{O}(n^2)\),有一个很正常的做法就压位,仿照 bitset 的做法进行操作,复杂度 \(\mathcal{O}(\frac{n ^ ......
ARC105E Keep Graph Disconnected 题解
ARC105E 正向考虑是很难的,从结果入手,发现最后一定是分别包含 \(1\),\(n\) 的两个完全图。 考虑表示出这两个人一共加了多少边:\(\frac{n(n-1)}{2}-m-x(n-x)\),\(x\) 表示点 \(1\) 所在集合的大小。 由于是判断先手还是后手必胜,所以只需看结果对 ......
P9032 [COCI2022-2023#1] Neboderi 题解
P9032 考试题。 发现 \(g\) 的值是若干个相同的段,且段数很少,因为每次取 \(\gcd\) 至少会将值域变为原来的一半。所以段数是 \(\mathcal{O}(\log V)\) 的。 然后就可以从小到大枚举左端点,然后枚举 \(g\) 的值,找的是最远的满足 \(\gcd(a_l,\d ......
【数据结构】P4338 [ZJOI2018] 历史 题解
P4338 先考虑怎么安排崛起的先后顺序最优。 但是发现好像没有一个很好的顺序去进行崛起,并且由于 \(a_i\) 的值域会很大,所以即使知道顺序应该也会难以进行维护。 转换一下方向,正难则反。考虑每个点的贡献,但是颜色不同时只会算一次,所以要钦定是哪一个点造成的贡献。令当前考虑的点为 \(u\), ......
CF1896D Ones and Twos 题解
CF1896D 如果只有单次询问其实可以双指针,但是这个难以进行拓展。 考虑找点性质。 发现 \(a_i,v\in\{1,2\}\),从值域上下手。发现若存在和为 \(S\) 的方案,则一定有和为 \(S-2\) 的方案,因为可以直接 \(-2\) 或 \(-1-1\)。 然后就变为找最大的和为奇/ ......
模拟赛简要题解
11.16(C0389) 100+10+50=160,rk3。 本来 BC 都应该写出来的。 A:dp 或 贪心 都可以,贪心直接从下往上覆盖即可。 B: 注意:这里的 \(\oplus\) 指的是按位或。 合法条件可以化简为:\(\oplus_{i=1}^{p}a_i = \oplus_{i = ......
[LeetCode] 2660. Determine the Winner of a Bowling Game
You are given two 0-indexed integer arrays player1 and player2, that represent the number of pins that player 1 and player 2 hit in a bowling game, re ......
[CTSC2018]暴力写挂题解
我们先将柿子变成 \(\frac{1}{2}(dis_{x,y}+dep_{x}+dep_{y})-dep'_{lca'}\) 考虑边分治,枚举断边,我们将一个点在第二棵树上的点权看成是 \(v_x=d_x+dep_x\),答案就为 \(v_x+v_y+dep'_{lca'}\) 对于每次边分治将分 ......
CF1887D Split 题解
Problem - D - Codeforces Split - 洛谷 我现在水平好烂,再做下去自信心就全败没了 先考虑 \(Q=1\) 怎么做? 两种做法: 暴力枚举分界点,左右判断 暴力枚举 \(\max\limits_{i=l}^{x} a_i\),找到最靠右边的分界点位置 \(x\),判断是 ......
[ABC267F] Exactly K Steps 题解
[ABC267F] Exactly K Steps 题解 思路 首先发现,如果对于查询 \((u, k), k > 0\) 可行,那么对于 \((u, k - 1)\) 也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。 为了方便做, ......
【CF30E】Tricky and Clever Password 题解(manacher + exKMP)
manacher + exKMP + 二分。 感觉是最粗暴的方法,想出来之后自己硬莽了 4k,荣获题解区最长。 Solution 约定:下文所提及到的所有的回文串,均指奇长度回文串。 显然把题目拆成两个部分,中间的回文串,以及两边相同的连续子串。考虑一下从哪个入手比较好。 忘记是咋想的了,易得从两边 ......
[SNOI2019] 网络 题解
[SNOI2019] 网络 题解 最喜欢这道题。 简要题意 给一颗 \(n\) 个节点的树和一个参数 \(d\),定义两个节点 \(x,y\) 之间的距离为 \(x\) 到 \(y\) 的简单路径上的边数。 定义一个树上连通块的权值为连通块中任意两点的距离之和。定义一个树上连通块的直径为连通块中任意 ......
CF1887C Minimum Array 题解
Problem - 1887C - Codeforces Minimum Array - 洛谷 有点被降智了/ll 首先区间修改显然先转化成差分序列单点修改。 显然对于相同的操作序列,\(a_i\) 的取值对答案无影响,因此我们可以先让 \(a_i\) 全部取 \(0\),最后再加回来即可 假如说操 ......