板刷atcoder vp

AtCoder Regular Contest 120 F Wine Thief

洛谷传送门 AtCoder 传送门 Hint 如果是一个环怎么做? Answer 由于是一个环,因此环上每个点对最终答案造成的贡献都相同。设 $f_{i,j}$ 为长度为 $i$ 的序列选 $j$ 个不相邻的点的方案数,则 $f_{i,j} = \binom{i-j+1}{j}$。应该很好理解,考虑 ......
AtCoder Regular Contest Thief Wine

agc030 vp记录

T1签到题。 [AGC030B] Tree Burning 高桥湖是周长为 $L$ 的一个首尾相接的圆,圆上整点标为$0, 1, 2, ..., L-1$. 在湖边有 $N$ 颗树,分别在距离起点顺时针数 $X_1, X_2,...,X_n$ 的位置上。保证位置 $0$ 没有树。 高桥君初始在位置 ......
agc 030

AtCoder Regular Contest 125 E Snack

洛谷传送门 AtCoder 传送门 很棒的 flow 题,考虑建二分图。 源点向每种零食连边权为 $a_i$ 的边,每种零食向每个孩子连边权为 $b_j$ 的边,每个孩子向汇点连边权为 $c_j$ 的边,这个图的最大流就是答案。 直接跑最大流肯定 T,考虑最大流等价于求这个图的最小割,因此转而求最小 ......
AtCoder Regular Contest Snack 125

AtCoder Regular Contest 126 D Pure Straight

洛谷传送门 AtCoder 传送门 很不错的状压。 考虑先把最后作为答案的数聚到一起,再算它们的逆序对个数。 设 $f_S$ 为当前选的数集合为 $S$ 的答案。有转移: 选 $a_i$,答案加上之前选的比它大的数; 不选 $a_i$,此时需要把左边的数或者右边的数往中间挪一个,答案加上左右两端的最 ......
Straight AtCoder Regular Contest Pure

AtCoder Beginner Contest 159

AtCoder Beginner Contest 159 https://atcoder.jp/contests/abc159 EF 是打基础的好题 D - Banned K #include <bits/stdc++.h> #define ll long long using namespace ......
Beginner AtCoder Contest 159

CF1479 Div1 VP记录

战况: 别的不说,这个 B1 WA 3发是真的精髓。 A 略 B 我们设此时在第一队队尾的为 las0,在第二队队尾的为 las1,要放的数为 x。 先考虑 B1: 显然有:如果 las0 等于 x,放在第二队,如果 las1 等于 x,放在第一队。 考虑两边都不同的情况,我们想要这个 x 后面尽快 ......
1479 Div1 Div CF

AtCoder Beginner Contest 158

AtCoder Beginner Contest 158 https://atcoder.jp/contests/abc158 基础不牢,地动山摇 D - String Formation 一个小小的STL应用 #include <bits/stdc++.h> #define ll long lon ......
Beginner AtCoder Contest 158

agc020 vp记录

a,b是签到题。 [AGC020C] Median Sum 一个集合由N个整数组成,请求出它的非空子集和的中位数。($N<=2000$ $A_i<=2000$) 发现所有的子集和是关于所有数的和对称的。即有 $X$ 则有 $\sum{A_i} - X$,于是通过背包优化的bitset算出所有能拼出的 ......
agc 020

AtCoder Problem Difficulty

ABC299 之前 . ......
Difficulty AtCoder Problem

AtCoder ABC 299 ABCDEFG

A - Treasure Chest 题意 给定由 $\texttt{.}$、$\texttt{|}$、$\texttt{}$ 三种字符组成的长度为 $n$ 的字符串 $s$,保证 $\texttt{|}$ 的个数为 $2$,$\texttt{}$ 的个数为 $1$。 判断 $\texttt{*}$ ......
AtCoder ABCDEFG ABC 299

AtCoder Regular Contest 111 F Do you like query problems?

