这个家伙不懒,什么都留下了
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
[题目传送门](https://www.luogu.com.cn/problem/CF2171B) # 题目大意 定义一个数组 $b_i=a_{i+1}-a_i$。你需要用非负整数替换 $a$ 数组中的所有 $-1$,使得在 $\sum\limits_{i=1}^{n-1}b_i$ 的绝对值最小的前提下让数组 $a$…
# 思路 不下降序列:指一个序列的任意一项不小于其上一项,即 $a[i] \ge a[i-1]$。例如 $00011$、$00000$、$11111$ 是不下降序列,而 $10011$、$110$ 不是不下降序列。 回文串:指一个序列正着读和倒着读是一样的。例如 $10101$、$101$、$1111$ 是回文串,而…
# [codeforces题目传送门](https://codeforces.com/problemset/problem/2167/B) # 思路 将输入的两个字符串分别按照字典序排序,最后检查排序后的两个字符串是否相等。 关键代码: ```cpp sort(s1.begin(),s1.end()); sort(s2…
在文章《题解:P14361 [CSP-S 2025] 社团招新 / club(民间数据)》发表评论:
《线选择》
在文章《题解:P14359 [CSP-J 2025] 异或和 / xor(民间数据)》发表评论:
%%%%%%%%
# 强连通分量 ```cpp int dfn[N] , low[N]; int id[N]; int idx; int clk; bool vis[N]; vector adj[N]; stack stk; void dfs(int u) { stk.push(u); dfn[u]=low[u]=++clk; for(…
# [题目传送门](https://www.luogu.com.cn/problem/CF2149B) # 题目大意 有一个长度为 $n$ 的整数数组($n$ 是偶数),要将这些数两两配对,恰好分成 $\dfrac{n}{2}$ 对。即 $(a_{p_1} , a_{q_1}) , (a_{p_2} , a_{q_2}…
# [题目传送门](https://www.luogu.com.cn/problem/CF2141B) # 思路 我们设 Alice 独有的游戏(即不在对方游戏列表里的游戏)数量为 $cnta$,Bob 独有的游戏数量为 $cntb$。 接下来我们可以分两种情况来讨论: 1. 若 $cnta>cntb$,此时 Bob…
# [题目传送门](https://www.luogu.com.cn/problem/CF2144B) # 思路 首先我们先增加一个特判:如果在整个序列中只有 $1$ 个空缺,那么只能将唯一一个排列中缺失的数填到那个空缺中,此时就是一个完整的排列。 如果我们想让这个排列的代价最大,那么我们需要使得这个满足条件的子段的最…
# [题目传送门](https://www.luogu.com.cn/problem/CF2148B) # 思路 我们可以发现,如果没有特殊情况(例如走出地图)的话,我们是需要穿过每一条激光的,因为每一条激光都将地图切开了,可以证明没有任何一条激光可以被绕行。即答案为 $n+m$。 # AC Code: ```cpp…
# [题目传送门](https://www.luogu.com.cn/problem/CF2132C1) # 思路 ## 题目大意 你需要买 $n$ 个西瓜,每次可以买 $3^x$ 个西瓜($1 \le 3^x \le n$),需要花费 $3^{x+1} + x \times 3^{x-1}$ 个硬币,问在交易次数最少…
# [题目传送门](https://www.luogu.com.cn/problem/CF2130B) # 思路 我们设原数组 $a$ 的各个数之和为 $sum$。 1. 若 $sum > s$,因为每个数字都会被访问,所以数值和一定会超过 $s$,输出原数组即可。 2. 若 $sum = s$,此时不管怎样排列数组,…
```cpp #include using namespace std; const int N=1e6+5; struct node{ int x,y,e; }a[N]; bool cmp(node x,node y) { return x.e>y.e; } int f[N]; int book[N*2]; int…
在讨论《洛谷网校学员NOI获得8金38银28铜》回复:
膜拜大佬
# [题目传送门](https://www.luogu.com.cn/problem/P13499) # 题目大意 当收到 **ls > NAME** 指令时,执行以下操作: * 若在当前目录中不存在名为 **NAME** 的文件,则创建一个名为 **NAME** 的文件;若在当前目录中存在名为 **NAME** 的文…
# [题目传送门](https://www.luogu.com.cn/problem/CF2122B) # 题目大意 有 $n$ 个二进制堆,其中第 $i$ 个堆顶部有 $a_i$ 个 $0$,$b_i$ 个 $1$。 每次操作中,你可以取出任意堆的**顶部元素**,并将其移动到任意堆的任意位置(包括原堆)。 计算最少…
# [题目传送门](https://www.luogu.com.cn/problem/P13491) # 题目大意 两个字符串 $s$ 和 $t$,判断将 $s$ 分解成若干个字串后(注意不是子序列)以任意顺序重新排列字串是否能使其变成 $t$。 # 思路 可以使用两个 map 来存储两个字符串。如果字符串 $t$ 中…
在讨论《这一套题的翻译等一下 AI 处理》回复:
qp
# [题目传送门](https://www.luogu.com.cn/problem/CF2117C) # 思路 从题目中不难看出,$b_j$ 需要包含 $b_1 \sim b_{j-1}$ 所出现过的所有数。我们可以建两个 set,一个记录一个段的数 $s$,另外一个记录之前的所有数 $sall$,当两个 set 的…
# 高精度复杂模板 ```cpp struct BigNum{ static const int BASE = 10000000; static const int base = 7; long long d[20]; int len; BigNum(){ len = 1; d[1] = 0; } BigNum(con…
# [题目传送门](https://www.luogu.com.cn/problem/CF2104B) # 思路 由于每次操作只能移动一个数到序列末尾,所以第 $i$ 次询问中 $a_{n-i+2} \sim a_n$ 的所有数是一定在答案中的,此时我们只需要再求出 $a_1 \sim a_{n-i+1}$ 中的最大值…
# 矩阵快速幂 ```cpp #include using namespace std; const int P=1e9+7; struct Matrix{ int R,C; vector > a; Matrix() { R=C=0; } Matrix(int r,int c) { R=r,C=c; a=vector…
# [题目传送门](https://www.luogu.com.cn/problem/CF2106C) # 思路 不难发现,本题可以分为两种情况。 1. 当 $b$ 数组全都是 $-1$。我们可以发现 $b$ 数组最大数最小的情况为 $a$ 数组的最大数减去最小数。而 $b$ 数组最大数最大为 $k$。所以此时答案为…
# [题目传送门](https://www.luogu.com.cn/problem/CF2106B) # 思路 不难看出,本题要分为两种情况。 1. 当 $x using namespace std; int main() { int t; cin >>t; while(t--) { int n,x; cin >>n…
# [题目传送门](https://www.luogu.com.cn/problem/CF2094C) # 思路 本题就是给你一个二维数组,一维数组 $p_{i+j}$ 上的数就对应二维数组中 $G_{i,j}$ 表示的数。 不难看出,一维数组 $p$ 中唯一没有被赋值的数就是 $p_1$,我们只需要找出 $1 \si…
# [题目传送门](https://www.luogu.com.cn/problem/CF2093B) # 思路 不难发现,一个数的最小花费一定为 $1$。所以我们只需要删除除了前导 $0$ 和最低位的非 $0$ 数的数之外的所有数即可。换句话说,我们只需要保留前导 $0$ 和唯一一个非 $0$ 数的数。 # AC C…
# [题目传送门](https://www.luogu.com.cn/problem/CF2091D) # 思路 这题很明显可以用二分答案。 每次检查以 $mid$ 为最长长度的长凳的凳子数量是否不小于 $k$。若成立则保存答案且移动右端点,否则移动左端点。 # AC Code: ```cpp #include usi…
# [题目传送门](https://www.luogu.com.cn/problem/CF2091C) # 思路 这题很明显要利用错位。 不难看出,当 $n$ 是偶数时无解。 而 $n$ 为奇数时就先输出不大于 $n$ 的所有奇数,再输出不大于 $n$ 的所有偶数即可。 # AC Code: ```cpp #inclu…
# 二叉搜索树 ```cpp #include using namespace std; const int N=1e5+5; struct nod { int val,cnt,siz,lc,rc; //val表示当前点的权值 //cnt表示当前权值重复出现的次数(重数) //siz表示子树大小(子树中cnt之和) /…
# [题目传送门](https://www.luogu.com.cn/problem/CF2085B) # 思路 本蒟蒻将此题分为 $5$ 种情况。 ## 数组中不包含 $0$ 此时将整个数组合并即可。 ```cpp if(cnt==0) { cout using namespace std; const int N=…