摘要: 自闭集训 Day7 分治 主定理 由于我沉迷调题,这个地方没听课。 某些不等式 咕了 nth_element 使用快速排序的思想,选一个中间点,看左右有多少个。 期望复杂度$O(n)$。 首先把一个序列分成5份,每份大小$n/5$,叠成一个矩阵,对每一列进行排序。 现在中间一行就是每一列的中位数,递 阅读全文
posted @ 2019-08-05 20:13 p_b_p_b 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day7 动态规划 LOJ6395 首先发现这个树的形态没啥用,只需要保证度数之和是$2n 2$且度数大于0即可。 然后设$dp_{i,j}$表示前$i$个点用了$j$个度数的最小值,然后就获得了$O(n^3)$的DP。 不妨每个点的度数都减1,那么总度数就变成$n 2$了。 考虑原来$i 阅读全文
posted @ 2019-08-05 20:11 p_b_p_b 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day6 计算几何 内积 内积不等式: $$ (A,B)^2\le (A,A)(B,B) $$ 其中$(A,B)$表示$A\cdot B$。 (好像是废话?) 叉积 $$ A\times B=|A||B|\sin \theta $$ 二维叉积:$A\times B=x_1y_2 x_2y_ 阅读全文
posted @ 2019-08-05 20:10 p_b_p_b 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day6 杂题选讲 CF round 469 E 发现一个数不可能取两次,因为1,1不如1,2。 发现不可能选一个数的正负,因为1, 1不如1, 2。 hihoCoder挑战赛29 D 设$f(x)$表示最后一个数小于等于$x$的答案,从左往右加入数并维护$f(x)$。 加入$A$的时候$ 阅读全文
posted @ 2019-08-05 20:10 p_b_p_b 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day5 树上数据结构 前置知识 点分治 边分治 树链剖分 LCT Top Tree LCT时间复杂度 线段树每次查询是严格$\log n$的,然而splay维护连续段的时候,如果每次查询可以缩点,那么访问的区间数是均摊$O(1)$的。(??) 所以用splay维护LCT是一个log,而线 阅读全文
posted @ 2019-08-05 20:09 p_b_p_b 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day5 生成函数 一般生成函数 无脑地把序列变成多项式: $$ \{a_i\}\rightarrow A(x)=\sum_{n} a_nx^n $$ 形式幂级数 生成函数是一种形式幂级数。我们不关心这个函数的具体的取值,只关心多项式的系数。在需要的时候可以把$x​$当成任意值。 例题 求 阅读全文
posted @ 2019-08-05 20:08 p_b_p_b 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day3 字符串 SAM 考虑后缀树。 SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀。 于是可以以此来理解SAM。 每一条路径对应原串的一个子串。 每一个终止节点对应一些后缀。 所有到同一个点的路径对应的子串互为后缀,长度连续。 阅读全文
posted @ 2019-08-05 20:07 p_b_p_b 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day3 图论 NOI2019 D2T1 没有真正建出图来的必要,可以直接打取$\min$的$tag$。 也可以把边压进堆里,然后变成一个二维清点问题(???),然后就线段树+并查集(???)。 POI 2014/2015 某题 类似于GDOI2019,线段树或者堆直接做。 Gym1013 阅读全文
posted @ 2019-08-05 20:06 p_b_p_b 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day2 线性代数 高斯消元 做实数时,需要找绝对值最大的作为主元,以获取更高精度。 在欧几里得环(简单例子是模合数)意义下也是对的。比如模合数意义下可以使用辗转相除法消元。 欧几里得环:对于任意$a,b$,都可以定义$a=qb+r\ \ (|r|p'​$那么交换。 询问的时候取出$r​$ 阅读全文
posted @ 2019-08-05 20:02 p_b_p_b 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day1 组合计数 T1 $n\le 10$:直接暴力枚举。 $n\le 32$:meet in the middle,如果左边选了$x$,右边选了$y$(且$x+y\le B$),那么对答案的贡献就是 $$ {B x y+n 1\choose n 1} $$ 根据范德蒙德恒等式 $$ { 阅读全文
posted @ 2019-08-05 20:00 p_b_p_b 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 自闭集训 Day1 数据结构 CF643G 用类似于下面的方法,搬到线段树上。 如何合并两个集合?先全部放在一起,每次删掉最小的$cnt_i$,然后把其他所有的$cnt$都减去$cnt_i$,直到还剩下$k$个。 $O(n)$众数 如果众数出现次数大于$n/2$,那么搞一个$cnt$和一个$ans$ 阅读全文
posted @ 2019-08-05 19:58 p_b_p_b 阅读(323) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-08-05 19:25 p_b_p_b 阅读(33) 评论(0) 推荐(0) 编辑