做让你难受的题目 才是真正的刷题
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
### T1 排序,计数器。 **测试点1:** n = 1时,答案为51。 **测试点2~4:** 判断出输入的牌各不相同后,答案为52 - n。 **测试点5~7:** 判定出牌以升序出现后,用每张牌和前一张作比较的道重复牌数,答案是52减去不重复牌数。 **测试点8~10:** 从保证升序的性质B获得启发,可以直…
```cpp #include using namespace std; int n,m,a[25][25],pw[50]; vector g1[25],g2[25]; int main(){ scanf("%d%d",&n,&m); //1.预处理a 乘上权值 pw[0]=1; for(int i=1;i >j)&1…
### C 给定正整数 $N$ 和 $K$ 。按如下所示定义长度为 $N+1$ 的序列 $A = (A_0, A_1, \ldots, A_N)$ : - $A_i = 1, 0 \leq i #define int long long using namespace std; const int N = 1e6 +…
### 400C 方法一:找规律 b的平方有1,4 , 9, 16, 25, 36, 49, 64, 81, 100 枚举$2^a$,只有$a == 1$ 和$a == 2$的数字不会重复,其他情况都重复: $2^1 \times b^2: 2, 8, 18,32,50,72,98,128,162,200...$ $2…
[**C - Make it Forest** ](https://atcoder.jp/contests/abc399/tasks/abc399_c) 删除最少的边,使得简单图转为森林 用并查集维护,生成没有环的森林需要的边数$ans$,总边数$m - ans$即为答案。 ```cpp #include using…
[D - Bonfire](https://atcoder.jp/contests/abc398/tasks/abc398_d) 思路: 坐标动,人和原点不动 记录偏移量$dx$和$dy$。此时原点即为$(0 - dx, 0 - dy)$,人的坐标为$(r - dx, c - dy)$。 可用$map$或$set$记录…
### 定义 顾名思义,单调队列的重点分为「单调」和「队列」。 - 「单调」指的是元素的「规律」——递增(或递减)。 - 「队列」指的是元素只能从队头和队尾进行操作。 Ps. 单调队列中的 "队列" 与正常的队列有一定的区别,稍后会提到 简单来说,分成两个操作: - 1:删除冗余数据 - 2:维护队列长度 ### 应用…
[C - Variety Split Easy](https://atcoder.jp/contests/abc397/tasks/abc397_c) 找一个断点,使得断点之前(含断点)的不同数字个数 + 断点之后(不含断点)不同数字个数 加起来最大。 set判重预处理处前缀不同个数和后缀不同个数,再枚举断点。时间复杂…
[E - Min of Restricted Sum](https://atcoder.jp/contests/abc396/tasks/abc396_e) 对于每一组 $X_i、Y_i、Z_i$,我们建立一条以 $X_i$ 到 $Y_i$ 权值为 $Z_i$ 的双向边。这样可以把条件抽象成一张图,且这张图不一定是联通…
[D - Pigeon Swap ](https://atcoder.jp/contests/abc395/tasks/abc395_d) 思路: 维护三个值: - $pos_i \rightarrow i$号鸟在的巢穴 - $g_i \rightarrow i$号位置放的巢穴 - $id_i \rightarrow…
### T1 **90 分做法:** 与经典问题 “约瑟夫问题” 类似,我们可以对约瑟夫问题的背景稍加改动,即可模拟从第 $1 $~$n $个苹果中反复拿取苹果的过程,即: - 每一轮报数从剩余的最左边的人开始; - 每一轮报数从 $1$ 开始,若报数除以 $3$ 的余数为 $1$,则出列。 我们可以用布尔数组 $vi…
[C - Debug](https://atcoder.jp/contests/abc394/tasks/abc394_c) 倒着处理 ```cpp #include using namespace std; int main(){ string s; cin >> s; for(int i = s.size() -…
[C - Make it Simple](https://atcoder.jp/contests/abc393/tasks/abc393_c) 给出$N$个点和$M$条边的无向图,最少需要删除多少边使得这个图成为简单图, 即没有重边和自环。 - 遇到自环直接删除。 - 用$map$记录重边 ```cpp #includ…
[E - Cables and Servers](https://atcoder.jp/contests/abc392/tasks/abc392_e) 假设一开始有$k$个联通块,因为每条边一定会让联通块的个数减1,所以最多只需要$k - 1$条边,就能让连通块的个数变成 1. ```cpp #include usin…
[C - Pigeonhole Query](https://atcoder.jp/contests/abc391/tasks/abc391_c) 思路:模拟题目操作的同时,记录每个巢里有多少鸽子,同时维护有多少个巢穴鸽子的数量大于$1$; ```cpp #include using namespace std; co…
[增一减一](https://www.luogu.com.cn/problem/T566279?contestId=227989) 每次操作都会加一减一, 所有$n$个数的总和不会变, 而且$n$个数最后各自的差值不会大于$1$, 设最后的$n$个数是由$x$和$x+1$组成的; 那我们就可以直接让$sum/n$, 得…
[最强程序员](https://www.luogu.com.cn/problem/T570875?contestId=227988) 入门,模拟 我们可以用建树的思想找入度即可, $a$比$b$强就让$b$的入度加一, 最后如果只有一个人没有入度, 说明他就是最强的; 如果有多个说明无法确定; ```cpp #incl…
[空闲连续天](https://www.luogu.com.cn/problem/T570788?contestId=227986) 入门,模拟 ```cpp #include #define int long long using namespace std; const int N = 1e3 + 10; int…
[产品功能](https://www.luogu.com.cn/problem/T570369?contestId=227985) 数据范围较小, 直接模拟 ``` #include using namespace std; const int N = 110; int n, m; int p[N]; set S[N]…
[默认价格](https://www.luogu.com.cn/problem/T570278?contestId=227983) 入门题 [顺时针移动](https://www.luogu.com.cn/problem/T570781?contestId=227983) 入门模拟题 [排名](https://www.…
[回文字符串](https://www.luogu.com.cn/problem/T567540?contestId=221965) 入门模拟 [重叠薄片](https://www.luogu.com.cn/problem/T556155?contestId=221965) 模拟,枚举A和B的相对位置,然后与C进行匹配…
[补水站](https://www.luogu.com.cn/problem/T566908?contestId=221692) 入门模拟 [字母距离](https://www.luogu.com.cn/problem/T566913?contestId=221692) 入门模拟 [饼干位置](https://www.…
[501最年轻开始](https://www.luogu.com.cn/problem/T566794?contestId=221576) 模拟 [502近似值](https://www.luogu.com.cn/problem/T555085?contestId=221576) 模拟 [503病毒感染](https:…
[ 401向前冲](https://www.luogu.com.cn/problem/T553516?contestId=220881) 模拟过程即可 ```cpp #include using namespace std; const int N = 2e5 + 10; int n, m, h, k; int dx[…
[301排序](https://www.luogu.com.cn/problem/T553072?contestId=220675) n很小,直接全排列枚举,判断。 [302礼物](https://www.luogu.com.cn/problem/T553087?contestId=220675) 对a[] 和b[]进…
[201填充数字](https://www.luogu.com.cn/problem/T552809?contestId=220508) 直接模拟 [202字符串问题](https://www.luogu.com.cn/problem/T552944) 统计出第一个和第二个字符串中'@'的数量。 桶排出所有小写字母在第…
[101相同矩阵](https://www.luogu.com.cn/problem/T552209?contestId=220409) 因为可以上移,左移,所以对于每一行的字符串都复制一遍,然后接到后面,然后再垂直复制一遍。 也就是原来字符串的大小是$h$行$w$列,现在是$2h \times 2w$ 答案就在这个$…
[D - Diagonal Separation](https://atcoder.jp/contests/abc386/tasks/abc386_d) 是否所有黑色块都在白色块的上方或者左方。 ```cpp #include using namespace std; const int N = 200005; str…
```cpp #include using namespace std; const int N = 1e5+10; int n, m, q, f[N]; int root[N], tot; int ls[N*20], rs[N*20], id[N*20], sum[N*20]; // id:节点编号, sum:重要度…
```cpp #include using namespace std; const int N = 1e5 + 10; int n, m, ans[N]; vector g[N]; int fa[N][20], dep[N]; int root[N], tot; int ls[N * 50], rs[N * 50],…