counting atcoder another 259h

AtCoder Regular Contest 128 E K Different Values

洛谷传送门 AtCoder 传送门 考虑判断有无解。把序列分成 $c = \left\lceil\frac{len}{k}\right\rceil$ 段,则 $\forall a_i \le c$ 且 $\sum\limits_{i=1}^n [a_i = c] \le ((len - 1) \bm ......
Different AtCoder Regular Contest Values

AtCoder Regular Contest 134 D Concatenate Subsequences

洛谷传送门 AtCoder 传送门 我一年前甚至不会做/qd 发现 $a_{x_1}$ 为 $k = \min\limits_{i=1}^n a_i$ 时最优。然后开始分类讨论: 如果 $\min\limits_{a_i = k} a_{i+n} \le k$,答案为 $(k, \min\limit ......

AtCoder Regular Contest 133 D Range XOR

洛谷传送门 AtCoder 传送门 很典但是并不会做…… 设 $s_i = \oplus_{i=0}^n i$,所求即为: $$\sum\limits_{l=L-1}^R \sum\limits_{r=l+1}^R [s_l \oplus s_r = V]$$ 考虑把它化成下界相同的形式,即求: $ ......
AtCoder Regular Contest Range 133

AtCoder Beginner Contest 300

A - N-choice question #include<bits/stdc++.h> using namespace std; int read() { int x = 0, f = 1, ch = getchar(); while ((ch < '0' || ch > '9') && ch ......
Beginner AtCoder Contest 300

AtCoder Regular Contest 128 D Neq Neq

洛谷传送门 AtCoder 传送门 考虑把所有 $a_i = a_{i+1}$ 的位置断开,分别计算然后把方案数乘起来。接下来的讨论假设 $a_i \ne a_{i+1}$。 考虑一个 dp,设 $f_i$ 为 $[1,i]$ 最后剩下的集合的方案数。转移需要从之前所有可以被删的区间转移过来。 现在 ......
Neq AtCoder Regular Contest 128

AtCoder Beginner Contest 242(D,E)

AtCoder Beginner Contest 242(D,E) D(二叉树搜索) D 题目大意就是首先给你一个字符串,代表$S^0$,然后我们可以操作得到$S^1,S^2$等等 我们可以知道$S^i$是拿$S^(i-1)$经过一系列替换而来的,因为这个字符串只有三种字符串,$A,B,C$,这个替 ......
Beginner AtCoder Contest 242

AtCoder Regular Contest 125 F Tree Degree Subset Sum

洛谷传送门 AtCoder 传送门 首先将度数 $-1$。 设 $f_i$ 为体积为 $i$ 至多能用几个物品凑出来,$g_i$ 为至少。 我们现在要证明一个东西:$x \in [g_i, f_i]$,$(i, x)$ 合法。 首先若 $(s, x)$ 合法,那么必须满足 $s - x \in [- ......
AtCoder Regular Contest Degree Subset

AT_abc106_d [ABC106D] AtCoder Express 2 题解

题目传送门 解题思路 区间 $dp$。 划分阶段:以左右城市之间的列车数量为阶段。 状态表达:设 $f_{i,j}$ 为城市 $i$ 与城市 $j$ 之间的列车数量。 状态转移: 由图可知,城市 $l$ 与城市 $r$ 之间的列车数量,就是城市 $l$ 与城市 $r-1$ 之间的列车数量与城市 $l ......
题解 106 AtCoder Express AT_abc

AtCoder Regular Contest 119 F AtCoder Express 3

洛谷传送门 AtCoder 传送门 很厉害的题! 考虑所有车站已确定,如何求 $0$ 到 $n+1$ 的最短路。设 $g_{i,0}$ 为只考虑 $0 \sim i$ 的点,到 $i$ 和它左边第一个 $\text{A}$ 的最短路,$g_{i,1}$ 同理。有转移: 若 $s_{i-1} = \t ......
AtCoder Regular Contest Express 119

AtCoder Regular Contest 119 D Grid Repainting 3

洛谷传送门 AtCoder 传送门 对每个红格的行和列连边,建出二分图。对于二分图中的每个连通块分别考虑。 大胆猜测对于每个连通块,我们都能够进行适当的操作,使得只有一行/一列没被操作(显然不能使所有行和列都被操作)。对应的方案就是随便取一棵生成树,把不被染白的那一行/列拎出来当根,然后自底向上,每 ......
Repainting AtCoder Regular Contest Grid

AtCoder Regular Contest 117 F Gateau

洛谷传送门 AtCoder 传送门 **差分约束算法:**给出 $m$ 个不等式形如 $x_{a_i} \le x_{b_i} + y_i$,求是否有解。 考虑把不等式看成图上的三角不等式 $dis_v \le dis_u + d$,连边 $(b_i, a_i, y_i)$,以 $x_i$ 最大的位 ......
AtCoder Regular Contest Gateau 117

AtCoder Regular Contest 112 C Calculator

洛谷传送门 AtCoder 传送门 很神奇但是经典的构造,学习一下。 注意到题目给的操作很像斐波那契。但是难点是如何将 $O(\log n)$ 个斐波那契数相加。 考虑一个操作序列 $4,3,4,3,...$(共 $m$ 个)。发现在第 $i$ 个操作之前给 $x$ 或 $y$ 加 $1$,等价于最 ......
Calculator AtCoder Regular Contest 112

Atcoder Grand Contest 059 E - Grid 3-coloring(转化+思维)

首先先是一步很猛的操作——将三染色视作构造一个矩阵使得相邻元素相差 $1$ 且每个元素 $\bmod 3$ 的值就等于其颜色。证明是显然的,我们按从上到下从左到右的顺序填数,可以归纳证明,对于一个相邻格子颜色互不相同的矩阵的填数方案,处于斜对角的两个格子上写的数要么差 $2$,要么相等,这样待填的这 ......
coloring 思维 Atcoder Contest Grand

AtCoder Regular Contest 122 D XOR Game

洛谷传送门 AtCoder 传送门 从高到低按位考虑。 设当前位有 $k$ 个 $1$。 如果 $k \bmod 2 = 0$,这意味着 Alice 如果选了一个数,Bob 可以选相同的数。发现可以分成 $(0,0),(1,1)$ 两组,递归下去即可。 如果 $k \bmod 2 = 1$,意味着答 ......
AtCoder Regular Contest Game 122

AtCoder Regular Contest 119 E Pancakes

洛谷传送门 AtCoder 传送门 感觉挺典的,~~为啥有 2500 啊(~~ 观察发现,反转序列对 $\sum\limits_{i=1}^{n-1} |a'i - a'{i+1}|$ 影响不大。具体而言,设反转了 $a_l \sim a_r$,记 $s = \sum\limits_{i=1}^{n ......
Pancakes AtCoder Regular Contest 119

Codeforces Gym 103439D - LIS Counting(猜结论+状压)

一道需要一些猜结论技巧的中档题。 首先突破口在于排列长度恰好等于不是额外输入的某个数 $k$ 而是 LDS 与 LIS 的乘积,这显然启示我们去找一些性质。根据 dilworth 定理,最长反链等于最小链覆盖,故 LIS 的长度,就是最少需要的递减数列的个数使得每个元素被覆盖至少一次,而每个递减数列 ......
Codeforces Counting 结论 103439D 103439

PAT Advanced 1004. Counting Leaves

PAT Advanced 1004. Counting Leaves 1. Problem Description: A family hierarchy is usually presented by a pedigree tree. Your job is to count those fami ......
Advanced Counting Leaves 1004 PAT

AtCoder Regular Contest 117 D Miracle Tree

洛谷传送门 AtCoder 传送门 第一步就没想到 可以考虑化简限制。设所有点按 $E_i$ 从小到大排序后顺序是 $p_1,p_2,...,p_n$。发现只需满足 $E_{p_{i+1}} - E_{p_i} \ge \operatorname{dis}(p_i, p_{i+1})$。证明是对于任 ......
AtCoder Regular Contest Miracle Tree

AtCoder Beginner Contest 231

A - Water Pressure #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; printf("%.6lf\n" , n / 100.0 ); return 0; } B - Election ......
Beginner AtCoder Contest 231

AtCoder比赛记录(二)

这里记录的是这个账号的比赛情况。 ABC300 2023-4-29 Solved:7/8 0->1200 F(Medium-,1846) 给定由o和x组成的字符串$S$。将$S$复制$m$遍,然后将其中$k$个x改成o,求改完之后连续的o最多可能有多少个。 Solution:贪心。设最多能改完$t$ ......
AtCoder

AtCoder比赛记录(一)

这里记录的是这个账号的比赛情况。 ARC157 2023-2-25 Solved:4/6 2189->2216 C(Medium,1802) 给定一个XY矩阵,一条左上角到右下角的路径的分值定义为路径上连续两个Y的组数。求所有可能路径的分值的平方和。 Solution:经典DP。递推两个量,一个是到 ......
AtCoder

AtCoder Beginner Contest 300

A - N-choice question (abc300 a) 题目大意 给定一个元素互不相同的数组$c$和 $a,b$,找到 $i$使得 $c_i = a + b$ 解题思路 直接for循环寻找即可。 神奇的代码 ```cpp #include using namespace std; usin ......
Beginner AtCoder Contest 300

AtCoder Regular Contest 116 F Deque Game

洛谷传送门 AtCoder 传送门 很强的博弈 + 性质题。下文令 A 为 Takahashi,B 为 Aoki。 发现单独考虑一个序列 $a_1,a_2,...,a_n$: 若 $n \bmod 2 = 0$: 若 A 为先手,答案为 $\max(a_{\frac{n}{2}}, a_{\frac ......
AtCoder Regular Contest Deque Game

AtCoder Regular Contest 123 E Training

洛谷传送门 AtCoder 传送门 不妨假设 $B_X \le B_Y$。设 $f(x) = A_X + \frac{x}{B_X}, g(x) = A_Y + \frac{x}{B_Y}, F(x) = \left\lfloor{f(x)}\right\rfloor, G(x) = \left\l ......
Training AtCoder Regular Contest 123

【AtCoder】Forbidden Pattern

题目链接 分析 首先考虑哪些串能被删空。下面只考虑长度为偶数的串。考虑这样一个(错误的)算法:从左往右依次加入串中的字符,然后能删则删。这个算法对于结尾为 A 的串一定能删空。对称地,开头为 B 的串也一定能被删空。 现在只需要考虑开头为 A 结尾为 B 的串。如果它能被删空,则一定存在最早的一个时 ......
Forbidden AtCoder Pattern

AtCoder Regular Contest 126 E Infinite Operations

洛谷传送门 AtCoder 传送门 算是对这篇博客的补充吧。 设 $a_1 \le a_2 \le \cdots \le a_n$。 发现最优操作中一定是对相邻的数进行操作,因为如果 $a_j$ 想把 $x$ 给 $a_i$($i < j$),最优是依次操作 $(j-1,j,x),(j-2,j-1, ......
Operations Infinite AtCoder Regular Contest

AtCoder Regular Contest 112 F Die Siedler

洛谷传送门 AtCoder 传送门 感觉太人类智慧了。 设 $A = (c_1,c_2,...,c_n)$ 表示当前每种牌的数量,$f(A)$ 为状态 $A$ 只进行换牌操作最终最少剩下几张牌。 $f(A)$ 是可以贪心求出的,因为策略必然是能换则换。 并且我们发现依次换 $2,3,...,n,1$ ......
AtCoder Regular Contest Siedler 112

AtCoder Regular Contest 123 C 1, 2, 3 - Decomposition

洛谷传送门 AtCoder 传送门 从低位往高位考虑。设当前个位为 $k$,暴力搜索这一位向上进 $i$ 位,设 $\left\lfloor\frac{n}{10}\right\rfloor - i$ 的答案为 $t$。 若 $t > 10i + k$ 显然就不可行,因为就算个位全部填 $1$ 也不 ......
Decomposition AtCoder Regular Contest 123

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

AtCoder Regular Contest 125 E Snack

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