10 2022 档案

摘要:给出一个A和B 想要找到一个X和Y使得 A+X|B+Y.同时使得X+Y最小求出X+Y的最小值。 值域是[1,109] 直接枚举X不太行会被某种数据卡掉。 考虑正解:先固定K 另B+YA+X=K Y=AK+XKB 此时由于K已知只需要满足条件X>=0,Y>=0 阅读全文
posted @ 2022-10-14 13:23 chdy 阅读(94) 评论(0) 推荐(0) 编辑
摘要:ABC也很难的好不好。 可能是老年人手速太慢 实力太拉。 先上F 将s和t各复制一倍 就是后缀排序的问题。具体细节是给s2后接n个a再接2t再接n个z。 可以证明两个有效串至少能比较到a和z。 我用的SA_IS O(n)的常数还行。 分为三个步骤:1 确定LMS的顺序与离散化 2 LMS的后 阅读全文
posted @ 2022-10-12 23:38 chdy 阅读(187) 评论(0) 推荐(0) 编辑
摘要:给出一个m 你需要构造出来m个m维向量 两两向量之间点乘为0 向量每一维只能是1或-1 保证m一定是2的幂次。 直接构造出来那么大的显然不太可能 发现不了什么比较好的规律。 考虑归纳构造。我们已知的是一个2维向量 即 1 1 1 -1 现在考虑通过这个东西生成四维的。 我先让他们整体向右完全复制 1 阅读全文
posted @ 2022-10-07 17:12 chdy 阅读(22) 评论(0) 推荐(0) 编辑
摘要:求一个n个点的完全图每条边的权值为两点之间的异或值 求最小生成树。 在完全图上做最小生成树一般都是Boruvka算法即每次每个点都找一个离自己最近的点合并 这样最多合并logn层合并完毕。 每次整体求一个复杂度这样保证复杂度正确。 这道题利用此思想 在trie树上找离自己集合的最小值 先明确最多有l 阅读全文
posted @ 2022-10-05 22:09 chdy 阅读(33) 评论(0) 推荐(0) 编辑
摘要:一颗以1为根树,每个点有颜色,每次询问求x子树内颜色出现次数>=k的数量。 线段树合并很难处理,考虑dfu on tree。 直接的想法是开一个数量树状数组 每次查一下1~k-1的前缀和来求解答案。 不过这并不够优秀,仔细思考一个颜色从1加到w这个过程是一次一次加的也就是说可以维护一个sumi 阅读全文
posted @ 2022-10-03 09:45 chdy 阅读(27) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示