随笔分类 -  POJ

摘要:题目大意 一些小朋友在排队,每次来一个人,第i个人会插到第x个人的后面。权值为y。保证x∈[0,i 1]。 按照最后的队伍顺序,依次输出每个人的权值。 解题分析 好气吖。本来是在做splay练习,然后发现这道题用splay写T掉了,可能是我的splay常数太大了吧。~~要不要考虑去学一下自顶向下建树 阅读全文
posted @ 2017-05-04 21:44 rpSebastian 阅读(214) 评论(0) 推荐(0)
摘要:Problem Tree 题目大意 给一棵树,有边权。求树上距离小于等于K的点对有多少。 解题分析 点分治。对每一棵子树进行dfs,求出每棵子树的重心,继而转化为子问题。 对于经过根的路径i--j,令dep为到根距离,那么需求出dep[i]+dep[j]<=k,且i,j属于不同子树,可以求其补集,求 阅读全文
posted @ 2016-09-29 21:34 rpSebastian 阅读(208) 评论(0) 推荐(0)
摘要:Problem 炮兵阵地 题目大意 给你一张n*m的地图,一些地区是空地,一些地区是障碍。 可以在空地上布置炮兵部队,炮兵部队的攻击范围为上下左右各两格。 询问最多可以布置多少个炮兵部队,且互不伤害。 0<=N <= 100 , 0<=M <= 10 解题分析 由于攻击范围是两格,所以用dp[i][ 阅读全文
posted @ 2016-08-20 10:58 rpSebastian 阅读(149) 评论(0) 推荐(0)
摘要:Problem Tree (POJ3237) 题目大意 给定一颗树,有边权。 要求支持三种操作: 操作一:更改某条边的权值。 操作二:将某条路径上的边权取反。 操作三:询问某条路径上的最大权值。 解题分析 树链剖分+线段树。练手题。 参考程序 1 #include <cstdio> 2 #inclu 阅读全文
posted @ 2016-08-02 21:58 rpSebastian 阅读(232) 评论(0) 推荐(0)
摘要:Problem Intersecting Lines (POJ 1269) 题目大意 给定两条直线,问两条直线是否重合,是否平行,或求出交点。 解题分析 主要用叉积做,可以避免斜率被0除的情况。 求交点P0: 已知P1 P2 P3 P4 运用 P0P1 X P0P2 = 0 和 P0P3 X P0P 阅读全文
posted @ 2016-07-29 00:23 rpSebastian 阅读(245) 评论(0) 推荐(0)
摘要:const maxn=50008; INF=2000000000;type arr=record u,v,nt:longint; end; arr1=array[0..maxn] of longint;var eg:array[0..maxn*2] of... 阅读全文
posted @ 2015-04-07 20:28 rpSebastian 阅读(147) 评论(0) 推荐(0)
摘要:直接用Trie树即可。 每个节点统计经过该点的单词数,遍历时当经过的单词数为1时即为合法的前缀。 阅读全文
posted @ 2014-12-15 21:02 rpSebastian 阅读(122) 评论(0) 推荐(0)