摘要: A 猜测结论。发现当且仅当 \(k=1\) 或者 \(n=k\) 时有解,否则无解。 对于 \(k=1\) 时构造序列 \(1,2,3,\ldots,n\) 满足条件。 对于 \(k=n\) 时构造序列 \(1,1,1,\ldots,1\) 满足条件。 时间复杂度为 \(O(n)\)。 #inclu 阅读全文
posted @ 2024-04-17 20:50 yhbqwq 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 容易发现 A 图中最多只会选择两个人,B 图是一个二分图的补图。 那么在 A 图中枚举 \(0\sim 2\) 个人,找出 B 图中可以选择的所有人,对这些人按照朋友之间的关系建立一张二分图的补图,求出这张图的最大团的大小即可。 阅读全文
posted @ 2024-04-17 11:51 yhbqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 二分图独立集定义:在二分图 \(G\) 中选出点集 \(S\) 使得点集 \(S\) 中的点两两之间没有边相连。 二分图最大独立集定义:在 二分图 \(G\) 中选出点集 \(S\) 使得点集 \(S\) 中的点两两之间没有边相连,且使得不存在另一个二分图独立集 \(S'\) 使得 \(|S'|>| 阅读全文
posted @ 2024-04-17 11:32 yhbqwq 阅读(21) 评论(0) 推荐(0) 编辑
摘要: A \(n\) 个人里面每一次第 \(a_1\) 个人走,然后第 \(a_1+1\) 个人变成了新的第 \(a_1\) 个人走,第 \(a_1+2\) 个人又变成了新的第 \(a_1\) 个人走,以此类推。 因此这 \(n\) 个人所有编号 \(\ge a_1\) 的人全部都会被移走。所以每一次询问 阅读全文
posted @ 2024-04-16 10:35 yhbqwq 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 首先建立一个超级点 \(S\),对于每一个可以充电的点 \(u\) 都建立一条从 \(S\to u\) 的边权为 \(0\) 的有向边。从这个超级点 \(S\) 开始跑一遍最短路算法,就可以得到每一个点 \(u\) 至少需要花费多少的电量才可以走到一个充电点。令 \(D_i\) 表示 \(i\) 号 阅读全文
posted @ 2024-04-15 16:15 yhbqwq 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 建立一个虚拟点 $p$,满足 $p$ 在 LCT 中编号最小。 如果一个点 $i$ 可以弹到点 $j$ 那么 $i$ 到 $j$ 连一条边。 如果一个点 $i$ 可以被弹出那么向 $p$ 连一条边。 然后,直接用 LCT 即可。 $0$ 操作直接修改即可。 $1$ 操作最后落在哪一个洞就是编号区间最 阅读全文
posted @ 2023-07-04 20:29 yhbqwq 阅读(8) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> using namespace std; signed main() { int n, k, cnt = 0; cin >> n >> k; set <int> se; se.insert(0); while (k --) { int x, y; c 阅读全文
posted @ 2023-02-18 13:40 yhbqwq 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 如果只有 $1$ 数字,多项式为:$1+x+x^2+x^3+\ldots$ 。 如果只有 $2$ 数字,多项式为:$1+x^2+x^4+x^6+\ldots$ 。 …… 如果只有 $k$ 数字,多项式为:$1+x^k+x^{2k}+x^{3k}+\ldots$ 。 所有的多项式相乘,求 $n$ 位置 阅读全文
posted @ 2022-11-06 14:01 yhbqwq 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 生成函数。 kkk: 金神:$\large 1+x^6+x^{12}+x^{18}+\ldots=\frac{1}{1-x^6}$。 木神:$\large 1+x+x^2+x^3+x^4+x^5+x^6+x^7+x^8+x^9=\frac{1-x^{10}}{1-x}$。 水神:$\large 1+ 阅读全文
posted @ 2022-11-06 11:56 yhbqwq 阅读(13) 评论(0) 推荐(0) 编辑
摘要: #include <bits/stdc++.h> #define int long long using namespace std; int tong1[2323233], tong2[2323233]; signed main() { int T; cin >> T; while (T --) 阅读全文
posted @ 2022-10-25 09:38 yhbqwq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 甚么神仙题啊…… #include <iostream> #include <vector> #include <cstdio> #include <cstring> #include <iterator> #include <utility> #define int long long using 阅读全文
posted @ 2022-10-25 08:38 yhbqwq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: $\texttt{diff: }\color{gray}{315}$ 题意:给定一颗二叉树,问 $1$ 号节点是 $i$ 号节点的多少代祖先,$i$ 是 $1\sim 2n + 1$ 中的所有整数。 题解: 因为这道题的难度只有 $315$,所以一定是使用很简单的方法,所以用非常简单的树剖的树上差分 阅读全文
posted @ 2022-10-23 14:46 yhbqwq 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个排列 $p$,求满足下列条件的 $a$ 数组的数量。 $1\le a_i\le m$。 $a$ 数组的字典序小于 ${a_{p_1},a_{p_2},\cdots,a_{p_n}}$。 题解: 由于每一个 $a < a_p$ 的方案都可以反过来变成 $a > a_p$,那么只需要计算 阅读全文
posted @ 2022-10-23 09:04 yhbqwq 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题意: 定义 $Hamming$ 距离为两个 $01$ 字符串中下标相同且字符不同的字符对的数量,问是否可以构造一个字符串 $u$ 满足 $Hamming(s,u)=Hamming(t,u)$。 思路: 如果 $Hamming(s,t)$ 满足 $Hamming(s,t)\bmod 2 = 1$,那 阅读全文
posted @ 2022-10-22 18:25 yhbqwq 阅读(23) 评论(0) 推荐(0) 编辑
摘要: T1:直接模拟即可。 #include <iostream> #include <cstring> #include <algorithm> #define int long long using namespace std; signed main() { int t; cin >> t; whi 阅读全文
posted @ 2022-10-15 18:39 yhbqwq 阅读(3) 评论(0) 推荐(0) 编辑