arc 141

[ARC166D] Interval Counts 题解

Description 给定正整数 \(n\) 和长度为 \(n\) 的序列 \(x_i,y_i\),保证 \(x_i\) 单调递增。你要构造 \(m\) 个区间 \([L_i,R_i]\)(\(m\) 由你指定),使每个 \(x_i\) 恰好被 \(y_i\) 个区间包含。 最大化 \(\min_ ......
题解 Interval Counts 166D ARC

[ARC098F] Donation

质量很大,孩子很喜欢🥰 上来就感觉很神秘,要决策的东西有点多,起点,交钱,还有每个点的限制,应该没法做。 所以直接考虑倒过来,假设我们最后还剩下 \(w\) 元,去判断能不能反着跑完。如果能跑完答案就是 \(w+\sum b\)。 一开始其实并不知道这样对不对,先看一看有没有更好的条件。假设一开始 ......
Donation 098F ARC 098

ARC099

shaber round。 A 显然都会变成 1。枚举穿过 1 的那次操作在哪,剩下两边的答案直接算出来就行。 B 不会。 C 完全子图 的判定,直接考虑建立补图。那么补图一定是一张二分图。染色判定。 如果我们划分为了 \(n=x+y\) 两个大小的完全子图那么答案就是 \(\frac{x(x-1) ......
ARC 099

ARC板刷计划

板刷自 ARC104 起所有 ARC 的 \(\text{C}\sim\text{E}\) 题。 进度:https://kenkoooo.com/atcoder/#/table/lsj2009。 ARC104 https://atcoder.jp/contests/arc104/tasks/arc1 ......
板刷 ARC

ARC100

A 直接 \(a_i\gets a_i-i\) 做中位数就行。 B 这我都不会??? 不能嗯二分答案。考虑相当于枚举三个数 \(i<j<k\) 算 \(s_i,s_j-s_i,s_k-s_j,s_n-s_k\),然后枚举 \(j\),显然 \(i,k\) 的最优决策点是单调的。直接双指针啊啊。 C ......
ARC 100

ARC102

A 枚举其中一个,然后发现剩下两个的限制非常强,用一个桶统计同余类大小即可。 B 谔谔构造。 考虑 \(n=\log 10^6\),大概可以猜一下这个题是想让我们搞一个二进制构造。 先造一条 \(0\sim 2^{\log L}-1\) 的链,然后再往 \(N\) 连即可。 C 基础组合题。不是很懂 ......
ARC 102

ARC126C - Maximize GCD(取模转化减法)

答案大于max{ai}可以直接计算 主要考虑小于的情况 直接计算gcd很困难,不妨枚举x|gcd 那么对于ai来说 假设 x(k-1)<ai<=xk,那么 ai就需要xk-ai次操作,那么我们对于一个x,只需枚举k计算区间数的个数即可算出需要的操作数。 复杂度O(nlnn) 这种套路就是取模转化成减 ......
减法 Maximize 126C ARC 126

[ARC071F] Infinite Sequence

题目描述: 定义 \(n-\)可爱序列 指无限长的由 \(\{1,2...,n\}\) 组成的序列。同时 \(a_1,a_2...\)满足以下条件: 1.第 \(n\) 个及以后的元素是相同的,即若 \(\forall i,j\geq n,a_i=a_j\) 。 2.对于每个位置 \(i\),紧随第 ......
Infinite Sequence 071F ARC 071

ARC166B题解

发现还没有和我一样的做法。 觉得 B 比 A 好想的多。 令 \(A_i\) 为 \(a_i\) 变成 \(A\) 的倍数最少次数,\(B_i,C_i,AB_i,AC_i,BC_i,ABC_i\) 同理。 那么我们就有 \(A_i=(A-A\bmod {a_i})\bmod A\),其他同理。 这一 ......
题解 166B ARC 166

ARC166A的题解

略带一点思维吧。 个人认为比 B 难想。 先来考虑弱化版的题面: Case 1 如果 \(X\) 串和 \(Y\) 串都没有字母 C,如何判断是否有解? 观察操作,我们能发现这个操作的本质实际上是让一个位于前面的字母 A 挪到其后面的任意的位置,并且前后两个 A 的相对位置不会发生改变。 所以,如果 ......
题解 166A ARC 166

[AGC020F] Arcs on a Circle 题解

Arcs on a Circle 首先,一个非常自然的想法是尝试断环成链。怎么断呢?我们发现,选择最长线段的起点处截断是个非常好的选择,因为不可能有一个线段完全覆盖它。这之后,一个紧接着的想法就是 DP。 假如把描述中的全部“实点”改成“整点”的话,那么这题是比较 trivial 的,可以通过随便状 ......
题解 Circle 020F Arcs AGC

[ARC072E] Alice in linear land 题解

[ARC072E] Alice in linear land 首先,一个 trivial 的想法是记 \(f_i\) 表示第 \(i\) 步前离终点的距离,于是 \(f_i=\min\Big(f_{j-1},|f_{j-1}-d_i|\Big)\)。 然后,我们设 \(f_i'\) 表示在修改第 \ ......
题解 linear Alice 072E land

[ARC127F] ±AB

[ARC127F] ±AB 给定整数 \(a,b,v,m\),保证 \(a\perp b\). 初始有一个数 \(x=v\),可以不断令其加上或减去 \(a\) 或 \(b\). 过程中必须有 \(x\in[0,m]\),问 \(x\) 有多少种可能的取值。 多测。\(T\le 10^5\),\(1 ......
127F ARC 127 177 AB

AT_arc100_b 题解

题意 这道题是让我们把一段区间分成四个不为空的连续子序列,并算出每个区间的和,最后用四个和的最大值减去最小值,算出最终答案。 分析 大家首先想到的肯定是暴力法用三个循环枚举四个区间,对于每一个区间,在单独算和,这样的时间复杂度 $O(n^4)$,肯定会超时。 现在我们进行优化:最后求和的过程我们可以 ......
题解 AT_arc 100 arc AT

【dp】【竞赛图的性质】ARC163D Sum of SCC 题解

ARC163D 发现这个竞赛图一定能被分为两个集合 \(A\),\(B\)。满足 \(\forall u\in A,v\in B\),均有 \(u\to v\in E\)。答案就是划分这两个集合的方案数。 证明: 首先,竞赛图缩完点后一定是一条链,对强连通分量进行标号,满足编号小的强连通分量指向编号 ......
题解 性质 163D ARC 163

【题解】AtCoder-ARC167

AtCoder-ARC167A Toasts for Breakfast Party 一定不会有空盘,问题转化成 \(2m\) 个数,其中 \(2m-n\) 个是 \(0\),这样一定是最大值和最小值一起,次大值和次小值一起,以此类推。 提交记录:Submission - AtCoder AtCod ......
题解 AtCoder-ARC AtCoder ARC 167

[ARC167D] Good Permutation 题解

题意 对于一个长度为 \(N\) 的排列 \(Q\),定义其为好的,当且仅当 对于任意整数 \(i \in \left[1, N\right]\),在进行若干次操作 \(i \leftarrow Q_i\) 后可以得到 \(i = 1\)。 给定一个排列 \(P\),定义一次操作为交换两个数。定义 ......
题解 Permutation 167D Good ARC

ARC167D Good Permutation 题解

题意 给定一个长度为 \(N\) 的排列 \((P_1,P_2,\cdots,P_N)\)。称一个排列 \(P\) 为“好排列”当且仅当对于所有 \(1\leq x\leq N\),都能通过不停地使 \(x\leftarrow P_x\) 将 \(x\) 变成 \(1\)。 通过最小次数操作将 \( ......
题解 Permutation 167D Good ARC

[ARC116C] Multiple Sequences题解

思路 我们可以很好的想到一种 \(O(nm)\) 的 dp: 状态:\(dp_{i,j}\) 为搜到第 \(i\) 个,最后一个数是 \(j\) 的方案数。 转移:\(dp_{i,j} = \displaystyle\sum_{k|j,k\not =j}dp_{i-1,k}\) 当然这是会超时的。 ......
题解 Sequences Multiple 116C ARC

[ARC067F] Yakiniku Restaurants 题解

Yakiniku Restaurants 明显在最优方案中,行走方式一定是从一条线段的一端走到另一端,不回头。 于是设 \(f[i,j]\) 表示从 \(i\) 走到 \(j\) 的最优代价。明显,该代价对于不同的券相互独立。故我们依次考虑每一张券。 我们发现,假设有一张位置 \(k\) 的券,则所 ......
题解 Restaurants Yakiniku 067F ARC

[ARC152C] Pivot

[ARC152C] Pivot very very easy。首先认识题目中的操作相当于沿 \(y = s\) 进行翻折,那你注意到一个单调的序列翻折之后仍然是单调的,并且翻折仅仅改变了他们差分数组的符号和最小值。那这样就很好做了,假设当前最小值为 \(u\),极差为 \(d\),沿 \(y = u ......
Pivot 152C ARC 152

[ARC149E] Sliding Window Sort

[ARC149E] Sliding Window Sort 考虑到 \(k \le 10^9\) 太大了,我们先模拟一下看看能不能化成 \(k\) 比较小的情况。注意到,我们每次只会在 \(i\) 留下一个数,相当于我们手上一定有前缀前 \(m - 1\) 大的数。这样当我们操作完 \([n - m ......
Sliding Window 149E Sort ARC

[ARC128E] K Different Values

[ARC128E] K Different Values 考察 \(k=2\) 的情形,这个很经典,就是绝对众数。这样的话我们发现显然的一个必要条件是 \(\max A_i \le \lceil \frac{n}{k} \rceil\)。进一步,我们按照 \(k\) 为块长分块,还需满足 \(A_i ......
Different Values 128E ARC 128

[ARC125E] Snack

[ARC125E] Snack 经典啊,经典。 很容易看出网络流模型:每个人连一个限制 \(c_i\),每种糖果拆点限流 \(a_i\),然后每个人向每个糖果连边,最大流就是答案。 考虑转成最小割,我们相当于选出两个集合 \(S \subseteq [1,n], T \subseteq [1,m]\ ......
Snack 125E ARC 125

ARC132E Paw

题面传送门 笑了,题做太多导致的。 首先拿到这个题的时候考虑的就是算每个点的期望和,但是这样其实不太好算。 先容易 dp 出 \(f_i\) 表示 \(i\) 个洞走完之后均不影响到更右边/左边的概率,这样就可以算出如果一个点原来就是左脚印,左右都不影响到它的概率。 然后考虑最后答案的形式,一定是某 ......
132E ARC 132 Paw

[ARC130E] Increasing Minimumm

[ARC130E] Increasing Minimumm ? 考虑模拟一下题目中的过程,发现相当于将原序列按照初始值划分为若干个等价类,然后每次都会先合并等价类然后重排等价类中的所有数并加入 \(I\) 中。这样将 \(I\) 划分成了若干段。 考虑假设我们一共划分出 \(T\) 个段,那么最终每 ......
Increasing Minimumm 130E ARC 130

[arc133e]Cyclic Medians

E - Cyclic Medians 看到中位数,就是经典套路:将\(\geq\)中位数的都赋值为\(1\),\(<\)的赋值为\(0\) 那么对于数\(A\),就等于\(\sum_{i=1}^{\infty}[A\geq i]\) 所以我们考虑枚举中位数,然后若其\(\leq A\),那么就对答案 ......
Medians Cyclic 133e arc 133

[arc135f] Delete 1, 4, 7, ...

F - Delete 1, 4, 7, ... 设\(f(i)\)表示第一次操作后,第\(i\)个位置的数,那么\(f(i)=\lfloor \frac{3i+1}2\rfloor\) 那么\(k\)次操作后,第\(i\)个位置上的数就是: \[f(f(...f(f(i))...))=f^k(i) ......
Delete 135f arc 135

[ARC143D] Bridges 题解

[ARC143D] Bridges 题意:给定 \(2n\) 个点和 \((u_1,v_1) , \cdots , (u_m,v_m)\),选择让 \(u_i\) 连 \(v_i+n\) 或 \(v_i\) 连 \(u_i+n\),以最小化图中桥的个数。 有种技巧叫拆点,把一个点拆成入点和出点,看这 ......
题解 Bridges 143D ARC 143

《[ARC157C] YY Square》解题报告

另解,不过也是 \(dp\) 。 一个小套路,关于平方我们可以考虑他的组合意义。 假如一条路径上有三个 \(YY\) 那么他的贡献是 \((1+1+1)^2=(1+1+1)(1+1+1)\) 相当于是从左右两边括号里各选一个 \(1\) 。 所以实际上我们的贡献可以看成从 \((1,1)\to (n ......
报告 Square 157C ARC 157