上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: 调了好几天……终于调出来了……(连我这么懒的人都来写博客了,可见……) 第一眼看这道题,这不排序线段树吗?橙题级别?嗯嗯? 是那不经意的回眸,我看见了你,数据范围。 1e9…… 显然,直接开线段树是不可能的,空间不够,时间也不够。 那么肯定是要离散化的——离散化线段树。 比如:我们要修改【1000, 阅读全文
posted @ 2019-05-11 18:29 paopo 阅读(195) 评论(0) 推荐(0) 编辑
摘要: AC自动机模版: 就注意一个地方,就是对于母串的一部分,可能存在不止一个子串与之匹配,也就是说对于所有的nxt,都要走一遍看看能不能碰到end。 由于一个子串出现一次就不能再出现了(问多少个子串出现过不是嘛),那么找到一个 end ,就把这个end变成 -1 ,找到end是 -1 的就不用继续往下找 阅读全文
posted @ 2019-05-02 22:38 paopo 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 显然数据只能nlogn以下。 其实O(n)就能做。 对于一个数,我们维护它最后出现的位置p [ ] 。那么对于L~R(假设已经达到m种画都有),R+1时,至少一个数的p会被更新。那么如果这个左端点在这个区间中还有一个,即 L < p [ a [ L ] ] ,那么这个L删掉是没有影响的,我们就让L+ 阅读全文
posted @ 2019-04-23 22:39 paopo 阅读(163) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-04-22 23:24 paopo 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-04-19 11:10 paopo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Floyd不仅能求出最短路,还能利用或运算,与运算判断两点是否连通。 小范围数据,Floyd经常是很好的思路! 代码! 阅读全文
posted @ 2019-04-12 20:33 paopo 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 一道环套树,套树dp(十分水)。 对于环上每一个点,都在子树中dp求出取这个点和不取的值,最后在这个环上强制一条边上的两个点不能同时选,dp两次,取最大值即可。 虽然貌似知道强制删掉一条边dp一边就可以……但是复杂度是一样的,怎么写开心怎么来! 一开始0分,因为需要用的数组下标是1,2,然而我就开了 阅读全文
posted @ 2019-04-12 20:08 paopo 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 有一天你来到了一个奇怪的国家,它有 N 个城市,城市之间有若干条双向道路连接,每条道路都有一定的费用,经过城市也要一定的费用。从一个城市到达另一个城市的总花费为路径上费用最大的城市费用(包括起点和终点)加上路径上所有的道路的费用。给出 Q 次询问,分别回答每次询问中两城市间的最少花费。保 阅读全文
posted @ 2019-04-11 20:14 paopo 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 考试的时候,本来想拿60的贪心,但是只拿了15……很不开心! 不过现在知道正解了qwq…… 对于每个点,都开一个优先队列,这个优先队列里的值,代表这个点的子树分成的若干个集合中最大的值。 那么我们对于一个没有处理的点,分别枚举每一个子树,分别合并每一个优先队列,最后再加入这个点,得到新的优先队列。 阅读全文
posted @ 2019-04-11 19:16 paopo 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 之前写的一道题,突然看到就来发一篇博客。 大致思路就是首先找到最小生成树,再枚举每一条不在这个树里的边,加上后肯定就形成一个环,我们就要在这个环上断一条边。 新加的边 >= 这条路径上最大值。(反证法) 如果新加的边 > 这条路径上最大值,则ans - 最大值 + 新的权值,否则 - 次大值 + 新 阅读全文
posted @ 2019-04-10 22:53 paopo 阅读(93) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页