circle 020f arcs agc

ARC169 B Subsegments with Small Sums 题解

Link ARC169 B Subsegments with Small Sums Question \(x\) 是一个序列,定义 \(f(x)\) 为把序列 \(x\) 切成几段,每段的和不能超过 \(S\) 的最小段数 给出序列 \(A=(A_1,A_2,\cdots,A_N)\) 求: \[\ ......
题解 Subsegments Small with Sums

ARC169 A Please Sign

Link ARC169 A Please Sign Question 给出 长度为 \(n\) 的数组 \(A\),以及长度为 \(n-1\) 的数组 \(P\),满足 \(P_i<i\),\(P\) 标号为 \(2\sim n\) 每一轮操作为 \(A_{P_i} \leftarrow A_i+A ......
Please Sign ARC 169

[AGC037E] Reversing and Concatenating 题目解法

题目链接 点击打开链接 题目解法 很妙的一道题 首先考虑最大化开头出现的最小字母( \(c\) )的个数 可以发现,通过一次操作可以截出后缀为 \(c\) 的序列,之后的操作每次可以倍长 \(c\) 的长度 如果倍长 \(k-1\) 次之后的长度仍然 \(<n\),那么我们需要考虑在保证上面的条件最 ......
解法 Concatenating Reversing 题目 037E

ARC169

A 我们定义 \(dp_{dep}\) 为第 \(dep\) 层会对上一层产生多少的影响。 如果有一层的影响大于 \(0\),在足够次计算后那么肯定是正号。如果小于零那就一定是负号。 由于越久影响到的,对答案的贡献就越大。 所以层数倒叙枚举即可。 code ......
ARC 169

[ARC164E] Segment-Tree Optimization 题解

题目链接 题目链接 题目解法 一个自认为比较自然的解法 这种一段序列切成两部分的问题首先考虑区间 \(dp\) 令 \(f_{l,r}\) 为 \([l,r]\) 能构成的最小深度,\(g_{l,r}\) 为在 \(f_{l,r}\) 最小的情况下最少的最大深度的点的个数 转移枚举 \(k\) 即可 ......

『做题记录』[AGC032B] Balanced Neighbors

[AGC032B] Balanced Neighbors Description 给定整数 \(N\) ,构造一个从 \(1\) 到 \(N\) 编号的 \(N\) 个节点的无向图,使得: 该图不含有重边和自环,并且是连通的。 每个节点的所有邻接节点的编号之和相同。 \(N \leq 100\) S ......
Neighbors Balanced 032B AGC 032

ARC121D 1 or 2

题意 你有 \(n\) 个糖果,第 \(i\) 个的价值为 \(a_i\)。 每次操作可以选 \(1\) 或 \(2\) 个糖果。 问在所有的方案中,\(1\) 个或 \(2\) 个糖果的价值之和的最大值和最小值之差最小是多少。 Sol 很有趣的诈骗题。 首先套路的,考虑将选一个的情况变为选一个 \ ......
121D ARC 121 or

[AGC049D] Convex Sequence 题解

题目链接 点击打开链接 题目解法 好题!! 考虑原题的限制相当于原序列下凸,即差分数组单调 考虑把原序列在第一个最小值处割成 \(2\) 半 因为原序列是凸的,所以非最小值的长度是 \(\sqrt {2m}\) 级别的 这可以让我们 \(dp\) 差分数组,即求满足 \(\sum\limits_{i ......
题解 Sequence Convex 049D AGC

[ARC165E] Random Isolation 题解

题目链接 点击打开链接 题目解法 略有些套路的概率题,不过中间的把操作序列看成排列的操作还是很妙的 首先套路的考虑期望的线性性,有两个方式:把贡献放在点上或点集上,这里采用后面的方式做 对于每一个树上的集合 \(S\),假设大小为 \(n\),相邻的点为 \(m\) 考虑这个集合独立的限制为:相邻的 ......
题解 Isolation Random 165E ARC

Atcoder-ARC165F-Make Adjacent

ARC 165 - F - Make Adjacent Statement 给定一个长度为 \(2n\) 的数列 \(a\) ,其中对于每个数 \(i \in [1,n]\),恰好在 \(a\) 中出现两次。每次可以将两个相邻的数交换。最后要求 \(\forall i \in [1,n] : a_{ ......
Atcoder-ARC Adjacent Atcoder F-Make Make

[AGC040D] Balance Beam

[AGC040D] Balance Beam 颇有难度的一道题。 首先思考我们的手上有什么武器可以使用。发现如果石板的排列确定下来,那么合法的 B 一定是形如 \([0, x)\) 的一段区间。我们只需令 \(x\) 最大即可。同时,显然可以认为终点一定在整点上。题目中很为难我们的一点是位置并不是离 ......
Balance 040D Beam AGC 040

ARC076D Yakiniku Restaurants

题意 有 \(n\) 个商店。每个商店有 \(m\) 个物品。每个物品的价值为 \(b_{i, j}\)。每种物品只能被购买一次。 你可以选择一个起点,在任意商店结束购买。获得的价值为 \(m\) 个物品之和减去路程。 求最大可获得的价值。 \(n \le 5e3, m \le 200\) Sol ......
Restaurants Yakiniku 076D ARC 076

ARC121E Directed Tree

ARC121E Directed Tree 有意思的容斥加树 dp。 思路 \(a_i\) 可以是除去 \(i\) 祖先之外的所有点,考虑 \(a_i\) 的逆排列。 每一个 \(i\) 在正排列里都可以被不是自己子树内的点选择,那么逆排列里 \(i\) 不可以放自己子树内的点(不包括自己)。 现在 ......
Directed 121E Tree ARC 121

ARC121D 1 or 2

ARC121D 1 or 2 诈骗题。 思路 吃一个糖的操作可以看做是和一个 \(a_i\) 为 0 的糖一起吃。 可以枚举有多少个糖单独吃来确定要增加多少个 0。 问题变为每次吃两颗糖。 根据人类直觉,有一个贪心,最小的糖和最大的糖一起吃最优,次小的糖和次大的糖一起吃最优,依次类推。 怎么证明这个 ......
121D ARC 121 or

[ARC121F] Logical Operations on Tree 题解

题目链接 点击打开链接 题目解法 比较好的题 首先要发现一个性质是:先删 AND 边,再删 OR 边最优 小证一下:分类讨论 AND 边两端的数字情况 \(0 \& 0\) 左右两端虽然可能可以把 \(1\) OR 过来,但这种情况先做 \(\&\),也一定可以 OR 得到 \(1\) \(0 \& ......
题解 Operations Logical 121F Tree

[ARC106E] Medals 题解

题目链接 题目链接 题目解法 感觉不难啊,怎么想到网络流和 \(hall\) 定理后面就屁都没想到呢 首先一眼网络流 先二分答案 考虑一个朴素的建图方法是:把每个人拆成 \(k\) 个点,然后往在的天连边,跑最大流,满流即合法 可以发现,跑网络流对这道题还说没有必要,因为只要判是否有完美匹配 不难想 ......
题解 Medals 106E ARC 106

[AGC032D] Rotation Sort 题解

题目链接 点击打开链接 题目解法 题目中的操作可以理解为一个点移动位置 首先给出一个结论:每个点只会动至多一次 考虑 \(dp\) 一个比较妙的状态设定是 \(f_i\) 表示 \(i\) 不动的方案数 不妨枚举 \(j\) 表示上一个不动点,限制是 \(j<i\) 且 \(p_j<p_i\) 中间 ......
题解 Rotation 032D Sort AGC

[AGC037D] Sorting a Grid 题解

题目链接 点击打开链接 题目解法 从后往前推一下,可以得到 \(C\) 一定要把每一行的数都归位到那一行,\(B\) 一定要每一列的目标行数互不相同 考虑构造 \(B\) 这个限制看起来略有些网络流,所以考虑如何建图 令 \(a_{i,j}\) 的目标行数为 \(ln_{i,j}\),我们由 \(i ......
题解 Sorting 037D Grid AGC

[ARC125E] Snack 题解

题目链接 点击打开链接 题目解法 这题看起来很 \(flow\),不难想到边数 \(nm\) 的建图方法: 具体来说,边为 \((S,i,c_i)(i\in [1,m])\),\((i,j,b_i)(i\in [1,m],\;j\in [1,n])\),\((j,T,a_i)(j\in [1,n]\ ......
题解 Snack 125E ARC 125

[ARC141D] Non-divisible Set 题解

题目链接 点击打开链接 题目解法 很思维的题,需要用好所有的特殊性质 暴力的做法是建出图,然后求包含点 \(i\) 的最长反链,但这明显过不了 上面的做法没用到 \(a_i<2m\) 的性质 如何用?把 \(a_i\) 拆分成 \(q\times 2^k\;(k\) 为奇数\()\) 的形式,那么对 ......
题解 Non-divisible divisible 141D ARC

[ARC141E] Sliding Edge on Torus 题解

题目链接 点击打开链接 题目解法 比较套路的题 首先画个图,然后把 \(y-x\) 相同的变成一个点(使 \(y>x\)) 然后再两个点之间连有权边 那么问题就变成求新图的每个连通块中形成的原图的连通块数量 手玩几个数据发现,原图的连通块数量即为新图的所有环长的 \(\gcd\),再和 \(n\) ......
题解 Sliding Torus 141E Edge

[AGC061C] First Come First Serve 题解

题目链接 点击打开链接 题目解法 易知总情况数为 \(2^n\) 考虑重复计算的情况为:存在 \([l_i,r_i]\),满足没有 \([l_j,r_j](i\neq j)\) 选在此区间中 可以得到一个容斥的 \(dp\) 做法 这个转移虽然感觉很显然,但卡了我一个晚上,一直调不出 令 \(f_i ......
题解 First Serve 061C Come

[ARC120E] 1D Party 题解

提供二分+DP做法。 Solution 题意 给出 \(n(\le 2\times 10^5)\) 个单调递增偶整数 \(a_i\),求最小的 \(k\) 满足每一个 \(i\) 都可以在 \(k\) 时刻之前(含)与相邻的数相遇。每个单位时间可以移动一个单位距离。 思路 启发式思考 在想到正解之前 ......
题解 Party 120E ARC 120

[AGC063C] Add Mod Operations 题解

题目链接 点击打开链接 题目解法 好难想的构造题!!!到底是怎么想到的??? 首先无解的条件是好判的,如果有 \(i\neq j,\;a_i=a_j\) 且 \(b_i\neq b_j\),那么就无解 将 \(a\) 从小到大排序 考虑下面的构造方式:\(y=curmax+x\),这样可以使最大值清 ......
题解 Operations 063C AGC 063

AT_ARC158A解题报告

AT_ARC158A 解题报告 题意 题目传送门 给你3个数 \(a,b,c\),通过若干次操作使得 \(a=b=c\)。 一次操作指将 \(a,b,c\) 按任意顺序分别 \(+3,+5,+7\)。 若可以使 \(a=b=c\),输出最小操作次数,否则输出 \(-1\)。 思路 我们可以将 \(+ ......
报告 AT_ARC ARC 158 AT

AT_ARC161B解题报告

AT_ARC161B 解题报告 题意 题目传送门 给你一个正整数 \(N\),求小于等于 \(N\) 的所有数中最大的一个在二进制下拥有 \(3\) 个 \(1\) 的数。 思路 我们先看无解的情况,因为题目要求必须有 \(3\) 个 \(1\),所以当 \(n \leq 6\) 时,直接输出 \( ......
报告 AT_ARC ARC 161 AT

[AGC052B] Tree Edges XOR 题解

题目链接 点击打开链接 题目解法 怎么感觉这场 \(B\) 比 \(C\) 思维量更大 考虑一步很妙的操作:把边权变成点权,以达到简化操作的目的 使每条边的边权为两端点的异或和,手画一下可以发现,操作简化成了交换两端点的点权 我们定义 \(d_{1/2,i}\) 定义为在 \(1/2\) 树上,\( ......
题解 Edges 052B Tree AGC

ARC118

ARC118 第一次做arc场,被爆杀QAQ ARC118A link ARC118A题意 ARC国家的消费税率是 \(t\) 。其中 \(t\) 是正整数。 ARC国家有整数屋。整数屋先生以不含税价格 \(A\) 日元处理着各个正整数 \(A\),这个含税价格是 \(\lfloor\frac{10 ......
ARC 118

[AGC052C] Nondivisible Prefix Sums 题解

题目链接 点击打开链接 题目解法 好题! 一个序列是不合法的,必定满足某些结论,我们不妨猜测一下 首先如果和为 \(P\) 的倍数,必定不合法 然后手玩几个可以发现,最极限的情况是 \(P-1\) 个 \(1\;+\;\) \(b_i\; + \;\) \(P-b_i\) 如果在这个情况下再加一个 ......
题解 Nondivisible Prefix 052C Sums

AGC021 解题笔记

好久没写一整场 CF 或者 AT 的题解了,所以写一篇。 C 有点意思的题。 考虑先放横再放竖,若确定所有横的位置,那么每列独立。所以记 \(f_i\) 表示第 \(i\) 列最多放多少个,考虑放一个横对 \(f_i\) 的影响。 若 \(n\) 为奇数,那么第一行放满显然最优。若某时 \(A>1\ ......
笔记 AGC 021