洛谷传送门 AtCoder 传送门 挺有意思的计数。 计数感觉很难做,不妨转成期望,期望又可以转成概率之和。 考虑枚举 $w \in [0,m-1]$,把 $> w$ 的数设为 $1$,$\le w$ 的数设为 $0$。那么期望就是所有 $w$,$a_i$ 为 $1$ 的概率之和。对于一个 $i$, ......
problems AtCoder Regular Contest query

Atcoder题解:Agc056_e

$$也想养老鼠捏$$ 先把当前要解决的点旋转到位置 $n$,问题不变。求 $n$ 次即可。 我们先来看两个没有结果的解法。 一就是一 我们先考虑暴力 $dp$,设 $dp_{i,mask}$ 表示当前已经安放了 $i$ 个奶酪,被喂饱的老鼠的集合为 $mask$ 的概率。容易发现 $i$ 其实就是 ......
题解 Atcoder Agc 056

Atcoder Beginner Contest 299 G

对于要打印的 $B$,我们首先尝试确定 $B_1$。 让 $f(x) (1≤x≤M)$ 是最大的 $i$,使 $A_i = x$。 对于 $r:=\underset{{{1≤x≤M}}}{\min}f(x)$,我们可以证明 $B_1$ 是 $A_1 ,A_2 ,...,A_r$ 中的一个(否则,$B ......
Beginner Atcoder Contest 299

agc021 vp记录

~~abcd都是签到题~~ [AGC021E] Ball Eat Chameleons 有 $n$ 只变色龙,一开始都是蓝色。现在你喂了 $k$ 次球,每次指定一只变色龙吃下你指定颜色的球。 一只变色龙从蓝色变成红色当且仅当它吃的红球比蓝球多; 一只变色龙从红色变成蓝色当且仅当它吃的蓝球比红球多。 ......
agc 021

AtCoder Beginner Contest 299

A - Treasure Chest (abc299 a) 题目大意 给定一个包含 |*.的字符串,其中|两个,*一个,问*是否在两个|之间。 解题思路 找到两个|的下标$l, r$以及 *的下标$mid$,看看是否满足 $l < mid < r$即可。 神奇的代码 ```cpp #include ......
Beginner AtCoder Contest 299

AtCoder Beginner Contest 283 Ex Popcount Sum

洛谷传送门 AtCoder 传送门 记录一下这个神奇的套路。 首先有 $\operatorname{popcount}(n) = n - \sum\limits_{i=1}^{\infty} \left\lfloor\frac{n}{2^i}\right\rfloor$。证一下: $$\operat ......
Beginner Popcount AtCoder Contest 283

AtCoder Regular Contest 115 D Odd Degree

洛谷传送门 AtCoder 传送门 若连通块是一棵树,考虑钦定 $k$ 个点为奇度点,方案数为 $\binom{n}{k}$。对于叶子,如果它是奇度点,那么连向它父亲的边要保留,否则不保留。这样自底向上考虑,任意一条边的保留情况都可以唯一确定,所以最后方案数就是 $\binom{n}{k}$。 若连 ......
AtCoder Regular Contest Degree 115

CF1404 Div1 VP记录

A 略 B 看到这道题的第一眼:Bob 怎么赢? 样例二给了解释,对于一条链,Bob 看 Alice 到了哪边,跳到另一边即可。 大胆猜测,这是 Bob 能赢的唯一机会。其他时候 Alice 采用步步逼近一定能取得胜利(详情请参见国际象棋中的单后杀王)。 使用这个方法要满足三个条件: $db > 2 ......
1404 Div1 Div CF

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

agc002 vp记录

abcd签到题,暂且不提。 [AGC002E] Candy Piles 桌上有 $n$ 堆糖果,第 $i$ 堆糖果有 $a_i$ 个糖。两人在玩游戏,轮流进行,每次进行下列两个操作中的一个: 将当前最大的那堆糖果全部吃完 将每堆糖果吃掉一个 吃完的人输,假设两人足够聪明,问谁有必胜策略? 输出 Fi ......
agc 002

模拟赛 & 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