contest provincial official jiangxi

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

2023 Hubei Provincial Collegiate Programming Contest题解 C F H I J K M

补题链接:https://codeforces.com/gym/104337 原文链接:https://www.eriktse.com/algorithm/1136.html M. Different Billing 签到题,写几个柿子然后枚举B或C即可。 #include <bits/stdc++ ......

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

2023 Hubei Provincial Collegiate Programming Contest

链接:https://codeforces.com/gym/104337 C 画个图看看,复杂度 $O(1)$。 C++ Code #include "bits/stdc++.h" using namespace std; using i64 = long long; int main() { io ......

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

Educational DP Contest

Educational DP Contest ATcoder_link 夯实基础的好东西 I 记录一下此时第 i 个有多少概率小于等于 j 的就可以了。 #include<bits/stdc++.h> using namespace std; const int N=3005; #define db ......
Educational Contest DP

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 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

AtCoder Regular Contest 126 D Pure Straight

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

SMU Spring 2023 Trial Contest Round 9

A. Wrong Subtraction 在k次操作里, 将n的最后一位数减1,如果是0就去掉,模拟一下就好了. #include <bits/stdc++.h> //#define inf 0x3f3f3f3f #define endl '\n' #define int long long usi ......
Contest Spring Round Trial 2023

SMU Spring 2023 Trial Contest Round 10

SMU Spring 2023 Trial Contest Round 10 A - Remove Duplicates #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<strin ......
Contest Spring Round Trial 2023

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

SMU Spring 2023 Trial Contest Round 10

A. Remove Duplicates #include <bits/stdc++.h> using namespace std; #define int long long int read() { int x = 0, f = 1, ch = getchar(); while ((ch < ' ......
Contest Spring Round Trial 2023

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

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

SMU Spring 2023 Trial Contest Round 9

SMU Spring 2023 Trial Contest Round 9 A - Wrong Subtraction #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<string ......
Contest Spring Round Trial 2023

SMU Spring 2023 Trial Contest Round 9

A. Wrong Subtraction #include <bits/stdc++.h> using namespace std; int32_t main() { int n, k; cin >> n >> k; while (k--) { if (n % 10 == 0) n /= 10; e ......
Contest Spring Round Trial 2023

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

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