poj代码
北大oj上的一些题
NeverMoreH
^_^
展开
-
poj2104(区间第k大+离散化)
题意:给定一个序列,求[a,b]区间第k大的数字。思路:主席树模板题,但是注意数据范围,需要离散化。代码:#include#include#include#include#define w(i) T[(i)].w#define ls(i) T[(i)].ls#define rs(i) T[(i)].rsusing namespace std;c原创 2015-07-29 18:35:52 · 353 阅读 · 0 评论 -
poj3261(求至少出现k次的可重叠的子串的长度)
题意:给出n和k,n代表数字的个数,k代表你要求至少出现k次的,下面是n个数字,求出在其中至少出现k次的可重叠的子串的长度。思路:类似于1743但又不同于1743,思路大体上差不多,二分答案+判定。还是分组,然后看每组的个数是否大于k就ok了。代码:#include#include#include#define maxn 20005int wa原创 2015-07-25 17:18:21 · 510 阅读 · 0 评论 -
poj1743(后缀数组:最长不可重叠子串长度)
链接:http://poj.org/problem?id=1743题意:给你n个数字,挨个作差,求这n-1个数字的最长不可重叠子串长度。思路:罗大牛就是6。看了罗牛的后缀数组PDF。这道题是后缀数组的基础题,我们可以二分答案+判定。如何判定?假设我们当前二分的答案是k,我们把后缀按字典序排序,同时按k分组,保证每一组内的所有的height值都>=k。这样,如果存在长度是k的子串,一定会原创 2015-07-25 16:27:01 · 341 阅读 · 0 评论 -
poj2449(第k短路)
题意:给出一个n个点、m条边的有向有环图,求从s到t的第k短路是多少。思路:spfa+A*。代码:#include#include#include#include#include#includeusing namespace std;#define MAXN 1050#define MAXM 500050#define INF 123456原创 2015-09-29 16:56:29 · 589 阅读 · 0 评论 -
poj2187(最远点的距离的平方)
题意:给出n个点,求最远的点对的距离的平方。思路:旋转卡壳。代码:#include#include#include#include#include#includeusing namespace std;const double pi=acos(-1.0);const double eps=1e-8;int cmp(double x){原创 2015-09-23 20:05:02 · 351 阅读 · 0 评论 -
poj2079(一堆点找出最大的三角形)
题意:给出n个二维坐标点,找出三个点,它们组成的三角形面积最大。思路:首先,面积最大的三角形的三个点一定在凸包上,我们先求所有点的凸包,然后选择一个边i、j,枚举k,找到一个最大的面积,然后定下i,枚举j和k,找到最大的面积。pojG++是坑!代码:#include#include#include#include#include#include#原创 2015-09-23 18:52:05 · 2250 阅读 · 0 评论