随笔分类 - 基础算法 -- 二分
摘要:C2 Guessing the Greatest (二分+构造) 题目大意:交互题,每次可以询问一个子区间次大值的位置,最多询问20次,问全局最大值的位置。n=1e5 40次的情况大力二分,20次需要一些技巧 设全局最大值位置为$x$ 问一次全局次大值,设为$pos$,再次询问$pos$两侧判断最大
阅读全文
摘要:Day3B CF1012C(DP) 题目大意:给你一个序列,定义第i个位置为山峰当且仅当h[i-1]和h[i+1]均小于h[i],现在可以减少某些h[i]的值,代价为减少的量的总和。对于1到n/2(向上取整)的每个数j,需要求出当序列里至少有j个山峰时,需要付出的最小代价 考场再次弱智,我想个**的
阅读全文
摘要:P1552 [APIO2012]派遣(线段树合并+二分) 线段树合并板子题,维护子树内薪水为i的忍者有多少个,并记录薪水的和。为了使能被派遣的忍者更多,贪心取子树内尽可能多的便宜忍者,线段树上二分即可 直接线段树合并可能会卡空间,离散化一下 线段树合并的最后一层不能pushup!!!会变成0的,因此
阅读全文
摘要:题目大意:略 先考虑第一问 直接跑最大流肯定是不好使的 考虑动态地进行这个过程 枚举每个选手,枚举每一等级的志愿 把选手向当前志愿内的每个导师都连流量为1的边,然后找增广路 如果找不到增广路,说明在当前等级志愿内并不能找到合法导师,删掉当前状态下选手和导师的所有边,继续枚举下一等级志愿 如果找到了增
阅读全文
摘要:题目大意: 给你一棵树,边有边权,点有点权,有很多次询问,求点权$\in[l,r]$的所有节点到某点$x$的距离之和,强制在线 感觉这个题应该放在动态点分之前做= = 套路方法和动态点分是一样的 每次询问,从$x$开始,沿着点分树的树链向上统计,计算当前点的点分树的答案,然后去掉包含$x$的那棵点分
阅读全文
摘要:题目大意: 略 题面传送门 怎么看也是一道$duliu$题= = 先推式子,设$dp[x]$表示到达$x$点到达1节点的最小花费 设$y$是$x$的一个祖先,则$dp[x]=min(dp[y]+(dis[x]-dis[y])*p[x]+q[x])$,且$dis[x]-dis[y] \leq lim[
阅读全文
摘要:题目大意:略 一定范围内求最大值,考虑二分答案 设现在选择的答案是$mid$,$max \left \{ \frac{yi+qj}{xi+pj} \right \} \geq mid $ 展开可得,$(yi-mid*xi)+(qj-mid*pj)>=0$,只要存在$i,j$使得这个式子成立,说明$m
阅读全文
摘要:题目大意: 给你一堆模式串和文本串 对于每个文本串,我们可以把它不可重叠地拆分成很多子串,如果拆分出的串作为子串出现在了任何一个模式串中,我们称它是“眼熟的”,我们必须保证“眼熟的”子串总长度不小于文本串的90%,现在定义一个数$L$,表示拆分出的子串的最小长度,求每个文本串的$L$的最大值 神题
阅读全文
摘要:有一些题比较水没什么新意,就懒得写长题解了 忘了日期的 BZOJ 1096 [ZJOI2007]仓库建设 (斜率优化DP) 先展开式子,移项,发现$x$递增,斜率$k$也是递增,用队列维护个下凸包就行了 1 #include <cmath> 2 #include <queue> 3 #include
阅读全文
摘要:题目大意:给你一个长方形矩阵,位置$i,j$上的数是$a_{i}\;xor\;b_{j}$,求某个子矩阵内第$K$大的值 最先想的是二分答案然后验证,然而是$O(qnlogmloga_{i})$,不出意外会被卡..看完题解才恍然大悟 $01Trie$是具有二分性质的!因为每个节点最多有2个儿子! 先
阅读全文
摘要:题目大意 :给你一个整数序列,定义一个合法子串为子串内所有数互不相同,会有很多询问,求区间$[L,R]$内最长连续合法子串长度 一道思维不错的$RMQ$题,NOIP要是考这种题可能会考挂一片 预处理出$f_{i}$数组表示以i结尾的最长子串的起始位置,需要一个辅助$last$数组,表示某个数上一次出
阅读全文
摘要:题目大意:求两个字符串的最长公共子串长度 把两个串接在一起,中间放一个#,然后求出height 接下来还是老套路,二分出一个答案ans,然后去验证,如果有连续几个位置的h[i]>=ans,且存在sa[i]的最大值在第二个串里,最小值在第一个串里,说明答案成立 别再把后缀数组敲错了
阅读全文
摘要:题目大意:求可重叠的相同子串数量至少是K的子串最长长度 洛谷传送门 依然是后缀数组+二分,先用后缀数组处理出height 每次二分出一个长度x,然后去验证,在排序的后缀串集合里,有没有连续数量多于K个串的长度>=x, 但据说有一种高端做法是把二分换成单调队列,能减少常数,可惜我并没有看懂......
阅读全文
摘要:洛谷P2743传送门 题目大意:给你一个序列,求其中最长的一对相似等长子串 一对合法的相似子串被定义为: 1.任意一个子串长度都大于等于5 2.不能有重叠部分 3.其中一个子串可以在全部+/-某个值后和另一个串完全相同 还是老套路了,其实只要求出每一项和前一项的差值序列,这样第三个问题可以被转化为求
阅读全文
摘要:题目大意:维护一个字符串,支持插入字符和替换字符的操作,以及查询该字符串两个后缀的最长公共前缀长度 乍一看以为是后缀数组,然而并没有可持久化后缀数组(雾) 看题解才知道这是一道splay题,首先要对splay维护区间信息有一定了解 splay维护,插入字符,替换字符 而它的字树内所有儿子的中序遍历的
阅读全文
摘要:恢复内容开始 题目大意:给你一颗树,你可以把其中一条边的边权改成0,使给定的一些树链的权值和的最大值最小 把lenth定义为未修改边权时的答案 考虑二分答案,如果二分的答案成立,设修改成0的边边权为k,那么所有原链长>mid的链都要被这条边影响,显然这些链存在边权为k的公共边 那么我们二分出一个答案
阅读全文

浙公网安备 33010602011771号