题目大意:给定n个点,求一个最大的矩形,该矩形的四个顶点在给定的点上
找矩形的方法是记录所有线段 若两条线段长度相等且中点重合 这两条线段就可以成为矩形的对角线
于是我们找到所有n*(n-1)/2条线段,按长度排序,长度相等按照中点排序,然后对于每个点向前找符合要求的,计算面积,更新ans
注意避免一切double!长度切记不能开根号,直接用long long存储,否则第三个点有两条长度极其...
分类:
其他好文 时间:
2014-10-11 17:23:45
阅读次数:
167
题目大意:给定n个数,求这n个数两两异或的值中的前k小
首先我们对所有数字建立二进制Trie树,可以利用Trie树上的size域查询出一个数与其它数异或值的第k小
然后我们维护一个堆,将所有数与其它异或值的第2小加入堆(第一小是自己异或自己,不在题目要求范围内),当取出一个数异或值的第k小后,将第k+1小加入堆
一个异或值会被两个数分别取出一次,所以取出奇数次时输出,取2*k次即可
时间复...
分类:
其他好文 时间:
2014-10-11 15:27:51
阅读次数:
190
1002: [FJOI2007]轮状病毒
Time Limit: 1 Sec Memory Limit: 162 MB
Submit: 2427 Solved: 1333
[Submit][Status]
Description
给定n(N
Input
第一行有1个正整数n。
Output
将编程计算出的不同的n轮状病毒数输出
Sample In...
分类:
其他好文 时间:
2014-10-11 10:51:25
阅读次数:
155
1001: [BeiJing2006]狼抓兔子
Time Limit: 15 Sec Memory Limit: 162 MB
Submit: 10398 Solved: 2376
[Submit][Status]
Description
现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面...
分类:
其他好文 时间:
2014-10-11 10:18:35
阅读次数:
213
1091: [SCOI2003]切割多边形
Time Limit: 1 Sec Memory Limit: 162 MB
Submit: 223 Solved: 82
[Submit][Status]
Description
有一个凸p边形(p
分别沿着直线1,2,3,4进行切割即可,得到中间的四边形。
Input
第一行有两个整数n, m(0
Outp...
分类:
其他好文 时间:
2014-10-11 00:47:24
阅读次数:
393
题目大意:给定一张有向图,每个点有且仅有一条出边,要求若一个点x扔下去,至少存在一个保留的点y,y的出边指向x,求最多扔下去多少个点
首先原题的意思就是支配关系 我们反向考虑 求最少保留的点 要求一个点若扔出去 则必须存在一个保留的点指向它
于是这就是最小支配集 不过由于是有向图 所以一个点要么选择 要么被子节点支配 所以就只剩下2个状态了
设f[x]为以x为根的子树选择x的最小支配集 g[...
分类:
其他好文 时间:
2014-10-10 20:35:24
阅读次数:
223
题目大意:给定一棵树(直接给树,不是给图求生成树!),求每条边权值*两边点数之差的和
BFS水过即可
其实DFS也能过。。。系统栈可能有些不充裕,我们可以利用内嵌汇编手动开大系统栈 详见代码
这题读入优化可以优化掉4s左右
#include
#include
#include
#include
#define stack_size (20001000)
#define M 1001001
...
分类:
其他好文 时间:
2014-10-10 18:45:30
阅读次数:
139
题目大意:一些农场由一些东西向或者南北向的路相互连接。在不断加边的过程中会询问两个农场的曼哈顿距离是多少,如果目前还不连通,那么输出-1。
思路:带权并查集,f[i]为点i到father[i]的距离,要维护两个值,一个是东西向的距离,一个是南北向的距离,因为以后更新的时候要用到。在合并的时候有些特殊。现在有一条边(x->y),设fx为x的根,fy为y的根,那么现在知道f到fx的距离,y到...
分类:
Web程序 时间:
2014-10-10 15:36:14
阅读次数:
281
题目大意:同POJ1741
链接:http://blog.csdn.net/popoqqq/article/details/39959803
和POJ1741一样的题,土豪题,POJ有道一样的题,做完1741可以水水
我会告诉你我直接改了下上题的代码么0.0
数据范围4W 距离最大1000 不会爆INT 放心写吧
#include
#include
#include
#include
#...
分类:
其他好文 时间:
2014-10-10 15:20:54
阅读次数:
755
题目大意:给出一棵树,求两点间的最长距离。
思路:裸地树的直径,两次BFS,第一次随便找一个点宽搜,然后用上次宽搜时最远的点在宽搜,得到的最长距离就是树的直径。
CODE:
#include
#include
#include
#include
#include
#define MAX 80010
using namespace std;
int poin...
分类:
其他好文 时间:
2014-10-10 15:17:56
阅读次数:
228