beginner atcoder contest abcd

AtCoder Regular Contest 114 F Permutation Division

洛谷传送门 AtCoder 传送门 这题居然是之前某场模拟赛(contest 701)的 T1……(@Vidoliga 场切但是被卡常/bx) 下面记 $m$ 为原题面中的 $K$,$a_i$ 为原题面中的 $P_i$。 不难发现后手的策略是把所有段按照段的第一个数从大到小排序接在一起。 考虑若 $ ......
Permutation Division AtCoder Regular Contest

AtCoder Regular Contest 114 D Moving Pieces on Line

洛谷传送门 AtCoder 传送门 挺有意思的题。 首先显然地,一个棋子不会走回头路。于是一个棋子沿着边走的效果就是区间异或。 更进一步,设 $s_i$ 为 $i-1 \to i$ 的边颜色与 $i \to i+1$ 的边颜色是否相同(差分),相当于对于每个 $i$ 都选择 $s_{a_i}$ 和 ......
AtCoder Regular Contest Moving Pieces

[Educational Codeforces Round 147 (Rated for Div. 2)](https://codeforc.es/contest/1821)题解A~D

A: 思路: 首字母如果是0,直接输出0。 如果首字母是?,提供九种方案,之后每一个?提供10种方案。 void solve(){ string s; cin>>s; if(s[0]=='0'){ cout<<"0"<<endl; return ; } int ans=1; for(int i=0; ......

模拟赛 & VP & Contest 记录

CatOJ C140(初中) $100+93+100+10=303$,Rank 1。 是个 dp 场,A 题期望 dp,B 题神奇猜结论,C 题换根 dp,D 题树上博弈 dp。 A 题设 $f_u$ 为填满子树 $u$ 的期望次数,$s_u$ 为 $u$ 子树大小,容易得到 $f_u=f_v+\f ......
模拟赛 amp Contest VP

Atcoder Beginner Contest 298---E

题目:E - Unfair Sugoroku (atcoder.jp) 分析:这题状态转移方程挺好推的,但是用dp解是我没想到的 dp[i][j][0]表示T在i点,A在j点且轮到T走时赢的概率 dp[i][j][1]表示T在i点,A在j点且轮到A走时赢的概率 代码: #include <bits/ ......
Beginner Atcoder Contest 298

Atcoder题解:Agc018_f

首先观察这个奇怪的子树为 $1$ 或 $-1$ 的限制。 看不出来性质,润了。 我们不如直接把 $A$ 树和 $B$ 树拆开,变成两棵树,然后在树上留一下匹配的性质。 第一,我们对着样例构造一下,发现似乎有解的样例都有 $abs(X_i)\le 1$ 的解。 这就提示我们猜用 $-1,0,1$ 就够 ......
题解 Atcoder Agc 018

AtCoder Regular Contest 109 F 1D Kingdom Builder

洛谷传送门 AtCoder 传送门 考虑判断一个终止态是否可达。如果只有一个棋子连续段那一定可达;否则就存在 $\ge 2$ 个连续段。此时把放棋子看成删除,那么限制就是如果删除一个孤立的棋子(两边没有棋子)且还有别的格子有棋子,这个棋子的颜色 异于其他连续段的两边棋子的颜色 。 设第一个被删的段( ......
AtCoder Regular Contest Builder Kingdom

AtCoder Beginner Contest 298

A - Job Interview #include <bits/stdc++.h> using namespace std; int main(){ int n; string s; cin >> n >> s; if( s.find("x") != -1 ){ printf("No\n"); } ......
Beginner AtCoder Contest 298

Atcoder Regular Contest 118 E - Avoid Permutations(容斥+DP)

挺套路的 DP。 第一步是显然的:转换贡献体,DP 一条从 $(0,0)$ 到 $(n+1,n+1)$ 的路径,然后计算有多少个排列满足这条路径不经过任何一个 $(i,p_i)$。 正着统计肯定不好求,考虑容斥。即我们钦定一些路径上的点,满足这些点必须对应某个 $(i,p_i)$,然后计算有多少个 ......
Permutations Atcoder Regular Contest Avoid

Atcoder题解:Agc010_e

首先,我们来思考我们要构造的是什么。 我们要构造的是一个无论怎样操作字典序都会变小的序列,且这个序列的字典序是最小的。 然后考虑字典序会变大的条件。 如果字典序变大了,那么一定是在前 $i-1$ 位不变的前题下,$i$ 位的变大了。那么变大的一定是从后面来的。 而我们考虑所有的数对 $(a_i,a_ ......
题解 Atcoder Agc 010

abc292[AtCoder Beginner Contest 292] 题解

写点题目转换下心情吧 A-CAPS LOCK 大水题 B-Yellow and Red Card 大水题 C-Four Variables 给定一个数$N$,问有多少个有序正数数组$(A,B,C,D)$,满足$A\times B+C\times D=N$。 这题荒芜的大脑拒绝思考,看着复杂度不超,写 ......
题解 292 Beginner AtCoder Contest

Atcoder题解:Agc007_e

首先,我们来证明一个引理: 若最优解中,最终串中的字符 $j$ 在最早来自原串中的字符 $i$(显然,$i\le j,s_i=t_j$),则称 $j$ 的匹配是 $i$,则在所有的匹配方案中,$t_j$ 会在全串存在匹配的前提下尽量选择 $|i-j|$ 最小的的 $s_i$ 进行匹配。 我们可以运用 ......
题解 Atcoder Agc 007

Contest 23-04-18

#D.糖果镇 思路 $m=3$时整个路径有两个拐点,分别是$m=1 \to m=2,m=2 \to m=3$ 设拐点$1$在第$i$列,拐点$2$在第$j$列,则路径上的数字总和为$(front[1][i])+(front[2][j]-front[2][i-1])+(back[j])$($front ......
Contest 23 04 18

AtCoder Regular Contest 109 E 1D Reversi Builder

洛谷传送门 AtCoder 传送门 考虑固定 $s$ 和每个格子的颜色,最终有多少个石子被染黑。 结论: 任何时刻只有不多于两个极大同色连通块。 证明: 设 $[x,y]$ 为当前的黑连通块,$[y+1,z]$ 为白连通块。如果下一次染 $x-1$,若 $x-1$ 为白,则 $[x-1,z]$ 都被 ......
AtCoder Regular Contest Builder Reversi

AtCoder Regular Contest 109 D L

洛谷传送门 AtCoder 传送门 这种题根本做不出来…… 考虑一个 L 形怎么方便地表示出来。可以发现对于组成 L 形的三个点 $(x_1,y_1),(x_2,y_2),(x_3,y_3)$,只要知道 $x = x_1 + x_2 + x_3$ 和 $y = y_1 + y_2 + y_3$,就能 ......
AtCoder Regular Contest 109

AtCoder Regular Contest 106 F Figures

洛谷传送门 AtCoder 传送门 晚自习的时候胡出来的做法((( 首先你会发现题目等价于求 $\sum\limits_{(\sum\limits_{i=1}^n a_i) = 2(n-1) \land \forall i \in [1,n], 1 \le a_i \le d_i} \prod\li ......
AtCoder Regular Contest Figures 106

ABC297F AtCoder Beginner Contest 297 F - Minimum Bounding Box 2

https://atcoder.jp/contests/abc297/tasks/abc297_f 在 $n \times m$ 的棋盘上放置 $k$ 个棋子,记矩形 A 为能覆盖所有 $k$ 个棋子的最小的矩形,求 A 的面积的期望 将问题反过来考虑,枚举每种矩形有多少种放置棋子的方案,对于一个 ......
297 Beginner Bounding AtCoder Contest

AtCoder Regular Contest 105 E Keep Graph Disconnected

洛谷传送门 AtCoder 传送门 显然终止态是只剩两个连通块,一个包含 $1$ 另一个包含 $n$,并且两个连通块内的边数均为 $\frac{sz(sz-1)}{2}$。 如果只在连通块内连边,那么能连的边的总数是 $\frac{n(n-1)}{2} - \sum\limits_{i=1}^{cn ......
Disconnected AtCoder Regular Contest Graph

AtCoder Beginner Contest 296

Transition Game 给定序列$a$,$1<=a_i<=n$,一场游戏有$n$个回合,第$i$回合时,第一个人先指定一个任意数$k$,第二个人任意选定一个$x$,$1<=x<=n$,然后$x:=a_x$执行$k$次,如果最后$x=i$,那么第二个人获胜,否则第一个人获胜 对于$n$个回合, ......
Beginner AtCoder Contest 296

AtCoder Beginner Contest 295

Three Days Ago 我们定义一个只由数字构成的字符串中的字符能够被重排成相同的两份,我们称这个字符串是个好字符串,比如12341234 现在给定一个字符串$S$,找出所有的$[l,r]$,使得在这段区间中的子段是个好字符串 题解:思维 + 组合计数 首先我们根据题意得到:一个好字符串中所有 ......
Beginner AtCoder Contest 295

Atcoder题解:Agc002_f

我们可以把这个理解成一种类似卡塔兰数的形式,我们发现,被安排的 $0$ 球总数 $i$ 和已经出现的颜色种数 $j$ 在任意时刻都必须满足 $i\ge j$。 然后就可以 $dp$ 了,我们每次钦定下一个转移的球是某种颜色。如果下一个转移的球不是 $0$,那么我们就一次性把后面所有这种颜色都安排好, ......
题解 Atcoder Agc 002

Atcoder题解:Agc004_e

$$吓死我了,还以为写了半天的被自己删掉了$$ $$但是 \text{Ctrl+S} 会保存草稿啊$$ $$以后一定要保留这个好习惯$$ 第一步转化题意,我们把“所有机器人移动”转化成“出口带着边框移动”,而在出口运动过程中超出边框的机器人,就“死”了。 然后我们发现,出口运动过程中,假设出口目前走 ......
题解 Atcoder Agc 004

Atcoder题解:Agc013_e

我们考虑转化题意,一个合法的将 $1\sim N$ 划分成长度依次为 $a_1,a_2,\cdots a_k$ 的小区间,对答案的贡献为 $a_1^2a_2^2\cdots a_k^2$。 化贡献为方案数,我们在每个长度为 $a_i$ 的小区间内放置两个独立的标记,每个合法的划分方案对放置标记方案种 ......
题解 Atcoder Agc 013

AtCoder 板刷 / vp 记录

ARC104 A 一道小学数学题,$X = \frac{A+B}{2}, Y = \frac{A-B}{2}$。 B 一道暴力题。发现子串合法的充要条件是 $cnt_{\text{A}} = cnt_{\text{T}} \land cnt_{\text{G}} = cnt_{\text{C}}$, ......
板刷 AtCoder vp

AtCoder Regular Contest 104 F Visibility Sequence

洛谷传送门 AtCoder 传送门 考虑连边 $(i,p_i)$(若 $p_i = -1$ 则不连边),可以发现形成了一篇内向树森林且这个森林存在一个 dfs 序为 $1,2,...,n$。 这棵森林有如下性质: $\forall v \in son_u,h_u > h_v$ $\forall v, ......
Visibility Sequence AtCoder Regular Contest

AtCoder Beginner Contest 298

A - Job Interview (abc298 a) 题目大意 给定包含o-x的字符串,问是否不包含 x且包含o。 解题思路 遍历一遍即可。 神奇的代码 ```cpp #include using namespace std; using LL = long long; int main(voi ......
Beginner AtCoder Contest 298

AtCoder Beginner Contest 223(D,E,F)

AtCoder Beginner Contest 223(D,E,F) D(拓扑排序) D 大意就是有$n$个点,$m$个关系,其中关系是指$u$和$v$,在排序里面使得$u$的位置再$v$的位置的前面 要求找到一个排序满足上述条件的序列中字典序最小的那一个 这个使用拓扑排序,并加上优先队列即可 只 ......
Beginner AtCoder Contest 223

AtCoder Beginner Contest 293 补题记录 (E-G)

E 题意:给定 A, X, M, 计算 (A0 + A1 + A2 + ... + AX-1) mod M (1 <= A, M <= 109, 1 <= X <= 1012)。 根据等比数列求和公式,(A0 + A1 + A2 + ... + AX-1) mod M = ((AX - 1) / ( ......
Beginner AtCoder Contest 293 E-G

2022 Shanghai Collegiate Programming Contest B

知识点:差分约束 Link:https://codeforces.com/gym/103931/problem/B。 被卡 SPFA 了呃呃。 一看出题人是这个人: 如何看待 SPFA 算法已死这种说法? - fstqwq 的回答 - 知乎,那没事了。 简述 给定参数 $n, q$,表示有一个长度为 ......
Programming Collegiate Shanghai Contest 2022

AtCoder Regular Contest 104 D Multiset Mean

洛谷传送门 AtCoder 传送门 很平凡的一道计数啊。 考虑将所有数都减去 $x$,那么就要求选的数和为 $0$。 正负分开考虑,$0$ 可以任意选。需要多重背包求 $f_{i,j}$ 表示选 $1 \sim i$ 的数和为 $j$ 的方案数。前缀和优化是平凡的。 code // Problem: ......
Multiset AtCoder Regular Contest Mean