atcoder equal 100d arc

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

为什么重写equals方法就一定要重写hashCode方法

在hashMap和hashTable集合中,元素是不能够重复的,所以我们在添加元素时,先要判断是否存在这个元素。而判断的方法就是先用hashCode方法判断哈希值是否相同,如果哈希值相同,再使用equals判断是否相同,如果都相同,则才证明两个元素不同。而如果哈希值不同,则不会进行后续的equals ......
方法 hashCode equals

AtCoder Regular Contest 115 D Odd Degree

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

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

[ARC138D] Differ by K bits 题解

小清新构造题。 首先 $K=1$ 的情况是 trival 的,直接格雷码即可。 对于 $K>1$,我们发现题目的约束相当于 $\operatorname{popcount}(P_i\oplus P_{(i+1)\bmod 2^N})=K$,考虑 $P_i$ 的差分序列 $D_i$,那么 $D_i$ ......
题解 Differ 138D bits ARC

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

Rust中的智能指针:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak<T>

Rust中的智能指针是什么 智能指针(smart pointers)是一类数据结构,是拥有数据所有权和额外功能的指针。是指针的进一步发展 指针(pointer)是一个包含内存地址的变量的通用概念。这个地址引用,或 ” 指向”(points at)一些其 他数据 。引用以 & 符号为标志并借用了他们所 ......
lt gt 指针 RefCell 智能

ARC159F Good Division【性质,DP,线段树】

定义一个序列是好的当且仅当其可以通过每次删去一对相邻的不同的数把序列删空。 给定一个长度为 $2n$ 的序列 $a$,求有多少种划分方式使得每一段都是好的。答案对 $998244353$ 取模。 $n \leq 5 \times 10^5$,时限 $\text{5.0s}$。 先考虑什么样的数列是合 ......
线段 Division 性质 159F Good

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

==和equals()、hashcode()+hashmap、hashset相关

== 和 equals() 的区别 == 对于基本类型和引用类型的作用效果是不同的: 对于基本数据类型来说,== 比较的是值。 对于引用数据类型来说,== 比较的是对象的内存地址。 因为 Java 只有值传递,所以,对于 == 来说,不管是比较基本数据类型,还是引用数据类型的变量,其本质比较的都是值 ......
hashcode hashmap hashset equals

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

Konga versions equal to or below v0.14.9 use the default TOKEN_SECRET

Vulnerability Description Kong is a clould-native, fast, scalable, distributed microservice abstraction layer (also known as API gateway, API middlewa ......
TOKEN_SECRET versions default SECRET Konga

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 109

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 ......
AtCoder Regular Contest Figures 106

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 的面积的期望 将问题反过来考虑,枚举每种矩形有多少种放置棋子的方案,对于一个 ......
297 Beginner Bounding AtCoder Contest

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 ......
Disconnected AtCoder Regular Contest Graph

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 ......
100E Plus ARC 100 Max

abc250_e Prefix Equality 题解

Prefix Equality 题意 给定长度为 $n$ 的整数序列 $a$ 和 $b$。 对于每组询问,回答以下内容: 如果 $a$ 的前 $x_i$ 项数值构成的不重复集合与 $b$ 的前 $y_i$ 项相同,输出 Yes,否则输出 No。 数据范围 $1 \leqslant x_i, y_i ......
题解 Equality Prefix abc 250

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$个回合, ......
Beginner AtCoder Contest 296

AtCoder Beginner Contest 295

Three Days Ago 我们定义一个只由数字构成的字符串中的字符能够被重排成相同的两份,我们称这个字符串是个好字符串,比如12341234 现在给定一个字符串$S$,找出所有的$[l,r]$,使得在这段区间中的子段是个好字符串 题解:思维 + 组合计数 首先我们根据题意得到:一个好字符串中所有 ......
Beginner AtCoder Contest 295

Atcoder题解:Agc002_f

我们可以把这个理解成一种类似卡塔兰数的形式,我们发现,被安排的 $0$ 球总数 $i$ 和已经出现的颜色种数 $j$ 在任意时刻都必须满足 $i\ge j$。 然后就可以 $dp$ 了,我们每次钦定下一个转移的球是某种颜色。如果下一个转移的球不是 $0$,那么我们就一次性把后面所有这种颜色都安排好, ......
题解 Atcoder Agc 002