Maxwei_wzj的OI世界

Imagination is more important than knowledge.

【LuoguP3830】随机树(SHOI2012)-DP+概率期望

测试地址:随机树 做法:本题需要用到DP+概率期望。 对于第一问,考虑令f(n)f(n)f(n)为有nnn个叶子节点的树中,叶子平均深度的期望值,我们考虑找到递推的方法。直接推这个不太好推,我们知道叶子平均深度乘上nnn就是叶子深度和,因为期望的线性性,所以f(n)⋅nf(n)⋅nf(n)\c...

2018-08-31 22:15:05

阅读数:50

评论数:0

【UOJ#388】配对树(UNR#3)-线段树合并

测试地址:配对树 做法:本题需要用到线段树合并。 这题是NOI2018中间Mychael大佬给的一道神题,现在他已AFO,我也从蒟蒻变成了一个没那么弱的蒟蒻,于是在写这一题的同时,怀念一下和Mychael大佬一起度过的OI时光(虽然只是网上交流2333)。 首先,如果一个区间内点出现了多次,...

2018-08-30 23:47:36

阅读数:27

评论数:0

【BZOJ4475】子集选取(JSOI2015)-组合数学

测试地址:子集选取 做法:本题需要用到组合数学。 本题是一个结论题,接下来写一下数学推导。 我们显然可以分开考虑每个元素,最后把方案数乘起来。对于一个元素,它在直角三角形中的存在是要满足一定限制条件的:考虑从直角三角形的左下角引出一条折线,可以向上或向右走,最后折线的左上方就是出现该元素的位...

2018-08-27 22:03:50

阅读数:27

评论数:0

【BZOJ4003】城池攻占(JLOI2015)-左偏树

测试地址:城池攻占 做法:本题需要用到左偏树。 如果没有修改操作,题目中的要求很显然可以用树上合并左偏树来在O(nlogn)O(nlog⁡n)O(n\log n)时间内解决。但是有了修改操作我们要怎么办呢? 考虑左偏树的各种操作,它不会像splay一样往上或往下转,而且操作都是自下而上的,因...

2018-08-27 21:06:29

阅读数:36

评论数:0

【LuoguP3600】随机数生成器-概率DP+双指针

测试地址:随机数生成器 做法:本题需要用到概率DP+双指针。 考虑离散概率情况下的期望公式: E[ans]=∑xs=1s⋅P(ans=s)E[ans]=∑s=1xs⋅P(ans=s)E[ans]=\sum_{s=1}^x s\cdot P(ans=s) 也就相当于: E[ans]=∑xs...

2018-08-25 11:00:53

阅读数:42

评论数:0

【BZOJ5333】荣誉称号(SDOI2018)-找规律+树形DP

测试地址:荣誉称号 做法:本题需要用到找规律+树形DP。 第一次想出Luogu黑题祭。 首先,考虑题目中条件的形式,如果我们令点iii的父亲为点⌊i2⌋⌊i2⌋\lfloor \frac{i}{2}\rfloor(实际上就是在二进制中右移一位),那么所有点可以拼成一棵二叉树,问题就可以表示成...

2018-08-23 20:19:09

阅读数:35

评论数:0

【CF966E】May Holidays-分块+虚树

测试地址:May Holidays 题目大意:一个nnn个人的公司,除了111号外每个人都有一个直属上司,uuu为vvv的下属当且仅当uuu的直属上司是vvv或uuu的直属上司是vvv的下属。每个人都有一个承受阈值titit_i,当一个人的下属中有严格大于titit_i个人休假而他没有休假时,他...

2018-08-22 19:57:35

阅读数:59

评论数:0

【BZOJ4484】最小表示(JSOI2015)-贪心+拓扑排序+bitset

测试地址:最小表示 做法:本题需要用到贪心+拓扑排序+bitset。 显然,如果一条边对连通性没有影响,那肯定是要删掉的。现在的问题就是如何找到这些边。 我们考虑在反拓扑序上求。考虑一个点的所有出边,对于每个指向的点,如果当前还没有找到从当前点到这个点的路径,那么当前的边就要保留,并用这个点...

2018-08-20 20:07:48

