题解129d arc
项链 题解
随机化写法很强,但是这里不说。 这里只记录数据结构写法。 枚举右端点,快速找左端点。 首先一种合法的方案中,一种颜色只会有两种情况。全部在区间中及全部在区间外。 对于区间外的情况,也就是最后一次出现的位置 \(p\) 大于右端点 \(r\),我们可以维护当前枚举右端点之前的所有颜色非最后一次出现的点 ......
CF1203(Div. 3) 题解(C to F1)
由于太懒了,所以不想(会)写 \(\texttt{A B}\) 和 \(\texttt{F2}\)。 C Common Divisors 题解 题目大意 给定一个长度为 \(n\) 的数列 \(\{a_i\}\),求 \(\sigma(\gcd\limits_{i\in[1,n]}\{a_i\})\ ......
[题解]P3656 [USACO17FEB] Why Did the Cow Cross the Road I P
思路 首先,\(A\) 和 \(B\) 只会移动一个,那么,我们分开来算,我们先假定 \(B\) 会动。 不妨令 \(A\) 与 \(b\) 连边的端点为 \(x,y\)。如果有线段 \(pq\) 能与 \(xy\) 相交,一定满足如下其中一条规律: \(p < x \wedge q > y\) \ ......
Solution -「ARC 106E」Medals
Desc. Link. 你有 \(n\) 个朋友,他们会来你家玩,第 \(i\) 个人 \(1...A_i\) 天来玩,然后 \(A_i+1...2A_i\) 天不来,然后 \(2A_i+1...3A_i\) 又会来,以此类推; 每天你会选一个来玩的人,给他颁个奖,如果没人来玩,你就不颁奖。 你要给 ......
GDKOI2016 魔卡少女 题解
首先看到询问有关位运算考虑拆为处理,由于 \(a_i \leq 10^3\) 所以一个数最多有 \(10\) 位。 我们考虑对于一位它的贡献是多少,我们发现第 \(j\) 位一个连续段的异或值为 \(1\) 时会产生 \(2^j\) 的贡献,所以问题转化为快速求所有位上异或和为 \(1\) 的区间个 ......
CF1873(Div. 4) 题解 (A to E)
A Short Sort 题解 题目大意 给定一个长度为 \(3\) 、由 \(a,b,c\) 组成的字符串,问可以不变或交换两个字符是的变为 \(\texttt{abc}\)。 解题思路 由于大小固定,所以预处理可行的字符串(仅包含 \(\texttt{abc acb bac cba}\))即可。 ......
题解 CF1034C【Region Separation】/ SS221116D【Xiong AK 10 IOI】
很妙的性质题!全是意识流证明见过吗? problem 每次选一个非空边集删掉,谓之曰砍树。砍树后需要满足每个连通块的点权和相同。 在一个方案中可以砍很多次树,都要满足砍树后的要求。一共有多少种合法方案呢? \(n\leq 10^6,1\leq a_i\leq 10^9\)。 solution 假如我 ......
传奇团子师傅题解
传奇团子师傅题解(模拟退火) 申明: 本篇题解借鉴了: https://www.luogu.com.cn/blog/SDNetFriend/solution-p7218 这篇博客(主要在bitset部分)。 题意: 给你个矩阵,包含三种颜色,一个美丽串要求你横着或者竖着或者斜着串成一串的三个颜色有特 ......
『题解』P9688
题目传送门 思路: 设有两个颜色 \(x_1 x_2\) ,两端分别为 \(l_1\) \(r_1\) , \(l_2\) \(r_2\)。通过观察可以发现,若满足 \(x_1<x_2\) 且 \(r_1 > l_2\) 则 \(x_1 x_2\) 一定是单调不下降的。 那么我们可以先预处理出一个颜 ......
题解 Coloring Brackets
题目链接 对于括号问题,考虑区间 \(dp\)。这道题的括号序列是固定的,所以直接找出每个括号对应的括号在进行转化即可。 设 \(f_{l,r,0/1/2,0/1/2}\) 表示 \(l\sim r\),左括号不染色/染红色/染蓝色,右括号不染色/染红色/染蓝色的方案数。 若 \(l,r\) 是一对 ......
CF1661D Progressions Covering 题解
最详细的题解 题目传送门:Progressions Covering 阅读前人题解时,限于个人能力有限,有一些地方想了好一会儿才懂。发现很多题解都是在 @SDLTF_凌亭风 等作者基础上延伸,但详细程度依旧有限,尽管这篇题解亦是站在他们基础上延伸的,这篇题解更为详细的点明了很多地方。 本人第一次写题 ......
[ARC150D] Removing Gacha 题解
题意 给定一棵由 \(N\) 个节点组成的树,每个节点有黑白两种颜色。定义一个节点 \(u\) 为好的当且仅当路径 \(1 \leftrightarrow u\) 上的节点均为黑色的,反之为坏的。初始情况下所有点均为白色。 定义一次操作为选取一个坏的节点并将其染黑,求将全部节点均染为黑色的期望操作次 ......
洛谷 Power Tree 题解
题目链接 Power Tree 分析 将叶子节点按dfs序重标号后,每次控制操作可以转化为将子树内叶子节点所在区间加(或减)一个数 不难可以想到将叶子区间进行差分 每次对 \(l\) 到 \(r\) 的操作可以转化为将 \(l\) 上的数转移到 \(r+1\) 上 每次操作后差分数组的和不变 将所有 ......
[题解] CF632F - Swimmers in the Pool
CF632F - Swimmers in the Pool 题目传送门 题意 给定一个大小为 \(n \times n\) 的矩阵 \(A\) 。假设 \(A\) 满足以下条件,那么称该矩阵为 MAGIC ,否则为 NOT MAGIC ,并输出对应的属性(即 \(A\) 是 MAGIC 还是 NOT ......
GDCPC2023 B , D , F , K 题解
和队友一起打的 2023 年广东省大学生程序设计竞赛重现赛,写了 B, D, K,胡了一个 F。 D 题目大意 随着广东的建设与发展,越来越多人选择来到广东开始新生活。在一片新建的小区,有 \(n\) 个人要搬进 \(m\) 栋排成一行的房子,房子的编号从 \(1\) 到 \(m\)(含两端)。房子 ......
几道 ARC 的题目
写在前面的话 我从今年 \(7\) 月末开始断断续续地写 ARC 的题目,\(9\) 月中旬的时候已经做了少量的题了,还有许多 F 没写,一方面是因为我水平太差看不懂题解,另一方面是因为一种题写多了总是有一种无聊的感觉的。所以到此为止吧,把这些日子水的题放在这篇博客中吧,以后再写 ARC 的题大概会 ......
题解 [CSP-S 2021] 括号序列
题目链接 对于括号题,基本是栈匹配没有匹配的左括号和区间 \(dp\) 两个方向。这道题括号序列并不确定,只能用区间 \(dp\) 搞。 如果直接设 \(f_{l,r}\) 表示 \(l\sim r\) 的合法括号序列,那么由区间 \(dp\) 的套路可知,需要枚举中间点进行合并,那么 \(()() ......
[题解]CF1748C Zero-Sum Prefixes
UPD 23.10.3 更新的对思路的描述,以及代码。 思路 对于每一个 \(a_i = 0\),如果我们将它变为 \(x\),都可以直接将 \(i \sim n\) 位置上的前缀和加 \(x\)。 设 \(a_j\) 是 \(a_i\) 后第一个 \(0\),那么,在 \(j\) 时同样有上述规律 ......
【题解】洛谷 P1003 [NOIP2011 提高组] 铺地毯
原题链接 解题思路 如果直接按照题意开一个二维数组来模拟每个点最上面的地毯编号,会发现所占空间最坏情况下约为 (2*105)2*4B=4*1010*4B=1.6*1011B≈149GB,程序完全无法运行。 但实际上没有必要将每一个点的信息记录下来,只需要记录每一块地毯能覆盖哪些点,再依次判断哪那些地 ......
题解 [蓝桥杯 2016 省 B] 交换瓶子
题目链接 本题解讲解环图的做法。 要将一个 \(1\sim n\) 的排列通过交换变成 \(1\sim n\),可以先将 \(i\) 向 \(a_i\) 连边,那么最终一定会练成若干个环(每个点只有一个出度,也只有一个入度)。 假设交换在同一个环中的节点,一个环显然会变成两个环,也就是说,交换一次最 ......
「题解」Codeforces Round 894 (Div. 3)
A. Gift Carpet Problem 题目 Sol & Code 签到题 #include <bits/stdc++.h> #define N 21 typedef long long ll; int min(int a, int b) { return a < b ? a : b; } i ......
T2回家(home)题解
T2回家(home) 现在啥也不是了,虽然会了逆元,但是对期望概率题还是一窍不通,赛时相当于只推出了 \(n=1\) 的情况,结果运用到所有情况,理所应当只有20分。 题目描述 小Z是个路痴。有一天小Z迷路了,此时小Z到家有NN个单位长度。小Z可以进行若干次行动,每次行动小Z有 \(\frac 1 ......
[ARC035B] アットコーダー王国のコンテスト事情 题解
前置芝士 排列组合 分析 明显的贪心,第一问与此题思路相似,优先选择做时间少的,可以尽可能让后面的罚时尽量的小。 难点在第二问,第二问问的是有几种可能性,有个显然的结论: 相同做题时间的题目,位置调换答案仍然相同。 那么可以用 桶+排列组合 来解决: 用桶储存这个做题时间的出现次数 \(b_i\), ......
AT_abc321_f 题解
# 思路 简单动态规划,$dp_i$ 指当前操作后取和为 $i$ 的球的方案数,每次输出 $dp_K$ 即可。 需要注意的是对于每次 `+ x` 操作,计算 $dp$ 数组时要倒着循环。 时间复杂度:$O(QK)$。 # 代码 ```cpp#include<bits/stdc++.h>using n ......
CodeForces-1276#B 题解
正文 这是样例 1 第 1 组数据的图。 让我们观察一下,路径 1->6、1->7、2->6、2->7 是可行的,所以答案为 4。 上述路径中好像点 4 没有贡献? 再看看样例 1 第 2 组数据的图。 发现点 1 和点 4 相互之间存在其他路径,无需经过点 \(a\) 和点 \(b\)。 综上,我 ......
P4839 P 哥的桶 题解
题目大意 有 \(n\) 个桶, \(m\) 次操作。 在 \(pos\) 桶中加入一个 \(val\) 值, 求 \([l,r]\) 中选任意个桶使得异或和最大,求最大的异或和, 注意每个节点是一个桶可以放多个值 \(n,m≤5×104\) 。 题目思路 单点修改,区间查询,异或最大值 很显然是线 ......
AT_abc279_g [ABC279G] At Most 2 Colors 题解
题解 \(dp[i]\) 表示长度为i的格子的合法涂色数,考虑第 \(i\) 个怎么放 第 \(i\) 个前面 \(k-1\) 个位置有2种颜色,则第 \(i\) 个位置只能放这两种颜色中的一种 用合法方案减只有一种的方法,即得两种颜色的方案数 而只有一种颜色的方案数,等于 \(f[i-k+1]\) ......
ABC263G Erasing Prime Pairs 题解
这是一个只用最大流的做法。 思路 首先发现一个性质,除了 2 以外的所有质数都是奇数,而奇数 = 奇数 + 偶数,所以大多数情况下只能一奇一偶配对,唯一的特例是 \(1+1=2\)。 考虑先处理大于 1 的所有数的配对,对于所有 \(a_i + a_j\) 为质数的 \((i,j)\) 连边,由于合 ......
ABC231G Balls in Boxes 题解
考虑 DP,设 \(f_{i,j}\) 表示在前 \(i\) 个盒子放 \(j\) 次球的所有方案得分之和,得到转移式: \[f_{i,j}=\sum\limits_{k=0}^{j}{j \choose k}f_{i-1,k}(a_i+j-k)\\ \]发现这个转移式简直是为 EGF 量身定制,于 ......