snack 125e arc

[ARC117D] Miracle Tree

### 题目大意 给定一棵 $n$ 个节点的树,要求构造出一个点权序列 $E$,满足以下三个条件: 1. 所有 $E_i\ge 1(1\le i\le n)$。 2. 对于任意一组 $(i,j)(1 ≤ i using namespace std; const int N = 200500; vec ......
Miracle 117D Tree ARC 117

[ARC117D] Miracle Tree 题解

## 题意 给定一棵 $n$ 个节点的树,要求构造出一个点权序列 $E$,满足以下三个条件: 1.所有 $E_i\ge 1(1\le i\le n)$。 2.对于任意一组 $(i,j)(1 ≤ i typedef int valueType; typedef std::vector ValueVec ......
题解 Miracle 117D Tree ARC

arc136,arc137,arc138题解

### ARC136 A-E ### A A ↔ BB 贪心。可以把 `BB` 换成 `A`,可以把 `BA` 换成 `AB`。 ### B Triple Shift 直观上觉得只要数集相同,那么就是可以变换的。大概方法就是每次找到正确的数把它挪到数列的端点,这样显然是可行的。但是在相反的三个上出现 ......
arc 题解 136 137 138

arc133,arc134,arc135题解

## ARC133 A-E ### A Erase by Value 扣掉一个数当且仅当这个数后面有更小的数。特判单增即可。 ### B Dividing Subsequence 相对比较有启发性。发现有倍数关系的数对只有 $O(n\log n)$ 对,于是可以把对应下标攒成一堆二元组,于是一个合法 ......
arc 题解 133 134 135

arc130,arc131,arc132题解

## ARC130 A-D ### A Remove One Character 对每个连续块分别处理即可。 ### B Colorful Lines 非常经典的题目,对于每一行每一列记录最后出现的颜色并计算贡献即可。 ### C Digit Sum Minimization 有点细节。枚举最后两个 ......
arc 题解 130 131 132

ARC 157 F Sol

