题解
文章平均质量分 67
PYL2077
OIer
展开
-
Atcoder Beginner Contest 341F Breakdown
【代码】Atcoder Beginner Contest 341F Breakdown。原创 2024-02-19 16:04:35 · 714 阅读 · 0 评论 -
Atcoder Beginner Contest 341E Alternating String
【代码】Atcoder Beginner Contest 341E Alternating String。原创 2024-02-19 14:04:11 · 837 阅读 · 0 评论 -
Atcoder Beginner Contest 341D Only one of two
【代码】Atcoder Beginner Contest 341D Only one of two。原创 2024-02-19 11:51:08 · 1031 阅读 · 0 评论 -
Atcoder Beginner Contest 341C Takahashi Gets Lost
【代码】Atcoder Beginner Contest 341C Takahashi Gets Lost。原创 2024-02-19 11:17:01 · 234 阅读 · 0 评论 -
Codeforces 1931E Anna and the Valentine‘s Day Gift
【代码】Codeforces 1931E Anna and the Valentine‘s Day Gift。原创 2024-02-18 19:07:46 · 950 阅读 · 0 评论 -
Codeforces 1931F Chat Screenshots
【代码】Codeforces 1931F Chat Screenshots。原创 2024-02-18 17:59:17 · 475 阅读 · 0 评论 -
Codeforces 1928B Equalize
【代码】Codeforces 1928B Equalize。原创 2024-02-12 17:20:05 · 775 阅读 · 0 评论 -
AtCoder Beginner Contest 340E - Mancala 2
【代码】AtCoder Beginner Contest 340E - Mancala 2。原创 2024-02-12 14:27:18 · 594 阅读 · 0 评论 -
AtCoder Beginner Contest 340D - Super Takahashi Bros
【代码】AtCoder Beginner Contest 340D - Super Takahashi Bros。原创 2024-02-12 13:23:28 · 293 阅读 · 0 评论 -
AtCoder Beginner Contest 340C - Divide and Divide
【代码】AtCoder Beginner Contest 340C - Divide and Divide。原创 2024-02-11 15:57:09 · 1659 阅读 · 1 评论 -
ABC335C - Loong Tracking
【代码】ABC335C - Loong Tracking。原创 2024-01-07 09:15:41 · 440 阅读 · 0 评论 -
ABC335B - Tetrahedral Number
【代码】ABC335B - Tetrahedral Number。原创 2024-01-07 09:04:11 · 359 阅读 · 0 评论 -
ABC335A - 202<s>3</s>
【代码】ABC335A - 202<s>3</s>原创 2024-01-07 09:01:09 · 397 阅读 · 0 评论 -
Codeforces 1849D Array Painting
【代码】Codeforces 1849D Array Painting。原创 2023-09-05 17:08:16 · 148 阅读 · 0 评论 -
Codeforces 1807F
【代码】Codeforces 1807F。原创 2023-07-14 20:51:16 · 213 阅读 · 0 评论 -
Codeforces 1720D1 Xor-Subsequence (easy version)
Codeforces 1720D1 Xor-Subsequence (easy version)原创 2022-12-11 07:47:23 · 460 阅读 · 1 评论 -
CF1721D Maximum AND
CF1721D原创 2022-11-19 21:41:40 · 481 阅读 · 0 评论 -
CF1722E L-shapes
CF1722E L-shapes原创 2022-11-09 18:47:20 · 125 阅读 · 0 评论 -
CF1622E Math Test
题目链接虽然说此题只涉及到贪心和枚举,但是有一定思维难度首先,我们发现此题复杂度瓶颈在于求和中的绝对值符号,因为我们不能对每一个排列 ppp 都求出每个人对应的得分 rrr。那么,我们考虑消除绝对值符号对答案的影响考虑将绝对值符号拆开,那么对于每一个 iii 就会有 xi−rix_i-r_ixi−ri 和 ri−xir_i-x_iri−xi 两种情况。 由于 n≤10n \le 10n≤10,所以总共只会有 2102^{10}210 种情况。那么对于每种情况,由于 xix_ixi 是定值,原创 2022-05-17 16:21:46 · 1148 阅读 · 0 评论 -
ARC139B Make N
Statementad-hoc 题首先我们钦定 Y≤AX,Z≤BXY \le AX, Z \le BXY≤AX,Z≤BX,否则可以用步长为 111 的操作来代替不失一般性地,我们再次钦定 YA≤ZB\frac{Y}{A} \le \frac {Z}{B}AY≤BZ,否则可以交换 A,BA,BA,B 和 Y,ZY,ZY,Z显然步长为 AAA 的操作最多进行 ⌊NA⌋\lfloor \frac{N}{A} \rfloor⌊AN⌋同时步长为 BBB 的操作最多进行 A−1A-1A−1 此,否则就可原创 2022-04-26 10:04:38 · 193 阅读 · 0 评论 -
CF1621E New School
Statement较简单的一道题,不涉及到任何高级算法,就是码量有点大…首先,考虑怎样判断没有学生退学的时候是否满足要求将所有小组的年龄 ave1…mave_{1\dots m}ave1…m 和老师的年龄 a1…na_{1\dots n}a1…n 降序排列后,当且仅当 ∀(1≤i≤m)\forall (1 \le i \le m)∀(1≤i≤m) 满足 avei≤aiave_i \le a_iavei≤ai 时,才满足题目要求对于每一个学生退学的情况,只会改变它所在组别 ppp 的平均值,那原创 2022-04-26 09:53:03 · 140 阅读 · 0 评论 -
CF1582C. Grandma Capa Knits a Scarf
题目链接一道贪心题由于字符集大小只有26,我们考虑枚举删除每一种字母 kkk 的情况首先,我们设 l,rl,rl,r 的值分别为 1,n1,n1,n,并依次考虑 l,rl,rl,r 位置字母的相同情况如果 l,rl,rl,r 位置字母相同,那么就把两个指针同时向字符串中心移动一位如果两位置字母不相同,并且两个字母都不同于 kkk。那么该字母 kkk 一定不是最终答案如果两位置字母不相同,且其中一个为 kkk,那么就删除该字母,并重复上面操作时间复杂度 O(26n)\mathcal{O}(2原创 2021-10-25 21:25:04 · 226 阅读 · 1 评论 -
CF1600E Array Game
CF题目链接洛谷链接一道不太正经的博弈论题,可用递归解决题意给出一个序列,Alice与 Bob 轮流从序列两端取数,并把取出的数按顺序组成一个序列,需要保持此序列严格递增,最后不能取数的人败,求先手是否有必胜策略定义序列 a,ba,ba,b 分别为原序列 www 的最长递增前缀和最长递减后缀,则第一个被取走的数为 aaa 或 bbb 的首元素首先,存在为空的序列,那么如果非空序列长度为奇数先手必胜,否则先手必败如果首元素较大的序列的长度为奇数,那么先手必胜。因为先手取了第一个数后,原创 2021-10-15 16:34:13 · 287 阅读 · 0 评论 -
AGC001C - Shorten Diameter 题解
题目链接题意给出一个 nnn 个节点的树,每次操作可以删除一个叶子节点问最少需要进行多少次操作,才能让剩下的树满足直径不超过 kkk考虑对答案求补集,也就是考虑留下哪些节点。对于一棵树的直径中点,满足所有点到中点的距离不超过直径的一半。注意当直径长度为奇数时,直径中点为一条边那么,我们可以枚举每一个点(边)作为直径中点时,直径不超过 kkk 的树的最大节点数时间复杂度 O(n2)\mathcal O(n^2)O(n2)#include<cstdio>#include<i原创 2021-05-12 10:55:05 · 289 阅读 · 0 评论 -
P7453 [THUSCH2017] 大魔法师 题解
题目链接感觉本题没有太多思维难度,纯DS大致思路把每个位置的三个属性看做一个 1×41\times 41×4 的矩阵(第四个位置维护常数项),并用线段树维护区间矩阵和同时,我们计算出六种修改操作的转移矩阵,修改时直接将原矩阵乘上转移矩阵。由于矩阵满足结合律与分配率,所以可以将单点修改扩展为区间修改。下面是分别六种操作的转移矩阵[1 0 0 01 1 0 00 0 1 00 0 0&nb原创 2021-04-25 19:49:09 · 206 阅读 · 0 评论 -
Codeforces CF1516C Baby Ehab Partitions Again
题目大意给出一个长度为 nnn 的序列,问最少需要删除多少个元素,满足剩下的序列不能分为两个元素和相等的集合首先,我们用背包判断原序列是否已经满足要求如果不满足,那么我们将证明只需要删去一个元素就可以让原序列满足要求 :我们先考虑一个较为特殊的情况,也就是存在一个奇数的 aia_iai,那么我们只需要将这个奇数删去,这样剩下的元素和为奇数,就一定满足要求。如果在这种特殊情况之外,那么就一定存在一个最大的 kkk,满足 2k∣ai (1≤i≤n)2^k|a_i \space (1\le原创 2021-04-22 11:38:30 · 286 阅读 · 0 评论 -
Codeforces CF1516D Cut
题目大意给出一个长度为 nnn 的序列 aaa,以及 qqq 次询问每次询问给出 l,rl,rl,r,问最少需要把区间 [l,r][l,r][l,r] 划分成多少段,满足每段内元素的 LCM 等于元素的乘积这数据范围,这询问方式,一看就是DS题首先,我们考虑 LCM 的性质。如果一段区间内的数的 LCM 等于所有元素之积,那么这个区间中的数一定两两互质。我们设 nxtinxt_inxti 表示 iii 后面第一个与 aia_iai 互质的数的位置同时,记 fif_ifi 为以 iii 为原创 2021-04-22 10:20:08 · 452 阅读 · 2 评论 -
Codeforces CF1516B AGAGA XOOORRR
题目大意给出一个长度为 nnn 的序列,可以进行若干次操作,每次操作将某相邻两数变为他们的异或和(注意操作后序列长度减一)。求是否可以经过若干次操作,得到一个长度至少为 222 且所有元素相等的序列首先,我们考虑所有满足条件的目标序列之间的关系对于一个长度不小于 333 的所有元素相等的序列,设序列长度为 nnn,则该序列一定可以变换成一个长度为 n−2n-2n−2 的元素相等序列。我们称这两个序列是本质相同的那么,我们可以发现,在所有满足条件的目标序列中,最多只会有两个不等价的。并且他们的长度分原创 2021-04-22 09:36:42 · 295 阅读 · 0 评论 -
Codeforces CF1404B Tree Tag
题目链接题目大意有一棵 nnn 个节点的树,初始时 Alice 在 sss 点,Bob 在 ttt 点。他们将轮流在树上移动,每次 Alice 的移动距离不超过 dadada,Bob 不超过 dbdbdb,不可以不移动问如果 Alice 先开始移动,并且两人都按最优方案移动,Alice 是否能在 1010010^{100}10100 轮内追上 Bob题解首先,考虑两种特殊情况dis(s,t)≤da\operatorname{dis}(s,t) \le dadis(s,t)≤da:Alice原创 2021-04-13 16:37:34 · 117 阅读 · 0 评论 -
APIO2020 粉刷墙壁 题解
P6764 [APIO2020]粉刷墙壁VP的时候打满了63分,没想到正解竟是两个暴力的合体/dk首先,在这里定义粉刷匠的下家关系:对于粉刷匠 i,ji,ji,j,如果 i+1=ji+1=ji+1=j 或者 i=m,j=1i=m,j=1i=m,j=1,则称 jjj 是 iii 的下家6分:f(k)≤1f(k)\le 1f(k)≤1可以发现,对于每一次操作,要么所有的粉刷匠都刷一格,要么都不刷。所以,我们尝试对于每一格,是否存在一种粉刷顺序使得可以刷完后面的 mmm 格。设 fif_ifi 表示原创 2021-04-13 09:47:27 · 359 阅读 · 0 评论 -
USACO 2021 OPEN GOLD 题解汇总
目前题解设的私密,等到晚上八点再开放一个小时内把前两题切了,T3暴力打了3h /kk终于上铂金了QwQProblem 1. United Cows of Farmer JohnProblem 2. PortalsProblem 3. Permutation:咕咕咕咕原创 2021-04-06 19:45:48 · 565 阅读 · 2 评论 -
USACO 2021 OPEN GOLD (金组) Portals 题解
题(yu)意(wen)比(bu)较(tai)长(hao),这里就不赘述了首先,我们考虑把每个点拆成两部分,每一部分分别有两条边(也就是题目中的传送门),可以发现这样对答案没有任何影响。接下来,我们尝试证明拆点后的图的每一个连通块都是点双联通分量,也就是不存在割点。假设存在一个割点,那么将该点割掉后,剩下的两个连通块满足如下性质连通块中有且仅由一个点度数为 111其他所有点的度数都为 222那么,设其中一个连通块的点数为 kkk,那么该连通块的边数就是 2k−12\frac{2 k-1}{2}原创 2021-04-06 19:40:48 · 560 阅读 · 0 评论 -
USACO 2021 OPEN GOLD (金组) United Cows of Farmer John 题解
题目大意给出一个长度为 nnn 的序列 aaa,问有多少个区间 [l,r](1≤l<r≤n)[l,r] (1\le l < r\le n)[l,r](1≤l<r≤n) 满足 al,ara_l,a_ral,ar 在区间中都只出现了一次解题思路签到题首先,我们记 prei,nxtipre_i,nxt_iprei,nxti 分别表示 iii 前后第一个与 aia_iai 相同的位置接着,我们可以发现每个位置作为右端点对答案的贡献就是所有满足 nxtj>inxt_j>原创 2021-04-06 18:59:10 · 604 阅读 · 0 评论 -
P7469 [NOI Online 2021 提高组] 积木小赛(民间数据)题解
题目链接我的做法竟然跟官方题解一样 /jk赛时的沧桑路程:O(n4)→O(n3)→O(n2log(n2))\mathcal O(n^4) \rarr \mathcal O(n^3) \rarr \mathcal O(n^2 \log (n^2))O(n4)→O(n3)→O(n2log(n2))O(n4)\mathcal O(n^4)O(n4):考虑每一个 TTT 的连续子串,用 O(n2)\mathcal O(n^2)O(n2) 的DP来计算它是否为 SSS 的子串。我们记当前枚举到的 TTT原创 2021-03-28 16:52:26 · 254 阅读 · 1 评论 -
Codeforces CF1484B Restore Modulo 题解
题目链接题目大意给出一个序列 aaa,问是否能找到四个数 n,m,s,cn,m,s,cn,m,s,c,满足以下条件aaa 的长度为 nnna1=smod ma_1=s \mod ma1=smodmai=(ai−1+c)mod m ∣ (1<i≤n)a_i=(a_{i-1}+c) \mod m \space | \space (1 < i \le n)ai=(ai−1+c)modm ∣ (1<i≤n)0≤c<m0 \le原创 2021-03-22 15:47:39 · 459 阅读 · 4 评论 -
Codeforces CF1483C Skyline Photo 题解
题目链接感觉这道题跟当晚的ARC E 撞了,虽然并不是完全一样。结果我ARC E和这道题都没有在赛时做出来/kk。这里记 ai,bia_i,b_iai,bi 为第 iii 个楼房的高度和美丽值。我们设 fif_ifi 为前 iii 栋房屋可以得到的最大美丽值,且 val(l,r)\operatorname{val}(l,r)val(l,r) 表示区间 [l,r][l,r][l,r] 内最矮的楼房的美丽值。那么显然我们可以得到一个 O(n2)\mathcal O(n^2)O(n2) 的转移:原创 2021-03-22 10:58:18 · 2720 阅读 · 7 评论 -
P3480 [POI2009]KAM-Pebbles 题解
题目链接难度可能有点虚高其实这题并不难,只需要通过一个巧妙的方法将问题转化为阶梯Nim即可。我们设 cic_ici 为第 iii 堆可以取的石子数,显然最开始 ci=ai−ai−1c_i=a_i-a_{i-1}ci=ai−ai−1如果在第 iii 堆取出 xxx 个石子,那么 cic_ici 就会减少 xxx,同时 ci+1c_{i+1}ci+1 就会增加 xxx。那么,我们发现这就是一个倒着的解题Nim然后这题就做完了#include<cstdio>#include&原创 2021-03-18 15:45:40 · 118 阅读 · 0 评论 -
CF794C Naming Company 题解
题目链接题目大意A,B 两人各有一个长度为 nnn 的,由小写字母构成的字符串 s,ts,ts,t,还有一个长度为 nnn,初始时由 ? 组成的目标串 fff现在,A和B轮流进行如下操作:在自己的字符串中选出一个字符 xxx将 fff 中的一个 ? 替换为 xxx将 xxx 从自己的字符串中删去当 fff 中没有 ? 时游戏结束A 的目标是让 fff 的字典序尽量小,而 B 的目标是让字典序尽量大现在设 A 为先手,你需要求出游戏结束后的 fff注意:s,ts,ts,t 中可能有多个原创 2021-03-16 11:03:08 · 193 阅读 · 0 评论 -
CF1495A Diamond Miner 题解
题目链接翻译本题其实就是一个贪心首先我们把题意转化一下,变为:有 nnn 条横向边与 nnn 条纵向边,现在要将他们两两配对,满足组成的直角三角形的斜边和最小。方法 1我们先将这些边任意配对,并尝试将它修改地更优。那么,刚开始的配对情况可能长这样:我们尝试修改:如上图,根据三角形边长定理,显然红边长度和小于绿边长度和。那么我们就用红边来替代绿边。那么,对于每两条交叉的边,我们按如上方法对分配方案进行修改。最后,这些斜边肯定是两两不相交的。所以,我们只需要按边长排序,然后长边跟长边配,原创 2021-03-11 11:25:55 · 219 阅读 · 0 评论 -
CF1060E Sergey and Subway 题解
题目链接两百年前看题解做过的一道题,自己还写了个题解,现在回来感觉当时的做法极其不严谨。设 dis(i,j)\operatorname{dis}(i,j)dis(i,j) 表示 i,ji,ji,j 的距离。我们可以发现,对于每一个点对 (i,j)(i,j)(i,j):如果原来 dis(i,j)\operatorname{dis}(i,j)dis(i,j) 为偶数,那么加上新边后就变成了 dis(i,j)2\frac{\operatorname{dis}(i,j)}{2}2dis(i,j)。原创 2021-03-05 10:58:41 · 184 阅读 · 1 评论