摘要: Description 给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一次的数,并且要求找的这个数尽可能大。如果找不到这样的数,则直接输出0, 强制在线。 Solution 设 $pre[i]$ 表示 $i$ 之前第一个与 $a[i]$ 相同的位置 $nxt[i] 阅读全文
posted @ 2018-07-15 13:58 PIPIBoss 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Description 给出 $n$ 个点 $m$ 条边的无向图 , 和一个起点 $S$ ,问让你删除一个点和与这个点相连的边,你可以选择删除一个点, 最大化到 $S$ 的最短路发生改变的点数 "题面" Solution 按照最短路为拓扑序建立灭绝树 灭绝树的定义是:如果一个点灭绝,那么它的子树内的 阅读全文
posted @ 2018-07-15 13:49 PIPIBoss 阅读(261) 评论(0) 推荐(0) 编辑
摘要: Description 1.区间加 $z$ 2.区间覆盖为 $z$ 3.查询区间最大值 4.查询区间历史最大值 Solution 线段树维护历史最值,思想大致是维护标记出现过的最大值 考虑这种情况: $x$ 点下方标记,会把儿子的标记给覆盖掉,而儿子的儿子如果有了这个标记就会成为最大值,会影响最终结 阅读全文
posted @ 2018-07-15 13:39 PIPIBoss 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Description "题目链接" Solution 先看了一篇 "有意思的题解" 大致了解了 $KM$ 的思想 但是这个程序有点 $bug$ 啊,于是学了复杂度十分优秀的"手动模拟法" 在原来的基础上,把每一次从 $i$ 开始 $dfs$ , 找到第一个瓶颈位置 , 改成不断扩展瓶颈位置 直到可 阅读全文
posted @ 2018-07-15 13:39 PIPIBoss 阅读(364) 评论(0) 推荐(0) 编辑
摘要: Description 给出 $n$ 个数 $a_i$,每一个数有一个取值 $[l_i,r_i]$ ,你来确定每一个数,使得 $LIS$ 最大 "题面" Solution 按照平时做法,设 $f[i]$ 表示 $LIS$ 长为 $i$ 时, $LIS$ 结尾的最小值 考虑插入一个取值为 $[L,R] 阅读全文
posted @ 2018-07-15 13:39 PIPIBoss 阅读(329) 评论(0) 推荐(0) 编辑
摘要: Description 有一个长度为 $n$ 的项链,首尾相接形成环,现在你要给每一个位置一个颜色 $[1,m]$, 求所有不同的项链个数(可以通过旋转变成一样的称为相同) Solution 根据 $burnside$ 引理,答案为 $\frac{1}{n}\sum_{i=1}^{|G|}c1_i$ 阅读全文
posted @ 2018-07-15 13:38 PIPIBoss 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Description 浩浩荡荡的cg大军发现了一座矿产资源极其丰富的城市,他们打算在这座城市实施新的采矿战略。这个城市可以看成一棵有n个节点的有根树,我们把每个节点用1到n的整数编号。为了方便起见,对于任何一个非根节点v,它任何一个祖先的编号都严格小于v。树上的每个节点表示一个矿点,每条边表示一条 阅读全文
posted @ 2018-07-15 11:59 PIPIBoss 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Description 外卖店一共有N种食物,分别有1到N编号。第i种食物有固定的价钱Pi和保质期Si。第i种食物会在Si天后过期。JYY是不会吃过期食物的。 比如JYY如果今天点了一份保质期为1天的食物,那么JYY必须在今天或者明天把这个食物吃掉,否则这个食物就再也不能吃了。保质期可以为0天,这样 阅读全文
posted @ 2018-07-15 11:58 PIPIBoss 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Description 小L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的迷你挑战。 游戏中有一个叫做“LCT” 的挑战,它的规则是这样子的:现在有一个N 个点的 树(Tree),每条边有一个整数边权vi 阅读全文
posted @ 2018-07-15 11:58 PIPIBoss 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Description 给出 $n$ 个商店,每个商店用一个四元组 $(x,t,a,b)$ 表示 ,表示坐标为 $x$ ,种类为 $t$ ,出现时间为 $[a,b]$ 每次询问一个点 $(l_i,y_i)$ ,表示一个人在 $y_i$ 时刻在位置 $l_i$ ,求它到达每一种商店的最小距离的最大值 阅读全文
posted @ 2018-07-15 11:58 PIPIBoss 阅读(200) 评论(0) 推荐(0) 编辑
摘要: Description 给出 $n$ 个圆 $(x_i,y_i,r_i)$ 每次重复以下步骤: 找出半径最大的圆,并删除与这个圆相交的圆 求出每一个圆是被哪个圆删除的 Solution $kd tree$ 搞一下 维护能够围住所有圆的最小矩形 然后模拟题意,枚举半径最大的圆 查询时就判断询问的圆是否 阅读全文
posted @ 2018-07-15 11:58 PIPIBoss 阅读(399) 评论(0) 推荐(0) 编辑
摘要: Description 给出串 $S$ ,和 $m$ 个串 $T_i$ ,每次询问 $(l,r,pl,pr)$ 表示 $S[pl...pr]$ 在 $T[l...r]$ 中哪一个出现次数最多,求出现次数和编号 "题面" Solution 基础题... 对于 $S,T[l...r]$ 放在一起建广义后 阅读全文
posted @ 2018-07-15 11:58 PIPIBoss 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Description Z市交通不发达,所有公交路线覆盖的边竟然一个环也不包含,甚至该市的公交路线有可能会分为几个互不连通的块,这可真是不可思议。有一天,你突然听到一条消息,说你的M个同学被困在了Z市里,他们分别要从他们当前所在的点ai移动到他们想去的点bi.于是你立刻调集资料,了解了Z市的形状和公 阅读全文
posted @ 2018-07-15 11:57 PIPIBoss 阅读(296) 评论(0) 推荐(0) 编辑
摘要: Description Solution 考虑每一条边的贡献 对于树边,如果两边各存在一个点,那么有贡献,总贡献就是 $(2^{size} 1) (2^{n size} 1)$ 分别对应两边的 $size$ 对于环上的边,首先最优策略是断掉空隙最大一段, $DP$ 算贡献 具体来说就是枚举最大空隙长 阅读全文
posted @ 2018-07-15 11:56 PIPIBoss 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Description Solution 最优情况可以是所有人按位置从小到大排序之后依次占到自己 $K+$ 排名的位置上去 因为每一个休息位置不同,那么一定递增,所以一定存在一个分界点,左边的是往右走,右边的往左走 在主席树上二分出这个分界点即可 阅读全文
posted @ 2018-07-15 11:55 PIPIBoss 阅读(259) 评论(0) 推荐(0) 编辑
摘要: Description 给定数列 {hn}前k项,其后每一项满足 hn = a1 h(n 1) + a2 h(n 2) + ... + ak h(n k) 其中 a1,a2...ak 为给定数列。请计算 h(n),并将结果对 1000000007 取模输出。 Solution 常系数线性齐次递推 首 阅读全文
posted @ 2018-07-15 11:54 PIPIBoss 阅读(378) 评论(0) 推荐(0) 编辑
摘要: Description 这天,SJY显得无聊。在家自己玩。在一个棋盘上,有N个黑色棋子。他每次要么放到棋盘上一个黑色棋子,要么放上一个白色棋子,如果是白色棋子,他会找出距离这个白色棋子最近的黑色棋子。此处的距离是 曼哈顿距离 即(|x1 x2|+|y1 y2|) 。现在给出N using names 阅读全文
posted @ 2018-07-15 11:53 PIPIBoss 阅读(255) 评论(0) 推荐(0) 编辑
摘要: Description Solution 加法减法可以分开考虑,如果只有加法的话,直接暴力进位复杂度是对的 询问的时候就是把两个二进制数做差,判断第 $k$ 位的取值 实际上我们只需要判断 $1$ 到 $k 1$ 位是否需要借位就知道了做差后的值 那么就需要判断两个二进制数的某个后缀的大小,我们二分 阅读全文
posted @ 2018-07-15 11:53 PIPIBoss 阅读(162) 评论(0) 推荐(0) 编辑
摘要: Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他决定和他的好朋友giPi(鸡皮)玩一个更加寂寞的游戏 捉迷藏。 但是,他们觉得,玩普通的捉迷藏没什么意思,还是不够寂寞,于是,他们决定玩寂寞无比的螃蟹版捉 阅读全文
posted @ 2018-07-15 11:51 PIPIBoss 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 核心思想 是一种分割 $k$ 维数据空间的数据结构 一维情况下就是平衡树,以 $key$ 为标准判断插入左儿子还是右儿子 $kdtree$ 就是平衡树在多维空间的扩展 因为有多维,我们按不同维度交错作为关键字进行插入与查询 如:第一层按照第一维排序,第二层按照第二维排序,第 $k$ 层按照第 $k$ 阅读全文
posted @ 2018-07-15 11:51 PIPIBoss 阅读(374) 评论(0) 推荐(0) 编辑