嫌弃讲题人的我,准备好好写一篇题解。 [link to problem](https://atcoder.jp/contests/arc157/tasks/arc157_f) 观察数据范围:$1\le N\le 50$。 如果是 $20$,想到 $2^{20}$;如果是 $40$,想到 $2^{40 ......
ARC 157 Sol

【题解】[ARC158C] All Pair Digit Sums

[传送门](https://www.luogu.com.cn/problem/AT_arc158_c) ## 题目分析 我们可以先从简单一点的情况开始分析,如果现在 $a_{[i]},a_{[j]}$ 都**不会进位**,那么最后的 $f(a_{[i]}+a_{[j]})=f(a_{[i]})+f( ......
题解 Digit 158C Pair Sums

ARC159

# ARC159 前面做过一遍,效果不佳,再来一遍 ## A 最优化问题,考虑什么情况最优 / 不优,猜测 $x$ 至多一步到 $y$ 所在的方阵中。证明考虑如果 $x$ 到其他点,可以到 $y$ 所在方阵中对应的点,一定不劣 ## B 每次减去 $\gcd$,关注 $\gcd$ 变化的条件。容易发 ......
ARC 159

ARC 做题记录

又来开新坑了 ~~建议改为ATC看题解记录~~ ## [[ARC103F] Distance Sums](https://www.luogu.com.cn/problem/AT_arc103_d) $tag$:构造,树的性质 [sol](https://www.luogu.com.cn/blog/c ......
ARC

ARC160

## B 考虑题目的三个条件,只需要满足最大的两个数的乘积小于等于 $n$ 。$x,y,z$ 的大小关系无所谓,分讨两种情况 $x=y\ge z$ 和 $x>y\ge z$,分别枚举 $x,y$ 即可,复杂度 $\mathcal{O}(T\sqrt{n})$ ## C 计数,本来是对 $a$ 计数, ......
ARC 160

ARC161

## ARC161 ### A 排序后直接奇偶分类地填即可 ```cpp #include using namespace std; const int MAXN=2e5+5; int n; int a[MAXN]; int b[MAXN]; int main() { // freopen("dat ......
ARC 161

[ARC096E] Everything on It 题解

## 题意 对于集合 ${1,2,\cdots,n}$,求它的子集族中,有多少个满足: 1. 任意两个子集互不相同; 2. $1,2,\cdots,n$ 都在其中至少出现了 $2$ 次。 $n \le 3000$,答案对 $M$ 取模。 ## 题解 第一个限制形同虚设,下面着重考虑第二个限制。考虑到 ......
题解 Everything 096E ARC 096

[ARC125D] Unique Subsequence

设 $pre_i$ 表示在 $i$ 之前最后一个和 $i$ 相同的数的位置,$dp_i$ 表示第 $i$ 个数为结尾的序列的合法方案数。 对于 $pre_i = 0$,即在 $i$ 之前不存在与 $i$ 相同的数,$dp_i$ 由 $\left[ 1,i - 1 \right]$ 转移过来。由于这个 ......
Subsequence Unique 125D ARC 125

[ARC126C] Maximize GCD

设 $a_x$ 为数列 $a$ 中的最大值。 一般来说,与其处理 $x | \gcd(A_1,\dots,A_N)$ ,处理 $x = \gcd(A_1,\dots,A_N)$ 更加容易。这是因为后者能够被分解为各个元素:$\forall i,x | A_i$。 因此,我们将解决下面这个问题而不是原 ......
Maximize 126C ARC 126 GCD

[ARC125C] LIS to Original Sequence

首先考虑 $k = 1$,唯一的方案就是倒序输出 $1$ 到 $n$。 我们可以想到,这道题的方法是向已经确定的序列 $A$ 中插入其他数。 对于一个数 $x(x #include #include using namespace std; const int N = 200500; int n,k ......
Original Sequence 125C ARC 125

[ARC126C] Maximize GCD 题解

## 题意 给定一个序列 $A$,每次操作可以使 $A_i + 1$($i \in \left[1, n\right]$,$K$ 次操作的 $i$ 可以不同),最多可以做 $K$ 次。问 $\gcd{A_1, A_2, ..., A_n}$ 的最大值。 ## 题解 首先,如果 $K$ 可以把当前序列 ......
题解 Maximize 126C ARC 126

[ARC126D] Pure Straight 题解

## 题意 给定一个有 $N$ 个正整数的序列 $A=(A_1,A_2,\cdots,A_N)$,且 $A_i \in \left[1,K\right]$。 你可以对这个序列做如下操作若干次。 > 交换两个相邻的元素,也就是选出 $i$ 和 $j$ 满足 $\lvert i - j\rvert = ......
题解 Straight 126D Pure ARC

ARC129C 题解

[problem](https://www.luogu.com.cn/problem/AT_arc129_c) & [blog](https://www.cnblogs.com/liangbowen/p/17628395.html)。 提供一种不一样的做法喵。 考虑原问题的逆问题。这个很典,直接前缀 ......
题解 129C ARC 129

ARC162E

## ARC162E ### A 简单分类讨论即可 ```cpp #include using namespace std; const int MAXN=1e3+5; int T; int n; int P[MAXN]; int main() { // freopen("date.in","r", ......
162E ARC 162

【Tricks,典】[ARC085F] NRE

一眼顶针,鉴定为 **implement** 不足,我写不出来。 先通过 Trick 转化 $a_i = 0 \to -1,a_i = 1 \to 1$。 那么显然把 $[l, r]$ 全部摊为 1 的贡献就是 $a_{l \to r}$。转化为 n - 最大贡献。 然后我们可以转化以下。 $$f_ ......
Tricks 085F ARC 085 NRE

ARC137D Prefix XORs 题解

**这里的所有下标从 $\bm 0$ 开始。** 我们考察一下每次操作后的数列 $a$ 会是什么样的。这里用 $a_i$ 前面的系数 $x$ 表示 $a_i$ 贡献了 $x$ 次,$+$ 表示异或。 $$ \begin{matrix} k=0&a_0&a_1&a_2&\cdots&a_{n-1}\\ ......
题解 Prefix 137D XORs ARC

ARC163

## ARC163 ### A 显然划分两次最优,直接枚举即可 ```cpp #include using namespace std; const int MAXN=2005; int t; int n; char s[MAXN]; int main() { // freopen("date.in ......
ARC 163

AtCoder-ARC073_A Sentou

Sentou 【题意】: 有一个开关,当按下开关后的 T 秒内会一直放水,当在放水状态时,如果有人再次按下开关,那么停止放水,并从按下的那一刻起的 T 秒会再次一直放水,给出 n 个人按压开关的时间,问总共流出多少水 【思路】: 简单模拟 #include <bits/stdc++.h> using ......
AtCoder-ARC AtCoder Sentou ARC 073

ARC149

## ARC149 ### A 直接记录$1111..$然后$check$一下即可 ```cpp #include using namespace std; const int MAXN=1e5+5; int n; int m; int Mtl[MAXN]; signed main() { // f ......
ARC 149

ARC155

## ARC155 ### A 模拟一下你会发现这个长度为$k$子串$T$会在左右依次填$S,S^{rev}$ 这个我们可以直接让$k\bmod 2n$(最开始$\bmod n$了\kk) 然后你会发现填到最后就是$T$前$n$个$S^{rev}$,后面$S$ 直接$check$一下即可 ```cp ......
ARC 155

[ARC093F] Dark Horse

Problem StatementThere are $2^N$ players, numbered $1, 2, ..., 2^N$. They decided to hold a tournament. The tournament proceeds as follows: Choose a p ......
Horse 093F Dark ARC 093

ARC160

## ARC160 ### A 一眼没思路/kk 对于操作$(l1,r1)$,$(l2,r2)$我们是可以直接比较两者之间的大小的 然后用$nth\_element$即可 好像有$O(nlog(n))$做法 就是考虑每个位置的答案是什么,如果确定了前$i-1$个是没变的时候取答案,第$i$位的答案要 ......
ARC 160

题解 ARC104F

## 前言 在这里首先感谢一下题解区的 [FZzzz](https://www.luogu.com.cn/user/174045),本人的题解思路主要是基于他并给出了自己的理解。 如非特殊说明,本题解中的数学符号原则上与题目中一致。 ## 题目分析 需要转化的喵喵题。 我们需要把原问题转化成一个图论 ......
题解 104F ARC 104

ARC089B 题解

[problem](https://www.luogu.com.cn/problem/AT_arc089_b) & [blog](https://www.cnblogs.com/liangbowen/p/17599062.html)。 给一个比较暴躁的做法。 若要求 $(x,y)$ 的颜色为 Whi ......
题解 089B ARC 089

ARC157

## ARC157 ### A 简单分讨即可 ```cpp #include using namespace std; int Abs(int x) { return x>0?x:-x; } int n; int A,B,C,D; int main() { scanf("%d %d %d %d %d ......
ARC 157