
POJ
linkfqy
A link to FQY.
展开
-
【Trie树】POJ2001 Shortest Prefixes
题面在这里Trie树的经典题……观察一下题目,就会发现: 用cnt表示子树下的字符串数,那么当cnt第一次为1时 所走过的路径就是对应的缩写主要还是练手用,这种题目一定要熟练打完并1A 不然考场上遇到大题就真的挂了原创 2017-06-12 20:56:25 · 460 阅读 · 3 评论 -
【差分约束系统】POJ1201 Intervals
题面在这里经典的差分约束系统题型……首先看到要求最小值,那么显然要刷最长路 即 x−y≥zx-y \ge z 型约束 构造前缀和SiS_i 那么对于一个条件(a,b,c)(a,b,c),则有Sb−Sa≥cS_b-S_a \ge c 值得注意的是,前缀和的单调性 以及 一个位置对答案的贡献最大为1 这两个隐藏条件容易被忽视 即 Si−Si−1≥0S_i-S_{i-1}\ge 0,Si−1−原创 2017-07-25 22:17:36 · 511 阅读 · 0 评论 -
【KMP】POJ3461 Oulipo
题面在这里没什么好说的……直接KMP就好了示例程序:原创 2017-08-01 22:24:56 · 496 阅读 · 0 评论 -
【KMP】POJ2752 Seek the Name, Seek the Fame
题面在这里由于字符串border的border一定是原串的border 所以不断求next即可示例程序:原创 2017-08-01 22:11:30 · 374 阅读 · 0 评论 -
【KMP求最小循环节】POJ2406 Power Strings
题面在这里可以发现,如果字符串S存在循环节 对其求next,大概是长这样的: 很显然,答案是NN−next[N]\frac N {N-next[N]} 否则一定不会整除示例程序:原创 2017-08-01 16:15:56 · 740 阅读 · 0 评论 -
【模拟退火,广义费马点】POJ2420 A Star not a Tree?
题面在这里给定N个点,求这些点的广义费马点 模拟退火的经典题……因为G++的原因WA了一下午…… 万恶的POJ初始值随便给个正常点的 我是用了横、纵坐标的平均值作为初始位置每次随机一个角度,往这个方向走Temp步 这样作为下一状态控制一下降温系数以及内循环次数就可以A啦示例程序:原创 2017-07-18 21:48:48 · 1576 阅读 · 1 评论 -
【楼天城男人八题】【树分治|Treap+启发式合并】POJ1741 Tree
题面在这里待我先膜拜一下楼教主……首先这题是很明显的树分治 想说点什么却发现已经没什么好说了然后我们来看另一种解法:平衡树乱搞 这里用的是Treap实现对于每个节点,用Treap记录该子树每个节点到根(默认为1)的距离 那么如何统计答案? 对于兄弟子树,他们之中的任意节点间都可统计方案数,而且不会重复 其实统计方案数就是询问某Treap中key比x小的个数 统计两棵Treap之间的方案数原创 2017-07-09 20:05:21 · 2689 阅读 · 2 评论 -
【二分+2-SAT+Tarjan】POJ2723 Get Luffy Out
题面在这里2-SAT经典题……钥匙只能二选一,所以很容易看出是2-SAT问题 考虑约束关系: 对于一扇门,假设它两把锁为(a,b) 那么为了过这扇门,选了a’就一定要选b,反之亦然 后面不需要讲了……然而每次枚举过几扇门太慢了,直接二分答案注意:数据范围有点坑示例程序:原创 2017-07-16 14:46:06 · 743 阅读 · 0 评论 -
【2-SAT+Tarjan】POJ3207 Ikki's Story IV - Panda's Trick
题面在这里典型的2-SAT问题……可以发现,对于任意两条连线,能在O(1)复杂度内判断是否矛盾 (即两条连线必须位于圆的两侧) 这样暴力枚举一下建边,用Tarjan刷强连通分量 最后判断是否有解即可示例程序:原创 2017-07-16 12:05:25 · 784 阅读 · 0 评论 -
【bitset】POJ2443 Set Operation
题面在这里参考博客: C++ bitset使用教程 bitset最基础的练习题示例程序原创 2017-07-06 20:02:52 · 815 阅读 · 3 评论 -
【堆+链表】POJ2274 The Race
题面在这里这道题想法很简单,但是实现比较复杂…… 参考隔壁神犇zzk的题解。 昨天写好代码后,一WA到底,查了近一个小时……各位同学写的时候小心。第一问很简单,典型的逆序数(由于v很小,可以用数组代替树状数组)。 至于第二问,要求按顺序输出前10000个“超越事件”,自然就想到用堆来储存“超越事件”(这里使用了二叉堆) 用链表储存赛车的相对位置 每次从堆中取出一个超越事件,注意有可能是非法原创 2017-02-15 08:52:44 · 815 阅读 · 1 评论 -
【计算几何】POJ1039 Pipe
题面在这里这是我A的第一道真正意义上的计算几何题…… 一开始想法不好,重写了两次,花了两个半天才A掉……各位见笑了题意大致如下:给定一根由上下两条折线构成的管道(上下壁均不透明、不反光),求光线是否能穿过管道,或输出最远能到的距离。那么有这样一个推论:最优的线路一定经过上端点、下端点至少各一个。因为若光线不经过任何端点,就完全可以旋转、平移它,使其射得更远,那么经过端点就是移动的极端情况,就有可能原创 2017-02-17 10:23:13 · 1091 阅读 · 3 评论 -
【带权并查集】POJ1182 [NOI2001]食物链
题面在这里这是一道经典的带权并查集例题。 我们定义权值s[i]表示节点i与根的关系: 0:和根是同一种动物 1:i能够吃根节点 2:i被根节点吃 这样定义的好处就是,在模3的意义下,各个节点之间的关系能够传递 (接下来本题解所讨论的范围都是在模3的意义下) 例如: 这样我们的权值s[i]就能满足一维向量加法了。那么很显然,s[i]也满足一维向量减法: a与b的关系就是s[a原创 2017-04-04 10:27:59 · 1545 阅读 · 1 评论 -
【主席树】POJ2104 K-th Number
K-th Number 一道典型的主席树模板题。 题面如下: DescriptionYou are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data原创 2017-04-14 22:30:26 · 483 阅读 · 1 评论 -
【A*求K短路】POJ2449 Remmarguts' Date
题面在这里K短路裸题…… 关于A*,看这里只要注意S==T的时候最短路不是0即可附上代码:原创 2017-05-25 21:19:41 · 530 阅读 · 0 评论 -
【分数规划,最优比率生成树】POJ 2728 Desert King
题面在这里分数规划经典题目啊……考虑二分答案midmid则只需验证: ∑cost∑dist≤mid∑cost≤mid∗∑dist∑(costi−mid∗disti)\frac {\sum cost} {\sum dist}\le mid \\\sum cost\le mid*\sum dist \\\sum (cost_i-mid*dist_i) 然后就直接最小生成树了示例程序:原创 2017-10-29 17:22:17 · 689 阅读 · 0 评论