上一页 1 2 3 4 5 6 ··· 19 下一页
摘要: 传送门:http://uoj.ac/problem/164 思路:科学的题面: 请你写一个数据结构支持以下功能: 1:区间[l,r]加x 2:区间[l,r]减x并和0取max 3:区间覆盖 4:单点询问 5:单点历史最大值询问 线段树维护分段函数 标记就是一个二元组(a,b)表示标记生效后x... 阅读全文
posted @ 2016-04-26 10:37 orzpps 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2653 思路:陈老师的题 可持久化线段树的又一种应用 对于每次询问,二分答案 我们怎么知道它是大于中位数还是小于中位数呢? 我们把每个小于它的赋成-1,大于等于赋为1 查询左端点在[a,b]... 阅读全文
posted @ 2016-04-26 10:14 orzpps 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 传送门:似乎uoj都有 思路: APIO2015: 巴厘岛的雕塑: 看到位运算,又要求结果最小,最外层肯定是个从高位到低位的按位贪心 这里有两个部分分, task1:N#include#include#includeconst int maxn=2010;typedef long long ll... 阅读全文
posted @ 2016-04-26 10:03 orzpps 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1975 思路:可以用A*做,但是要手写堆或者用pb_ds的堆,不然会被卡空间 (原题256M,bzoj64M...) 设出发点为S,结束点为T,边权为val(e),边的出发点为head(e)... 阅读全文
posted @ 2016-04-22 16:30 orzpps 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1598 思路:裸的k短路,直接用A*+堆即可 A*就是引入一个估价函数h(x)=f(x)+g(x) 优先选择估价小的去搜索 f(x)就是当前到的x已花费代价 g(x)就是估计x到终点还要多... 阅读全文
posted @ 2016-04-22 15:51 orzpps 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 思路:很明显忍者之间的关系是一个树形结构 先自底向上枚举管理者x,那么根据题意,我们就要从x的子树中选择尽量多的忍者,且工资总和不超过m 用一个可并堆 到一个点x,就把它的儿子节点... 阅读全文
posted @ 2016-04-22 15:32 orzpps 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1455 思路:左偏树练习题 用并查集维护连通,然后开个数组记录每个人是否已被杀死,用可并堆支持合并和求最小值 左偏树是一种支持合并的堆,写起来比手写堆还要短... 只有一个操作,merge... 阅读全文
posted @ 2016-04-22 15:13 orzpps 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4540 思路:又是莫队.... 我们发现左右端点移动时,只会增加或删除某个点开头或结尾的区间 先考虑右端点从r移动到r+1 令p为[l,r]中最小值的位置 那么它会对新加的区间中的p-l+1... 阅读全文
posted @ 2016-04-20 20:17 orzpps 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4538 思路:首先二分答案K 那么对于每个询问我们只要判断权值大于K的路径的交是否都过x即可 路径的交还是路径,路径交满足结合律 可以离线拿个线段树维护一下即可,以权值为关键字,每个点记录该... 阅读全文
posted @ 2016-04-20 19:42 orzpps 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4537 思路:把边按a排序,每sqrt(m)分一组 然后把询问按b排序,把在这组及以前的边按b排序 把这些边用并查集一条一条插入并维护 零散的部分暴力插入并记录,做完后暴力撤销 注意:并查集... 阅读全文
posted @ 2016-04-20 19:35 orzpps 阅读(136) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 19 下一页