随笔分类 -  BZOJ

摘要:对于某些点分治不太好合并两条链的信息的题,可以考虑使用边分治; 边分治时的主要思想跟点分治一样,一直去找某个重心,把一棵树不断化成更小的部分,边分治需要找的这个重心在边上,使得去掉这条边过后两边剩的点的差最小,写法跟点分治都差不多,但是边分治会被菊花图这样的树给卡成$n^2$,所以在边分治之前要重构 阅读全文
posted @ 2019-03-09 17:24 Sachiko 阅读(250) 评论(0) 推荐(0)
摘要:"BZOJ" 题意 给你$n$个数$A_i...A_n$,每次询问一个区间$[l,r]$,问这个区间中的数不能组成的最小正整数是多少; 题解 遇到这种题询问的题一般先考虑如果只询问一次,一次询问整个数列怎么做; 考虑把数从小到大排序,然后求出前缀和$S_1...S_n$接下来有一个比较显然但是非常关 阅读全文
posted @ 2019-01-04 19:42 Sachiko 阅读(146) 评论(0) 推荐(0)
摘要:"BZOJ" 题意 给你$n$个数,每次询问一个区间$[l,r]$是否存在一个出现次数严格大于$\frac{r l+1}{2}$的数,如果有,输出这个数,否则输出 ; 题解 主席树上二分,到了叶子节点再判一下出现次数; cpp include define Fst first define Snd 阅读全文
posted @ 2019-01-04 17:23 Sachiko 阅读(142) 评论(0) 推荐(0)