02 2019 档案

摘要:传送门 分析 我们知道选一个点的代价就是他所有出边边权的异或和 由于一条边如果两个端点均选边权会异或两次变回0,所以不必担心重复的情况 于是直接跑线性基即可 代码 阅读全文
posted @ 2019-02-28 22:39 水题收割者 阅读(114) 评论(0) 推荐(0)
摘要:传送门 分析 这个题和寿司晚宴有点像 我们知道大于$\sqrt n$的质因子最高就是一次 于是我们对所有数以他的大质数为关键字排序 设dp[i][p2][p3][p5][p7][p11][p13][0/1]表示考虑到第i个,小质数分别为几次,大质数是否选了 对于每一段大质数我们用一个别的数组转移,然 阅读全文
posted @ 2019-02-28 22:36 水题收割者 阅读(105) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现对于没有发现的点相对位置不会发生改变 于是我们可以吧问题转化为求一个lis 于是我们字典序第k小的答案就是字典序第k大的lis 代码 阅读全文
posted @ 2019-02-28 22:29 水题收割者 阅读(278) 评论(0) 推荐(0)
摘要:传送门 分析 我们用0表示向右,1表示向上 于是可以得到一条江棋盘分为两块的线 直接dp即可 代码 阅读全文
posted @ 2019-02-26 18:15 水题收割者 阅读(239) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现对于大于$\sqrt(n)$的数每个数最多只会包含一个 所以我们把每个数按照大质数的大小从小到大排序 我们知道对于一种大质数只能被同一个人取 所以f1表示被A取,f2表示被B取 最终答案就是这两个的答案减去啥都不去的答案 因为啥都不去会被重复记录两次 对于小质数则直接状压转移即 阅读全文
posted @ 2019-02-26 18:13 水题收割者 阅读(227) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/22112/solution-p5155 代码 阅读全文
posted @ 2019-02-26 18:08 水题收割者 阅读(214) 评论(0) 推荐(0)
摘要:传送门 分析 咕咕咕 坑点就是没有本质相同的字符串且x<=y 代码 阅读全文
posted @ 2019-02-23 22:04 水题收割者 阅读(217) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现一个很神的性质,就是对于一个数如果放在它之前的数小于它那它一定对答案没有贡献 于是我们用dp[i][j]表示从大往小考虑了前i个数,当前答案是j的方案数 我们知道它由两种情况转移来,一种是把这个数放上,另一种是在后面的位置选任意一个给它 代码 阅读全文
posted @ 2019-02-22 16:07 水题收割者 阅读(272) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现可以吧问题转化成最多可以少打几次 而少打几次的数量我们可以通过枚举tab的大小然后整除分块得到答案 代码 阅读全文
posted @ 2019-02-22 16:04 水题收割者 阅读(132) 评论(0) 推荐(0)
摘要:传送门 分析 有中文题面所以就不写题目大意了 我们先建出回文树 然后根据fail信息建出一棵树 从根向下dfs,中间记录每一个len出现在哪个节点即可 代码 阅读全文
posted @ 2019-02-20 14:20 水题收割者 阅读(243) 评论(0) 推荐(0)
摘要:传送门 分析 我们设sum[x]为小于等于x的点现在有多少联通 于是一个序列合法当且只当sum[R]-sum[L-1]=len且所有点度数不大于2 我们知道如果对于序列[L,R]满足条件则[L+1,R]一定满足 如果[L,R]不满足则[L-1,R]一定不满足 所以我们可以枚举R然后找最靠左的满足度数 阅读全文
posted @ 2019-02-20 14:17 水题收割者 阅读(222) 评论(0) 推荐(0)
摘要:传送门 题目大意 https://www.luogu.org/problemnew/show/CF997D 分析 我们发现两棵树互不相关 于是我们可以分别求出两棵树的信息 我们点分,人啊按后设f[i][x]为从根出发走i步到x中间不经过根的方案数,g[i][x]为可以经过根的方案数 代码 阅读全文
posted @ 2019-02-20 14:10 水题收割者 阅读(290) 评论(0) 推荐(0)
摘要:传送门 题目大意 https://www.luogu.org/problemnew/show/CF932F 分析 我们可以从叶子向根每次插入b和ans 所以我们不难发现就是相当于插入线段 于是李超树+线段树合并即可 代码 阅读全文
posted @ 2019-02-20 14:05 水题收割者 阅读(318) 评论(0) 推荐(0)
摘要:传送门 题目大意 https://www.luogu.org/problemnew/show/CF235D 分析 我们先考虑它是树的情况 我们设$event(x,y)$表示删除点x是y与x联通这件事对答案贡献的期望 我们设x到y这一条链的长度为$len$,$x$和$y$所属联通块的大小为$n$ 则我 阅读全文
posted @ 2019-02-20 14:02 水题收割者 阅读(491) 评论(0) 推荐(1)
摘要:传送门 分析 首先先推荐一篇关于莫队的博客 这个题我们不难看出就是树上带修莫队 一直在犯sb错误,调了好长时间嘤嘤嘤 代码 阅读全文
posted @ 2019-02-17 13:26 水题收割者 阅读(254) 评论(0) 推荐(0)
摘要:作为一枚懒人我怎么可能自己写那咕咕咕 这个博客挺好哒 然后回文树实际是可以可持久化哒(什么不能啊/xyx) 我们可以把get_fail那一部分用数组存下来,然后可持久化这个数组即可 就先不仔细研究这个玩意了吧咕咕咕 模板(UOJ#103. 【APIO2014】Palindromes) 阅读全文
posted @ 2019-02-16 09:53 水题收割者 阅读(148) 评论(0) 推荐(0)
摘要:传送门 分析 咕咕咕 代码 阅读全文
posted @ 2019-02-15 10:44 水题收割者 阅读(219) 评论(0) 推荐(0)
摘要:传送门 分析 清华集训真的不是人做的啊嘤嘤嘤 我们可以考虑按操作时间把每个操作存进线段树里 如果现在点x正好使一个整块区间的右端点则更新代表这个区间的点 我们不难发现一个区间会因为不同的操作被分成若干块,每块对应序列上不同的区间 于是查询时对于每个线段树上区间查询时二分查找当前点在哪一块中即可 代码 阅读全文
posted @ 2019-02-14 11:33 水题收割者 阅读(450) 评论(0) 推荐(0)
摘要:传送门 题目大意 分析 倒着跑LIS表示以i为开头的LIS,于是对于删除可以暴力重算前10棵树。而对于种树,因为高度不超过10且高度两两不同,所以暴力重算比它矮的10棵树即可。对于需要重算的点,将其从线段树中删掉然后重算即可。我们要维护一个关于x轴的线段树和一个关于y轴的线段树,重算下边的点需要使用 阅读全文
posted @ 2019-02-14 11:26 水题收割者 阅读(265) 评论(0) 推荐(0)
摘要:传送门 题目大意 给定有一个长度为n n的括号序列,现在有两种操作: 可以对这个序列进行若干次操作,问在使括号序列合法的前提下,长度最短是多少,如果有多组解,输出字典序最小的 分析 首先最后的长度一定等于(原字符串长度+左括号与右括号数量的差值),现在我们考虑让其的字典序尽量的小 我们预处理前缀和, 阅读全文
posted @ 2019-02-13 11:19 水题收割者 阅读(313) 评论(0) 推荐(0)
摘要:传送门 分析 真不明白这道题为啥要是交互题,难道是为了普及交互题这种题型???嘤嘤嘤 见到这个题的第一个反应:网络流?建一个流量是d的边?? 第二个反映:如果对于起点为0的情况可以dp,所以只要把左半段接到右半段后面或者右半段接到左半段后面然后通过一些奇怪的东西转移即可,复杂度O(nd)?? 第三个 阅读全文
posted @ 2019-02-13 11:05 水题收割者 阅读(304) 评论(0) 推荐(0)
摘要:传送门 题目大意 给出一棵无根树,每个节点有一个权值,现在要让dfs序的前k个结点的最小值最大,求出这个值。分析 首先可以对这个值v进行二分然后01分数规划现在问题转化为求出一个dfs序,使得dfs序中的至少有k个1,这一步可以用树形dp来做。用dp[u]表示从节点u开始在子树中进行dfs最多可以经 阅读全文
posted @ 2019-02-11 11:26 水题收割者 阅读(226) 评论(0) 推荐(0)
摘要:传送门 题目大意 分析 我们不难整个线段可以被划分为5段 我们设路径到达的最左的地方是L,最右的地方是R 则这五段分别是0~L,L+1~S,S+1~T,T+1~R,R+1~N 最外面的两端不经过,所以花费为a[i] S+1~T这一段只能通过奇数次,剩余两段只能通过偶数次 所以这三段的答案均与奇偶性有 阅读全文
posted @ 2019-02-11 08:29 水题收割者 阅读(126) 评论(0) 推荐(0)
摘要:传送门 题目大意 n首音乐,第i首被听出来的概率为pi,刚开始听第一首,1s后如果听出来了则放第下一首,否则接着听这一首,第i首在连续听了ti s之后一定会被听出来,问Ts后听出来的歌的期望数量。 分析 我们非常容易想到dp[i][j]表示考虑前i首歌总共用了j秒的期望得分 但是我们发现转移复杂度O 阅读全文
posted @ 2019-02-10 22:13 水题收割者 阅读(212) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/flashblog/solution-p2148 代码 阅读全文
posted @ 2019-02-09 17:01 水题收割者 阅读(223) 评论(0) 推荐(0)
摘要:传送门 分析 1.先预处理出不被0覆盖的点,然后对每个点处理出在它左边离他最近的点和在他右边理他最近的点。 2.对于每个至少存在一个忍者的区间,先将它左右边界处理为不被0所覆盖。排序后将包含其他区间的区间去除。 3.贪心求出前i个区间最小忍者数和后i个区间最小忍者数。 4.我们知道对于一个区间除了点 阅读全文
posted @ 2019-02-09 16:34 水题收割者 阅读(299) 评论(0) 推荐(0)
摘要:传送门 分析 首先不难想到我们要先处理容量变大的再处理容量变小的 对于第一种情况我们自然要选择x小的先格式化,因为这个样暂时存储所需空间较小,可以使得情况更优 而第二种情况y先考虑,因为这样对总空间的减少量小 代码 阅读全文
posted @ 2019-02-09 15:31 水题收割者 阅读(156) 评论(0) 推荐(0)
摘要:传送门 分析 神奇的贪心,令f[i]表示前i个每次都出比对方稍微大一点的牌最多能赢几次 g[i]表示从i-n中每次出比对方稍微小一点的牌最多赢几次 ans=max(f[i]+g[i+1]) 0<=i<=n 虽然方案可能会重合但是这是可行的 1:因为限制比原题目宽,所以ans>=真实的答案 2:对于重 阅读全文
posted @ 2019-02-09 15:11 水题收割者 阅读(159) 评论(0) 推荐(0)
摘要:传送门 分析 我们发现两个栈可以看作一个数组,而栈顶则是将这个数组拆成两个栈的分割点。 于是每次移动就变成了分割点的移动,每次移动时都统计下目的分割点和当前分割点之间的物品数目即可。 代码 阅读全文
posted @ 2019-02-09 15:01 水题收割者 阅读(203) 评论(0) 推荐(0)
摘要:传送门 分析 经典的01分数规划问题 用01背包check即可 代码 阅读全文
posted @ 2019-02-09 14:52 水题收割者 阅读(198) 评论(0) 推荐(0)
摘要:传送门 分析 我们不难发现这是一棵树 于是01分数规划然后树上dp即可 代码 阅读全文
posted @ 2019-02-09 14:50 水题收割者 阅读(171) 评论(0) 推荐(0)
摘要:传送门 分析 f[i][S](S∈[0,4])表示第iii个食物没有被选/左边选/右边选/同时选的状态是由哪一个状态转移来的 我们需要满足两个条件: 每个人只能选择一个 改变选择之后不会比当前获得热量多 讨论$a_i$和$a_{i-1}$的大小关系进行转移 输出方案的时候由后向前推过去就好 先固定第 阅读全文
posted @ 2019-02-09 14:36 水题收割者 阅读(321) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/dedicatus545/solution-p3159 代码 阅读全文
posted @ 2019-02-09 14:17 水题收割者 阅读(224) 评论(0) 推荐(0)
摘要:模板(p3382) 阅读全文
posted @ 2019-02-09 14:13 水题收割者 阅读(138) 评论(0) 推荐(0)
摘要:传送门 分析 我们知道一个点可以保护他射程的那几个点和他左边的那个点 我们又知道如果保护关系成环则环中的点以及这些点左面的点均是无敌的 所以我们按保护关系连边,然后跑tarjan 然后只要找出点数大于1的联通块中的点即可 之后问题就转换为了求无敌点之外的点所构成图的最大权闭合子图 注意此处是正权点连 阅读全文
posted @ 2019-02-08 21:42 水题收割者 阅读(255) 评论(0) 推荐(0)
摘要:传送门 分析 第一问就是最大流 第二问用一个源点向1连一条流量为第一问答案+k的边然后跑费用流即可 代码 阅读全文
posted @ 2019-02-08 20:54 水题收割者 阅读(106) 评论(0) 推荐(0)
摘要:传送门 分析 不难想到将黑点的行列连边,然后判断最大匹配是否等于n 代码 阅读全文
posted @ 2019-02-08 20:49 水题收割者 阅读(193) 评论(0) 推荐(0)
摘要:传送门 分析 我们不难想到所有点的海拔要么是0要么是1 所以跑最小割即可 但是时间复杂度不行 于是转化为对偶图的最短路 代码 阅读全文
posted @ 2019-02-07 13:19 水题收割者 阅读(174) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/user43145/solution-p1627 代码 阅读全文
posted @ 2019-02-07 09:39 水题收割者 阅读(185) 评论(0) 推荐(0)
摘要:传送门 分析 https://zzlzk.blog.luogu.org/solution-p2261 代码 阅读全文
posted @ 2019-02-07 09:36 水题收割者 阅读(133) 评论(0) 推荐(0)
摘要:传送门 分析 我们可以将一个点拆成logN个点,分别代表从点i开始,长度为2^k的子串 那么当我们处理两个区间相等的关系时,对区间做二进制拆分,拆成log个区间,分别并起来即可 当然我们这样做修改是省心了,但是同时查询的时候也会带来一些麻烦……因为,我们要求的信息是最底层的,只能是长度为1的区间,而 阅读全文
posted @ 2019-02-07 09:34 水题收割者 阅读(153) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/TheDawn/solution-p2048 和我思路差不多 代码 阅读全文
posted @ 2019-02-07 09:32 水题收割者 阅读(170) 评论(0) 推荐(0)
摘要:传送门 分析 一个整体二分的经典题 每次二分得到两个答案区间,然后把现在的国家分别看属于哪个答案区间,递归求解即可 代码 阅读全文
posted @ 2019-02-07 09:18 水题收割者 阅读(161) 评论(0) 推荐(0)
摘要:传送门 分析 我们考虑对所有a[i]质因数分解,然后记cnt[i]为a[i]是由几个质数相乘得到的 然后我们建一个二分图,左面为所有cnt[i]为奇数的点,右面是为偶数的点 我们从源点向左面点连容量b[i]花费0的边,从右面点向汇点连容量b[i]花费0的边 然后两排点之间符合条件的点对连容量inf花 阅读全文
posted @ 2019-02-07 09:01 水题收割者 阅读(157) 评论(0) 推荐(0)
摘要:传送门 分析 https://www.luogu.org/blog/FlierKing/solution-p2501 对于第二问的感性理解就是有上下两条线,一些点在上面的线的上面或者下面的线的下面,然后看它们变成哪个线的位置更优 代码 阅读全文
posted @ 2019-02-07 08:46 水题收割者 阅读(260) 评论(0) 推荐(0)
摘要:传送门 分析 首先这个题有两个坑点 一是一个点不管可以由父亲领导,任何祖宗均可领导 而是根节点的花费要算在总费用中且它自己也算在总节点数量中 于是我们考虑如何求答案 首先我们知道对于一个点如果在一个子树中就没有选则在更大的一棵子树中一定不会选 因为一棵大的子树有更多选择,结果肯定不会比它的子树劣 于 阅读全文
posted @ 2019-02-05 20:39 水题收割者 阅读(217) 评论(0) 推荐(0)
摘要:传送门 分析 其实我们可以很巧妙的把这道题转化成一道线段覆盖的问题,怎么转化呢?对于每一个描述,我们可以根据他所描述的比他高的和比他矮的人数来构造一条线段,左端点l即为y+1,右端点r为n-x。当我们转化成线段以后,这一段线段就表示着分数相同的人数,那么显然,只有与这个线段完全重合的线段是符合要求的 阅读全文
posted @ 2019-02-05 20:27 水题收割者 阅读(166) 评论(0) 推荐(0)
摘要:传送门 分析 代码 阅读全文
posted @ 2019-02-05 20:09 水题收割者 阅读(149) 评论(0) 推荐(0)
摘要:传送门 分析 不难想到将发出任务的和执行任务的分别建边然后连边得到一个二分图 所以最优方案就是最大匹配 那么如何判断哪些任务是必须的呢 我们可以考虑枚举这m条边,如果删除第i条之后最大匹配减小则这条边必选 注意在work函数中先判断是否存在这条边再判断他知否已经匹配过可以比反过来的运行速度快 代码 阅读全文
posted @ 2019-02-04 14:49 水题收割者 阅读(173) 评论(0) 推荐(0)
摘要:传送门 题目大意 给出一个图,一些边带权,另一些边等待你赋权(最小赋为1).请你找到一种赋权方式,使得 s 到 t 的最短路为 L n ≤ 1e3 ,m ≤ 1e4 ,L ≤ 1e9 分析 二分所有边的边权和 使得二分后第p条边权值为k,1~p-1条边权值为inf,剩余边权值为1 对于每种情况跑一次 阅读全文
posted @ 2019-02-04 14:34 水题收割者 阅读(254) 评论(0) 推荐(0)
摘要:传送门 分析 这个博客和我做法差不多,嘤嘤嘤 代码 阅读全文
posted @ 2019-02-03 17:55 水题收割者 阅读(171) 评论(0) 推荐(0)