trbbnsformbbtion atcoder 071e arc
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$。 这题荒芜的大脑拒绝思考,看着复杂度不超,写 ......
Atcoder题解:Agc007_e
首先,我们来证明一个引理: 若最优解中,最终串中的字符 $j$ 在最早来自原串中的字符 $i$(显然,$i\le j,s_i=t_j$),则称 $j$ 的匹配是 $i$,则在所有的匹配方案中,$t_j$ 会在全串存在匹配的前提下尽量选择 $|i-j|$ 最小的的 $s_i$ 进行匹配。 我们可以运用 ......
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 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 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 ......
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 的面积的期望 将问题反过来考虑,枚举每种矩形有多少种放置棋子的方案,对于一个 ......
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 ......
ARC100E Or Plus Max
ARC100E Or Plus Max 位运算上的比大小问题通常都很难处理,因此一般都是先把这种条件转化。 考虑下面三个集合: $A_K = {(i, j) \mathop | i \operatorname{or} j \le K \and i \ne j}$。 $B_K = {(i, j) \m ......
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$个回合, ......
AtCoder Beginner Contest 295
Three Days Ago 我们定义一个只由数字构成的字符串中的字符能够被重排成相同的两份,我们称这个字符串是个好字符串,比如12341234 现在给定一个字符串$S$,找出所有的$[l,r]$,使得在这段区间中的子段是个好字符串 题解:思维 + 组合计数 首先我们根据题意得到:一个好字符串中所有 ......
Atcoder题解:Agc002_f
我们可以把这个理解成一种类似卡塔兰数的形式,我们发现,被安排的 $0$ 球总数 $i$ 和已经出现的颜色种数 $j$ 在任意时刻都必须满足 $i\ge j$。 然后就可以 $dp$ 了,我们每次钦定下一个转移的球是某种颜色。如果下一个转移的球不是 $0$,那么我们就一次性把后面所有这种颜色都安排好, ......
Atcoder题解:Agc004_e
$$吓死我了,还以为写了半天的被自己删掉了$$ $$但是 \text{Ctrl+S} 会保存草稿啊$$ $$以后一定要保留这个好习惯$$ 第一步转化题意,我们把“所有机器人移动”转化成“出口带着边框移动”,而在出口运动过程中超出边框的机器人,就“死”了。 然后我们发现,出口运动过程中,假设出口目前走 ......
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 板刷 / 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 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, ......
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 ......
ARC159解题报告
比赛传送门 A. Copy and Paste Graph 题意: 给定一个 $n\times n$ 的邻接矩阵,将其复制 $k^2$ 遍(行和列各 $k$ 个),得到一个 $nk$ 个点的有向图。有 $q$ 次询问,每次询问 $s\to t$ 的最短路长度(或不可达)。$n,q\le 100, k ......
AtCoder Beginner Contest 223(D,E,F)
AtCoder Beginner Contest 223(D,E,F) D(拓扑排序) D 大意就是有$n$个点,$m$个关系,其中关系是指$u$和$v$,在排序里面使得$u$的位置再$v$的位置的前面 要求找到一个排序满足上述条件的序列中字典序最小的那一个 这个使用拓扑排序,并加上优先队列即可 只 ......
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) / ( ......
AtCoder Regular Contest 104 D Multiset Mean
洛谷传送门 AtCoder 传送门 很平凡的一道计数啊。 考虑将所有数都减去 $x$,那么就要求选的数和为 $0$。 正负分开考虑,$0$ 可以任意选。需要多重背包求 $f_{i,j}$ 表示选 $1 \sim i$ 的数和为 $j$ 的方案数。前缀和优化是平凡的。 code // Problem: ......
ARC 乱做
ARC125D Unique Subsequence 设 $f_i$ 表示以 $i$ 为结尾的合法子序列个数,同时记 $pre_i$ 为 $i$ 前面第一个与 $a_i$ 相等的数的位置。 $$ f_i=\sum_{j=pre_i}^{i-1}f_j $$ 转移完把 $f_{pre_i}$ 清零,树 ......
AtCoder Regular Contest 110 E Shorten ABC
洛谷传送门 AtCoder 传送门 考虑把 $\text{A}$ 看成 $1$,$\text{B}$ 看成 $2$,$\text{C}$ 看成 $3$,那么一次操作相当于选择一个 $a_i \ne a_{i+1}$ 的 $i$,将 $a_i$ 和 $a_{i+1}$ 替换成一个数 $a_i \opl ......
arc159_F DP
题意(简化版) 给出一个长度为 $2n$ 的序列 $a_i$,求将序列分割为若干个长度为偶数的区间,满足每个区间内都不含绝对众数(出现次数严格大于长度的一半的数)的方案数。 $n\le 500000,,a_i\le2n$ 解法 解法和官方题解大致相同,虽然官方题解我也没看太明白( 显然一定在偶数出断 ......
ARC058F
首先用背包算出后 $i$ 个字符串能拼成的长度。 考虑从前往后 dp 出每个长度的字典序最小的字符串。设 $f_{i,j}$ 表示前 $i$ 个字符串拼成的长度为 $j$ 的字典序最小的字符串。显然 $f_{i,j}$ 只有在 $i+1\sim n$ 这些字符串能拼成长度为 $k-j$ 的串时才有值 ......
[ARC127E] Priority Queue 题解
首先我们每次加入的数必定是一个 $1\sim a$ 的排列,但从排列角度考虑的话非常复杂,因为 $s$ 是一个集合。所以我们考虑最后能剩下哪些数。 考虑最后剩下的集合为 ${a_i}$,其中 $a_i<a_{i+1}$,显然这个集合里面的元素个数为 $A-B$。 那么我们会发现一件事情:我们按上升序 ......
AtCoder Begining Contest 297 VP报告
AtCoder Begining Contest 297 VP报告 写在前面: 前面靠手速抢了点分,B卡了一小会,然后E想的时间比较长,其他的题目基本上出的还算平均,感觉D题的思路很巧妙,因为最近一直在学数学有关的,出的还算快,感觉还不错吧,毕竟代码都不长不会写的很急。 A - Double Cli ......
AtCoder Beginner Contest 297
A - Double Click #include <bits/stdc++.h> using namespace std; #define int long long int32_t main() { int n , d; cin >> n >> d; vector<int> a(n); for( ......
AtCoder Beginner Contest 297 题解
A - Double Click 直接模拟就好。 时间复杂度:$O(N)$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include ......
ARC119F
一个好想但不好写的做法,不需要用自动机。 容易发现,如果相邻两个位置一个是 A,一个是 B,那么从 $0$ 到 $n$ 的路径一定会经过这两个位置中的一个。并且 $0$ 到这两个位置的最短路差 $\le 1$(因为可以互相走)。 那就可以根据这个来 dp。设 $f_{i,j,0/1,-1/0-1}$ ......
AtCoder Beginner Contest 207(D,E)
AtCoder Beginner Contest 207(D,E) D(计算几何) D 这个题是两个点的集合,每个集合有$n$个点,我们可以让一个集合中的每一个点进行下面两种操作 $1$,可以让每一个点进行旋转$x$的角度 $2$,可以让每一个点的$x$变成$x+disx$,$y$变成了$y+dis ......