摘要: 一.单哈希 https://oi-wiki.org/string/hash/ 二.双哈希 首先构造两个字符串 A,B 满足其在 (b1,p1) 下哈希值相同,这样由 A,B 组成的字符串在 (b1,p1) 下哈希值相同 再使用一次卡单哈希的构造方法即可。 #i 阅读全文
posted @ 2024-10-05 21:33 chihik 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 只给出了初末状态,且操作难以描述,不妨考虑初末状态的势能。 我们希望找到一个势能函数,满足每次操作减少的势能等于答案的增量。 总势能为所有星星的势能和,而两维是相对独立的,不妨只考虑一维: 对于 x1,x2(x1<x2) , 有: $$(f(x_1)+f(x_2))-(f(x_1+1)+ 阅读全文
posted @ 2023-03-20 22:02 chihik 阅读(28) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-03-18 16:54 chihik 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-03-17 20:33 chihik 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-03-11 17:50 chihik 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 不难得到以下结论:( d1 不能交换所以特殊考虑 ) 操作实质为交换差分数组 最终差分数组形成单峰(中间低) 并且答案为: nxi2(x)2 考虑一个 dp: fi,x,s:id ,当前前缀 x 的值,前后缀 $\sum 阅读全文
posted @ 2023-01-31 21:48 chihik 阅读(28) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-01-13 22:51 chihik 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 记 fi,j 表示前 i 个数凑成 j 对的方案数。 难点在于如何计算排列的不同方案数。 如果依次加入二元组的第一个和第二个元素便可以用组合数计算方案。 那么转移时枚举和前面匹配的数量即可。 时间复杂度 O((bi)2) , 带一个 $\frac 阅读全文
posted @ 2022-11-22 23:04 chihik 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 给定 a0...,a2ω1 ,对于 k[0,w) 求第 k 位为 1 的数的 a 的和。 首先可以 O(2ωω) 计算,考虑优化 将所有数插到 01trie 中,注意到 01trie 是满的,可看作线 阅读全文
posted @ 2022-11-21 18:01 chihik 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 双栈维护插入删除: 右加右删。维护一个栈。 右加左删。 维护两个栈,左边栈删除,右边的栈加入,左边栈为空时将右边栈中的数从顶至底加入,均摊进行 O(n) 次操作。 双端加、删 维护两个栈,用于左边插入/删除,右边插入/删除。 其中一个栈为空时将另一个栈的元素对半分到两个栈,均摊 阅读全文
posted @ 2022-11-21 11:15 chihik 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 直接子集卷积过不了,考虑答案模 4 的性质 pq=0p+q=pq 那么将每一项乘上 4popcount(x) , 这样即可满足限制(如果交不为 0 会含有 4 的次幂) 阅读全文
posted @ 2022-11-18 18:35 chihik 阅读(21) 评论(0) 推荐(0) 编辑
摘要: ~~二维猫树分治版题~~ 考虑用一条切割线划分矩形,并统计经过该线的圈。 假设线是竖着切的,那么只需分别统计左右两边 匚 的数量即可。 记 Li,j,R,U,D 分别表示左/右/上/下与 (i,j) 相同的最大距离。 对于左边,考虑上下端点 u,v(u<v) ,有 $$\sum_ 阅读全文
posted @ 2022-11-07 18:46 chihik 阅读(123) 评论(0) 推荐(1) 编辑
摘要: 点权和颜色的操作不对称,尝试转化为同类操作。 对于颜色的操作可以看作:交换两点颜色,然后反色 那么可以将颜色和点权绑在一起交换,最终颜色是否反色取决于路径长度的奇偶性。 根据部分分的提示,分别考虑两种连通块 不含奇环(二分图) 注意到此时路径的奇偶性等同于起点终点是否在同一部。 那么对于一种点权,可 阅读全文
posted @ 2022-11-05 16:44 chihik 阅读(91) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-10-31 20:31 chihik 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 观察到答案的下界为 n3 , 证明: 若 n 为偶数,令 k=n2 i=12ki!=(i=1k(2i1)!)22kk!k 为偶数时,删去 k 即可 阅读全文
posted @ 2022-10-29 09:16 chihik 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 不妨考虑一种特殊情况,权值为 0/1 如何求解? 此时 k 个数可以表示为 n 位二进制数, 注意到位是独立的,将每一位拆开后最多只会有 min(2k,n) 种不同的情况。 而 2k<n , 那么我们可以忽略列数而关心列的状态 那么记 fi,S 表示第 i 阅读全文
posted @ 2022-10-28 19:03 chihik 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 首先 n1n2+s1s2n1s2n2s1=(n1s1)(n2s2) 这样可以发现,如果知道任意一块有磁性的磁铁,可以将它和其他磁铁询问得到另一块磁铁的状态 (如果为 ±1 则有磁性,否则没磁性) 我们并不好得到第一块磁铁的位置,但我们可以得到第二块磁铁的 阅读全文
posted @ 2022-10-27 22:57 chihik 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 对于一个排列 pi ,将其表示为 (i,pi) , 那么它的逆排列可表示为 (pi,i) 这道题 i,j,ai,j 均为排列,考虑用三元组 (i,j,ai,j) 表示。(为了方便下标从 0 开始) 那么操作可表示为: R $(i,j,k) \to (i,(j 阅读全文
posted @ 2022-10-25 22:11 chihik 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 记 S(u,d) 表示与 u 的距离不大于 d 的点构成的点集。 为了方便后面的讨论,先加入全集的贡献 1。 当所有点均可选时,考虑如何不重的计算点集, 有些题解写的是: $\forall u\not=v , S(u,d_u)=S(v,d_v) \rightarrow d_u \no 阅读全文
posted @ 2022-10-25 17:20 chihik 阅读(15) 评论(0) 推荐(0) 编辑
摘要: CF1322B 考虑每一位的贡献,记当前位为 k 显然高位不会影响低位,那么将所有数 mod2k+1 那么第 k 位为 1 当且仅当 2kai+aj<2k+12k+1+2kai+aj<2k+2 阅读全文
posted @ 2022-10-21 20:07 chihik 阅读(29) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示