Loading

摘要: 0x00 前置芝士 必备芝士 \(Binary\ \ Index\ \ Tree\) \(Persistent\ \ Segment\ \ Tree\) 什么?不会主席树,点击luogu题解然后成为大牛(讲解真的很好,Orz神犇 ~当然,如果能提前了解下线段树套线段树和线段树套平衡树会更好(洛谷日报 阅读全文
posted @ 2021-10-04 16:48 7KByte 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 本来不想写的,结果还是写了(别问我为什么 \(Day1\ T1\) 格雷码,开题发现题面很长,预感不好 问题的本质是提供格雷码的构造方法,求构造有序集合中的第$K$个格雷码 开始想着如何去推公式(某凯的疑惑),半个小时没推出来,只好回去想如何去优化模拟 显然我们并不用把前$K$个格雷码全部列出来,显 阅读全文
posted @ 2021-10-04 16:47 7KByte 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Day -2 在家自己复习,感觉状态不是很好。打了几道模板SAM带线段树合并维护endpos集合的题,调了很久,心态有点崩。 Day -1 早上出发赶火车,在火车站前和教练学长回合。 顺利登上火车。中途还要换乘。第一次做高铁,体验还是不错的。就是火车上网络不咋样,想刷下洛谷都刷不成。后来试着连高铁上 阅读全文
posted @ 2021-10-04 16:46 7KByte 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 给定一个长度为 \(N\) 的序列 \(D\),每次可以选择向一个方向走长度为 \(D\),问是否能走到 \((A,B)\)。 很久没有做到这种让人眼前一亮的题目。 首先我们考虑如果只能走正方向,那么就是将这堆数分称两堆,使得两堆数之和分别为 \(A,B\)。 对于这个简化的问题,目前最优的方法是 阅读全文
posted @ 2021-10-03 17:35 7KByte 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 给定 \(N,M\),求有多少个大小为 \(k\) 的可重集满足所有元素之和为 \(N\),同一个数最多出现 \(M\) 次。对于每个 \(k=1\sim n\) 求出答案。 我们可以将大小为 \(k\) 的可重集转化为长度为 \(k\) 的不降序列,满足第一个数 $>0$​,不存在 \(M\) 个 阅读全文
posted @ 2021-10-03 16:36 7KByte 阅读(180) 评论(0) 推荐(2) 编辑
摘要: 跳跃表,简称跳表。一种链式数据结构,可用于支持平衡树的操作。 【模板】普通平衡树 跳表基于随机化,每个节点以 \(\frac{1}{2}\) 的概率保留一层,\(\frac{1}{4}\) 几率保留两层,依次类推。 期望时间复杂度 $\mathcal{O}(N\log N)$​,实际运行不逊于主流平 阅读全文
posted @ 2021-10-02 15:55 7KByte 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 对于序列 \(a(n)\),我们称 \(b(m)\) 为 \(a\) 的子序列,当且仅当存在 \(c(m)\) 使得 \(\forall 1\le i<m,c_i< c_{i + 1}\) 并且 \(\forall 1\le i \le m, a_{c_i} = b_i\)。 一个序列的子序列有 \ 阅读全文
posted @ 2021-10-01 20:05 7KByte 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 首先我们要求集合中所有方案的代价之和,简单分析下不难发现,如果每个位置都传球了,那么每个位置都少传一个球的方案一定会被重复统计。 所以答案就是总方案数减去每个位置都至少传一个球的方案数。 考虑 \(\prod x_i\) 的意义,等价于传球后从每个人手中拿出一个球的方案数。 因此我们将每个人的球排成 阅读全文
posted @ 2021-10-01 15:33 7KByte 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 模型,给定 \(n\) 个点 \(m\) 条边的无向图,和 \(k\) 个关键点。选出边权和最小的一些边使得 \(k\) 个点连通。 因为选出的边一定是一棵树,所以称为最小斯坦纳树。 直接状压 \(f[i][S]\) 表示以 \(i\) 为根,与 \(i\) 联通的关键点集合为 \(S\)。 我们可 阅读全文
posted @ 2021-08-29 22:21 7KByte 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 首先考虑 \(D = n\) 的情况,有方程 $f_i = \max\limits_{j < i\land a_j<a_i}{f_j + 1}$​。 对于 \(D\) 的限制,我们对每个位置计算 \(p_i\) 表示从 \(i\) 开始,每次最多向前跳 \(D\) 格,只能跳到 \(\le a_i\ 阅读全文
posted @ 2021-08-28 21:54 7KByte 阅读(82) 评论(0) 推荐(0) 编辑