摘要: 博主已退役,没书读,现在在家睡觉。 阅读全文
posted @ 2022-05-02 20:51 Nylch 阅读(57) 评论(1) 推荐(1) 编辑
摘要: A 注意到 \(n\) 和值域很小,于是状压对前 \(15\) 个质数做一遍就好了。 #include <bits/stdc++.h> typedef long long ll; const int pr[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}; i 阅读全文
posted @ 2022-05-31 16:17 Nylch 阅读(12) 评论(2) 推荐(0) 编辑
摘要: A 显然如果 \(x\) 和 \(y\) 有偶数个位置不同,那么一定是可以有相同数量的。 那么只要考虑有奇数个位置不同的情况,那么方案数就是通过有奇数个 \(1\) 的和有偶数个 \(1\) 的配对来贡献的。 于是扫一遍统计一下就好了。 #include <bits/stdc++.h> typede 阅读全文
posted @ 2022-05-20 22:19 Nylch 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 博主已退役,没书读,现在在家睡觉。 阅读全文
posted @ 2022-05-02 20:51 Nylch 阅读(57) 评论(1) 推荐(1) 编辑
摘要: 常规做法是 CRT,这里写一写更简单的做法。 \(\gcd(x+a,x+b)=\gcd(x+a,\mid b-a \mid)\) 数据范围和猜测次数启示我们在二进制下一位一位的确定 \(x\)。 为了消除高位对低位的影响,从低位到高位猜。 假设猜到了从右到左第 \(i\) 位,那么记前面的 \(i- 阅读全文
posted @ 2022-05-02 20:50 Nylch 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Key Observation:小于 \(2^k\) 的数两两取或的最小值一定由前 \(k + 1\) 小的一对组成。 证明采用数学归纳法: 对于 \(k = 1\),显然成立。 假设对于 \(k\) 结论成立,那么下面证明对于 \(k + 1\) 也成立。 对于所有数的第 \(k\) 位都是 \( 阅读全文
posted @ 2022-05-02 20:49 Nylch 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 随便写写。 考虑一个分层图 \(\text{dp}\),记 \(f(i,j,k)\) 表示前 \(i\) 层,一共选了 \(j\) 个点,第 \(i\) 层选了 \(k\) 个点的方案数。 转移分两种情况: 层数 $ ⇐ d$ 那么枚举下一层选的点的个数 \(l\)。 那么层内连边方案为 \(2^{ 阅读全文
posted @ 2022-05-01 23:44 Nylch 阅读(8) 评论(1) 推荐(0) 编辑
摘要: 对不起,这篇文章鸽了。 咕咕咕 开更! SGU 100 A+B,略。 SGU 101 最开始考虑将每个牌当作点,但是这样就变成求哈密顿路径,不太能做。 考虑将 0-6 当作点,每张牌当作边建图,那么就变成找一条欧拉路。 代码 SGU 102 求 \(\varphi(n)\)。 代码 SGU 105 阅读全文
posted @ 2022-03-15 21:12 Nylch 阅读(18) 评论(1) 推荐(0) 编辑
摘要: A,B,C 略过。。。 D 注意到 \(k \leq 5\),所以用 multiset 维护,每次查询直接往前或者往后跳 \(k\) 步。 代码 E vp 做法: 注意到 \(\log_2 10^{12} \approx 40\),于是考虑倍增。 记 \(f(i,j)\) 表示跳了 \(2^i\) 阅读全文
posted @ 2022-03-15 21:11 Nylch 阅读(22) 评论(0) 推荐(0) 编辑
摘要: A 因为只能跳一次,所以从最前的岸跳到最后的岸就好了。 代码 B 发现球的个数其实是取决于传球总次数和传球次数最多的那个人,如果最多的那个人次数超过了总次数,那么这个人拿到球就要扔掉。 那么此时答案就是 \((a_i)_{max}+(a_i)_{max}-sum\)。 如果没有超过,那么只需要 1 阅读全文
posted @ 2022-03-11 18:28 Nylch 阅读(24) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-18 23:40 Nylch 阅读(3) 评论(0) 推荐(0) 编辑