该文被密码保护。 阅读全文
摘要:
link 事实上这是 CSP模拟赛 #36 的 T4。 记 \(a_i,b_i\) 分别为前 \(i\) 个字符中 \(0\) 的个数对 \(n\) 取模后的值,\(1\) 的个数对 \(m\) 取模后的值。那么,记 \(k\) 为序列长度,合法的序列满足: \(\forall 1\le i < j 阅读全文
摘要:
A 题意:给定 \(n, a_{1\sim n}, b_{1\sim n}\),两个点 \(i,j\) 之间有连边当且仅当 \(a_i - a_j\le i - j \le b_i - b_j\) 或 \(a_j - a_i\le j - i\le b_j - b_i\),求图中连通块数量。 \(1 阅读全文
摘要:
link 假定 \(a_{1\sim n}\) 不对 \(n\) 取模,设最终状态为 \(b_{1\sim n}\),令 \(S = \sum\limits_{i = 1} ^ n (b_i - a_i)\),应满足以下条件: \(b_i \bmod n\) 两两不同 \(m | S\) \(\ma 阅读全文
该文被密码保护。 阅读全文
摘要:
int __builtin_ffs (unsigned int x) 返回右起第一个 \(1\) 的位置。 int __builtin_clz (unsigned int x) 返回左起第一个 \(1\) 之前 \(0\) 的个数。 int __builtin_ctz (unsigned int x 阅读全文
摘要:
link 超棒的题目。 考虑到差分的性质不够好,转化为将 \(b\) 做若干次前缀异或操作变为 \(a\)。前缀和只会影响一段前缀的值,所以考虑逐个确定 \(b_{n\dots 1}\),变为 \(a\)。 枚举 \(i\) 表示当前需要还原 \(b_i\)。只有对 \(k = i\) 操作才能改变 阅读全文
该文被密码保护。 阅读全文
摘要:
很好的组合数学题。 考虑以任意一个点为基准计算方案数,最终答案乘上 \(\dfrac L n\) 即可。 枚举点两两之间最短路径 \(\le d\),计算方案数,剩下的 \(n - 1\) 个点都应该至多在基准点的左 \(d\) 个和右 \(d\) 个点的位置。 显然左右 \(d\) 个位置内部的距 阅读全文
摘要:
CF2002F2 考虑 F1,当 \(n = m\) 时,我们默认 \(l \ge f\)。此时我们可以发现一个比较正确的策略:先从 \((0,0)\) 跳到满足 \(p\) 是质数的 \((p,0)\) 处,然后再跳到满足 \(q\) 是小于 \(p\) 的质数的 \((p,q)\) 处,然后再暴 阅读全文