浏览器标题切换
浏览器标题切换end
把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 27 下一页
摘要: 题目地址 "题目链接" 题解 用fhqtreap对区间进行维护。 可以注意到的是,对于当前存在的预约,他们一定是升序排列的(有重叠的都被删了)。 那么就可以用按照位置分裂的fhqtreap搞了(预约无论按l还是按r都必定是升序的)。 每次插入一个区间的时候,就直接找出互不重叠的前驱和后继,那么需要删 阅读全文
posted @ 2019-03-03 14:26 henry_y 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 介绍 fhqtreap为利用分裂和合并来满足平衡树的性质, 不需要旋转操作 的一种平衡树。 并且利用函数式编程可以极大的简化代码量。 ~~(题目是抄唐神的来着)~~ 核心操作 (均为按位置分裂合并) split(rt,l,r,k) 把一个根为rt的子树split成一个根为l和一个根为r的子树(以第k 阅读全文
posted @ 2019-03-03 10:47 henry_y 阅读(568) 评论(0) 推荐(1) 编辑
摘要: 题目地址 "题目链接" 题解 注,下方$(i,j)$均指$gcd(i,j)$,以及证明过程有一定的跳步,请确保自己会莫比乌斯反演的基本套路。 介绍本题的$O(n)$和$O(n\sqrt{n})$做法,本题还有$O(nlogn)$做法,需要用到欧拉函数,或者是从质因子角度考虑也可以得到另外一个$O(n 阅读全文
posted @ 2019-03-02 18:02 henry_y 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Description “在那山的那边海的那边有一群小肥猪。他们活泼又聪明,他们调皮又灵敏。他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边海的那边的某片风水宝地曾经存在过一个猪王国。猪王国地理位置偏僻,实施的是适应当时社会的自给自足的庄园 阅读全文
posted @ 2019-02-24 02:07 henry_y 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 出题人好评。 评测机差评。 A 救救喵咪 二位偏序。如果数据范围大的话直接树状数组,不过才1000就$O(n^2)$暴力就ok了。 B 救救兔子 二分经典题。注意初始化即可。 C 救救企鹅 和gdoi2017d1t1很像,显然直接跑一遍kmp就行了,就是把输出改为标记,注意因为不能重复覆盖,所以要跳 阅读全文
posted @ 2019-02-23 22:18 henry_y 阅读(244) 评论(0) 推荐(1) 编辑
摘要: 题目地址 "题目链接" 题解 二分答案,那么大于答案的路径都需要有一条公共边,maxlen val =二分出来的x。val是边权。 考虑树剖,对每条大于答案的路径都+1(线段树里),枚举边,如果(线段树中的)值==大于答案的边数,那么对他们取max。 复杂度$O((nlognlogn+m)logn) 阅读全文
posted @ 2019-02-16 22:52 henry_y 阅读(124) 评论(0) 推荐(0) 编辑
摘要: A B +/ A D Match Matching 设$f[i]$表示用了$i$根火柴,能拼出的数的个数,输出答案对每个dp值维护一个vector即可。 $$ f[i]=max\{f[i a[j]]+1\} $$ 每次转移都将原数组的vector也转过去,push个a[j]进去即可。 注意排序,按数 阅读全文
posted @ 2019-02-16 22:36 henry_y 阅读(401) 评论(0) 推荐(0) 编辑
摘要: Description 给出一棵树,根节点为1 给出两个集合,集合由树上节点组成 从两个集合分别选出一个元素,求其LCA 问LCA的最大深度是多少 Input 第一行给出数据组数T 对于每组数据 第一行给出N,M,代表树的节点个数及询问次数 接下来N 1行,每行两个正整数u,v,表示u,v之间有边 阅读全文
posted @ 2019-02-14 10:23 henry_y 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题目地址 "题目链接" 题解 这里讲一个 非正解 ——贪心+ 随机化 。 贪心的想法是什么? 我们dfs一遍处理出每个节点子树内的节点数量,记为$siz$。 贪心的砍掉$siz$最大的那个子树,在树的形态比较正常的情况下是可以得到最优解的。 如何hack掉这种贪心? 构造一条链,在中间的地方放一个“ 阅读全文
posted @ 2019-02-13 19:33 henry_y 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1238 最小公倍数之和 V3 出一个数N,输出小于等于N的所有数,两两之间的最小公倍数之和。 相当于计算这段程序(程序中的lcm(i,j)表示i与j的最小公倍数): 由于结果很大,输出Mod 1000000007的结果。 cpp G=0; for(i=1;i include include inc 阅读全文
posted @ 2019-02-12 17:39 henry_y 阅读(327) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 27 下一页