Loading

摘要: K 进制 FWT 是简单的,模拟单位根的技巧是通用的。 阅读全文
posted @ 2022-09-12 16:16 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 很有意思 .. 但是不知道在考场碰到阶大于 $1$ 时,有没有能力处理大量的式子,毕竟感觉细节并不少。>_< 不过想必以我的熟练度也不敢轻易使用。 阅读全文
posted @ 2022-09-11 20:25 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 写 MTT 记得预处理单位根 .. 不然容易炸精度。 阅读全文
posted @ 2022-09-09 18:09 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-09-08 19:09 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-09-08 19:07 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
摘要: NOI 2022 前倒数第四场模拟出现的科技 .. 阅读全文
posted @ 2022-09-08 19:05 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 填一下联合省选 2020 D1T3 的坑 .. 阅读全文
posted @ 2022-09-08 19:03 Qiuly 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 终于 Au 了。 阅读全文
posted @ 2022-08-26 20:02 Qiuly 阅读(813) 评论(6) 推荐(4) 编辑
摘要: 给一个稍微复杂点的做法()。 考虑用 $\mathbf{triplet}$ 为辅确定单个元素,$\mathbf{straight}$ 为主求解。首先将问题以 $n$ 的奇偶性分成两种情况,然后可以注意到两个点: - 问某个 $a_i$ 第两次后一定能确定它的值。 - 当知道某个 $a_i$ 是否为 $0$ 时,只需要问一次就可以知道它的值。 那么首先考虑 $n$ 是奇数的情 阅读全文
posted @ 2022-02-06 09:28 Qiuly 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 三棵线段树。 A 将每个数表示成 \(2^k\times c\),其中 \(c\) 是奇数,显然最后一顶找到一个最大的 \(c\) 将所有的 \(2^k\) 都乘过去即可。 代码:Submission #137565948 - Codeforces B 一次操作最多消除一个 abc 也一定消除一个 阅读全文
posted @ 2021-12-01 14:53 Qiuly 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 没有 vp A 略 B 略 C C1 的做法就是问整个串,然后问 \([1,n-1]\),用 map 维护,找到所有的后缀可以轻松还原。 C2 考虑还原出前一半,然后问整个串,按照串长分类讨论字符的出现次数就能求得后一半。 代码(C1):Submission #133319703 - Codefor 阅读全文
posted @ 2021-10-29 09:37 Qiuly 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 编了一个奇怪的做法,看起来好像都不太一样。 考虑单调栈找到每个位置后第一个比其小的点,然后连边(以那个点为父亲)可以连出一棵森林。注意到区间询问其实只需要关心这个点祖先链上的一段点。 那么将询问离线,然后在树上线段树合并。在讨论节点 $u$ 到其父亲的贡献时,在 $[u,\mathrm{fa}_u]$ 这一段区间中,之前的区 阅读全文
posted @ 2021-10-28 18:05 Qiuly 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 赛时通过 ABCD A 枚举上下边界,从左到右扫描右端点维护左端点答案,显然推进一格右端点对所有左端点的影响是一样的。 代码:Submission #133205897 - Codeforces B 笛卡尔树 dp 。复杂度是 \(O(n^5)\) 。稍微剪点枝,用一些满二叉树叶子个数的限制之类的东 阅读全文
posted @ 2021-10-27 16:26 Qiuly 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 前 $50$ 分基本是白给的。现在来讨论 Subtask 5,也就是说求: $$ \sum_{i=1}^{n}\sum_{j=1}^{n}f_d(ij) $$ 注意到如果令 $g(i)$ 表示 $\prod (-1)^{k_i}$,那么有 $f_d(ij)=g(i)g(j)f_d(ij)^2$ 。此时 阅读全文
posted @ 2021-10-26 15:19 Qiuly 阅读(822) 评论(0) 推荐(2) 编辑
摘要: 考虑令 $f_{i,j}$ 表示前 $i$ 个数,$b$ 的最后一个是 $j$ 时最小段数。转移: $$ f_{i,j}=[j\not=a_i-j]+\min_{1\leq k< a_{i-1}}\left(f_{i-1,k}+[a_i-j\not=k]\right) $$ 注意到后面的转移,如果 $f_{i-1,a_i-j}$ 不是最小值,那么从最小值转移不会更劣。 用 set 维护所有最小值的位置,然后再维护一个最小 阅读全文
posted @ 2021-10-07 22:22 Qiuly 阅读(81) 评论(0) 推荐(0) 编辑