ACM23
文章平均质量分 82
u小鬼
a melancholy programmer
展开
-
cf edu152 C. Binary String Copying(字符串双哈希)
这个方法可以拓展到由任意字符构成的字符串,不过编码比较复杂,要取模。同时单哈希还会被卡,要用两个基做双哈希才行。的字符排序,实际就是调整为0在前1在后,问得到的m个副本有多少个不同串。,可以通过拼接10,000,11,0四个串的哈希值得到。给定一个01字符串,长度为n,拷贝m份,对每一份进行相应操作:将。去求某个字符串的哈希值了。逆过来,也可以求某个子串的哈希值,将基的幂次预处理可以。可以标识一个拷贝串,直接将数对放进集合中统计就可以了。预处理连续0串和1串的哈希值。,和往右第一个1的位置。原创 2023-07-28 20:20:30 · 475 阅读 · 0 评论 -
【数据结构】Treap树堆
Treap就是Tree+heap,首先有二叉搜索树(BST)的数据,treapCnt记录当前的节点总数,节点和键值的映射key,每个节点的左右儿子childs,以及一个键可能存在多个副本,用cnt记录副本数,size记录子树大小,用于查找第k大元素。堆相关的数据:每个节点的优先级priority,这个优先级在创建节点时随机生成,保证了Treap的深度不会太大。原创 2023-05-06 22:22:39 · 596 阅读 · 0 评论 -
【数据结构】单调栈、单调队列
由于是按行扫描,所以只需要维护一个行队列,到下一行清空,每一列均需维护一个单调队列。一个网格图,一些格子可以着陆,一些不可以,一次可以至多跳。代表从最左上角跳到该格子的最少步数,有状态转换方程。步,问从最左上角跳到最右下角的最少步数。之前补的一道单调队列优化dp,b题。单调队列 = 单调 + 队列。重新整理一下思路:定义状态。单调栈 = 单调 + 栈。原创 2023-01-26 11:39:27 · 694 阅读 · 2 评论 -
【图论】欧拉回路
你的qq密码是否在圆周率中出现?一个有意思的编码问题:假设密码是固定位数,设有nnn位,每位是数字0-9,那么这样最短的“圆周率”的长度是多少?或者说求一个最短的数字串定包含所有密码。原创 2023-01-28 21:26:47 · 2513 阅读 · 2 评论 -
【数论】fft模板
在O(nlogn)时间内将系数表示多项式转化为点值表示,n个点确定一条n−1次的多项式曲线,后者可以O(n)时间内完成高精度乘法。而这n个点的取法是有讲究的,,对,将x的取值扩展到复数域,这些点也称为单位根,定义为ωnkcosnk2πisinnk2π,默认n为2的整数次幂。对于多项式Axa0a1xa2x2...an−1xn−1将项根据下标的奇偶性分别为两部分,Axa0a2。原创 2023-03-04 14:48:56 · 484 阅读 · 0 评论 -
【图论】树上启发式合并
这是因为,如果一个节点连向父节点的边是轻边,则存在一个子树大小不小于它的兄弟节点,那么父节点的子树大小至少是该节点的2倍。因此,每经过一条轻边,子树大小就翻倍,所以最多经过。(有些博客说,dsu同dsu on tree没有关系,个人认为这是这两个算法想法上的相通之处,暴力而优雅)所以,每个节点作为轻子树上的节点最多只会被遍历。树链剖分的一个结论,一个节点到根节点最多经过。上二分操作)的复杂度,该问题中总时间复杂度为。只会遍历轻子树上的节点,而。一一对应,所以复杂度从。,乘上计算info(原创 2023-03-16 17:52:14 · 302 阅读 · 0 评论