摘要: ###Manacher算法:最长回文串(以每个点为中心的回文串长度) 直接上代码 MY_Code: //22.10.8 Manacher顶级理解 #include<bits/stdc++.h> using namespace std; const int N=4e7; int pos,maxr;// 阅读全文
posted @ 2022-11-16 14:23 Diamondan 阅读(32) 评论(0) 推荐(0)
摘要: ###树状数组: 利用数组下标的二进制关系,构造一种类似于树形的结构,有点像一个变成树形的前缀和 可以实现单点修改、区间修改、区间查询等操作 2的整数n次幂的位置就是表示该位置及之前所有数之和 在2的整数n次幂上加上小于等于2的n次幂的2的k次幂的数,也表示2^n +1 ··· 2^n + 2^k区 阅读全文
posted @ 2022-11-16 14:22 Diamondan 阅读(18) 评论(0) 推荐(0)
摘要: ###分块算法: 一个块 [ ] 长度为N 分成 [ A ][ B ][ C ][ D ][ E ] 分成 根号N 个区间 其中有时会多出来一块长度非 根号N 的区间 E ,这一块比较特殊,不完整 令均匀长度的块长度为len,共有完整的块c个 1.对于区间查询[l,r] 1)如果l,r在同一个区块内 阅读全文
posted @ 2022-11-16 14:16 Diamondan 阅读(21) 评论(0) 推荐(0)
摘要: 1.二分查找/答案 可以采用随机化l与r的方式,提高一定效率,但不稳定 emm似乎来源于hehezhou? 2.nlogn的做法与nlogn^2做法近乎相同,nlogn^2=2nlogn,常数忽略,但大常数也会一定程度上影响效率,甚至被卡掉 3.P1966 [NOIP2013 提高组] 火柴排队 对 阅读全文
posted @ 2022-11-16 14:13 Diamondan 阅读(29) 评论(0) 推荐(0)
摘要: ####1.二进制 汉明权重(即二进制下1的个数) 算法极为easy: // 求 x 的汉明权重1 int popcount(int x) { //(lowbit版) int cnt = 0; while (x) { cnt++; x-=x&-x;(lowbit操作) } return cnt; } 阅读全文
posted @ 2022-11-16 14:09 Diamondan 阅读(83) 评论(0) 推荐(0)
摘要: ##SG定理&SG函数 ###概念: ####必胜点N: 在此位必胜 ####必败点P: 在此位必输 更严谨的定义为: 无法移动的状态(即terminal-position)为P 可以移动到P的局面为N 所有移动都会进入N的局面为P ####性质: 1.所有终结点一定是[必败点P] 2.从任意[必胜 阅读全文
posted @ 2022-11-15 20:13 Diamondan 阅读(215) 评论(0) 推荐(0)
摘要: ##可并堆之左偏树 (适用统计问题、最值问题、模拟问题和贪心问题) 一句话:符合堆、二叉树性质,且可实现快速合并 外节点:左儿子或右儿子为空的节点 (默认小根堆) dist: 一个外结点的dist为1 空节点的dist为0 非外结点的dist为到达其子树的[最近的外结点]的距离+1 左偏树[左偏]: 阅读全文
posted @ 2022-11-08 11:12 Diamondan 阅读(29) 评论(0) 推荐(0)