balanced regional contest array

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

SMU Spring 2023 Contest Round 1

SMU Spring 2023 Contest Round 1 B - Contest Preparation 思路:特判下m大于n的情况,只有make后才能validate #include<bits/stdc++.h> using namespace std; typedef pair<int, ......
Contest Spring Round 2023 SMU

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

The 2022 ICPC Asia Nanjing Regional Contest

写了题解没写代码的:BDGHK A 题解 先求出没有洞的话,最终留下来的袋鼠是哪个矩形。再看洞相对袋鼠是怎么移动的,这个洞会留下来一个移动轨迹。check 一个点是不是答案,就是看这个移动轨迹和袋鼠矩形的交的大小。那么每次是对移动轨迹进行一个二维数点。移动轨迹坐标必须在 $[-n,n]$ 和 $[- ......
Regional Contest Nanjing 2022 ICPC

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

[Javascript] Avoid mutation, Array.prototype.toReversed() vs reverse()

reverse()mutates the original array, return the reference point to the original array. The toReversed() method of Array instances is the copying count ......

[Javascript] avoid mutation: Array.prototype.toSpliced() vs splice()

Array.prototype.splice()mutates the original array. To avoid mutation, we use Array.prototype.slice(). new method Array.prototype.toSpliced() return a ......

[Javascript] Avoid mutation, Array.prototype.toSorted() vs sort()

sort(), mutates the original array, and return the reference to original array and sorted. The toSorted() method of Array instances is the copying ver ......
Javascript prototype mutation toSorted Avoid

[Javascript] Array.prototype.with

Prevously, when we want to upate an item inside a array: const items = [ {id: 1, name: 'a'}, {id: 2, name: 'b'}, {id: 3, name: 'c'}, {id: 4, name: 'd' ......
Javascript prototype Array with

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

Arrays工具类和数学工具类Math

Arrays工具类和数学工具类Math Arrays数组工具类 这个一个静态方法是用于操作数组的而且不需要生成对象就可以使用 Arrays里面的内容 toString()方法().返回值类型是String sort()方法 代码示例 import java.sql.SQLOutput; import ......
工具 数学 Arrays Math

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