阅读数:26

评论数:0

【BZOJ5416】冒泡排序(NOI2018)-组合数学+树状数组

测试地址:冒泡排序 做法:本题需要用到DP+组合数学+树状数组。 一道神题,用到的数学知识并没有难到哪里去,但成功把我这种弱菜区分掉了。 首先,交换次数能达到题目中给的下界的充要条件是,排列中不存在长度≥3≥3\ge 3的下降子序列。因为要达到下界,每次交换都应该要“达到效果”,即两边的元素...

2018-08-18 13:36:40

阅读数:53

评论数:0

【BZOJ5319】军训列队(JSOI2018)-主席树+二分

测试地址:军训列队 做法:本题需要用到主席树+二分。 首先可以证明,最好的匹配方法是,按照区间内权值顺序从小到大依次匹配[K,K+r−l][K,K+r−l][K,K+r-l]。证明如下: 假设区间内有两个数x<yx<yxi+1i+1i+1和iii,...

2018-08-16 21:23:32

阅读数:42

评论数:0

【BZOJ5417】你的名字(NOI2018)-后缀自动机+主席树

测试地址:你的名字 做法:本题需要用到后缀自动机+主席树。 首先考虑l=1,r=|S|l=1,r=|S|l=1,r=|S|的情况。考虑TTT的每个前缀的贡献,我们需要找到它最短的没在SSS中出现过,而且没在TTT的前面部分出现过的后缀,这样包含它的所有后缀就都是合法的贡献了。显然这个后缀的长度...

2018-08-10 13:03:04

阅读数:233

评论数:0

【BZOJ1396】识别子串-后缀自动机+线段树

测试地址:识别子串 做法:本题需要用到后缀自动机+线段树。 很快能有一个想法,就是用后缀自动机求出所有识别子串,然后在线段树上区间更新。可是识别子串的数目可能很多,直接更新会挂,这是不是就意味着不能做呢?别急,先来考虑识别子串这个性质会不会使它的分布更加特殊。 很快我们便观察到了一个事实,包...

2018-08-09 12:12:12

阅读数:35

评论数:0

【HDU4787】GRE Words Revenge-AC自动机+分块

测试地址:GRE Words Revenge 题目大意:维护以下操作:1.在词典中加入一个单词。2.询问一个字符串SSS中有多少个子串是词典中的单词。强制在线。 做法:本题需要用到AC自动机+分块。 如果离线,我们可以直接把所有涉及的单词先加入到trie中,然后建AC自动机,在运行的时候打标...

2018-08-08 11:49:43

阅读数:50

评论数:0

【51Nod1766】树上的最远点对-线段树+树的直径

测试地址:树上的最远点对 做法:本题需要用到线段树+树的直径。 我们直觉上感觉这题的区间询问需要用到线段树,那么我们就要发掘出问题中隐藏的可合并的性质。而看见最远点对又会想到树的直径,那么树的直径这个信息是不是可以快速合并的呢?怎么合并呢?下面我们就夯实理论基础,这样我们就能很简单地解决这一题...

2018-08-06 10:58:41

阅读数:90

评论数:0

【BZOJ3648】寝室管理-环套树+点分治+树状数组

测试地址:寝室管理 题目大意:给定一棵树或环套树,求图中经过至少kkk个点的路径数。 做法:本题需要用到环套树+点分治+树状数组。 先考虑树上的做法。对于这种树上路径计数的问题,应该能形成一种条件反射了,不能DP马上想到点分治。点分治中,每一次我们考虑过某个点的合法路径数时,先把子树列成一列...

2018-08-05 11:31:50

阅读数:46

评论数:0

【BZOJ1367】Sequence(Baltic2004)-贪心+左偏树

测试地址:Sequence 做法:本题需要用到贪心+左偏树。 在讲做法之前先说几句无关的话……NOI考完之后内心一片空虚,于是在颓废了约十天之后终于鼓起勇气写代码了,实在是可喜可贺…… 对于这一道题,题目要求的是递增序列,发现不太好求,于是根据要求的值的几何意义,如果我们把原数列做ai=ai...

2018-08-04 09:47:02

阅读数:49

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