排序和查找
文章平均质量分 69
自在_飞花
这个作者很懒,什么都没留下…
展开
-
POJ 2002 Squares
给出N个点,判断可以组成多少个正方形。最后输出正方形的个数。 思路:枚举每两个点,计算出另外的两个点,若另外两点存在则正方形存在。 这样得到的结果是最终结果的二倍,因为每一个正方形均累加了两次。 另外两点的计算方法: 设AC和BD的交点O的坐标为(X0,Y0), 则有 X0 = (X1+X3)/2 , Y 0 = (Y1+Y3)/2; 从图上可以看出: X原创 2013-09-18 15:21:33 · 730 阅读 · 0 评论 -
SDUT 2109 找女朋友
链接 : http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2109 1 #include 2 int a[100000],temp; 3 int main() 4 { 5 int sort(int i,int j,int *a); 6原创 2013-09-18 15:20:59 · 1090 阅读 · 0 评论 -
POJ 2299 Ultra-QuickSort
特殊的快速排序——归并排序。 给定N个数,求排成升序序列所需要的最小交换次数。每次只能交换相邻的两个数。 作为一名《线性代数》只考了60+的选手竟然一眼就看出要求逆序数有木有,可是我不会求啊有木有,搞来搞去还是要用归并排序啊有木有。 T^T 归并排序的主要思路: 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer原创 2013-09-18 15:21:23 · 650 阅读 · 0 评论 -
SDUT 1480 数据结构试验: 哈希表
取余,邻接表。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std; 9 10 struct N11 {12 int data,ans;13 N *next;14 }*h原创 2013-09-18 15:21:31 · 917 阅读 · 0 评论 -
POJ 1442 Black Box
优先队列水过~~~ 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 9 using namespace std;10 11 int seq[30010];12 13 int main()14 {15原创 2013-09-18 15:21:36 · 757 阅读 · 0 评论 -
POJ 3273 Monthly Expense
简单的二分题目。第一次做感觉这种思考方法很是新颖。既然是二分 就肯定要找出 上界 和 下界 然后不断取中间状态 寻找最优解。此题,上界显然是所有数的和,下界是数据中的最大值。按照 mid = (low+high)/2 去划分。若 #include #include #define LL long long#define Max(a,b) ( (a) >原创 2013-09-21 09:22:34 · 676 阅读 · 0 评论 -
POJ 2051 Argus 堆排序 贴个模板
#include #include #include #include #include #include #include #pragma comment(linker, "/STACK:1024000000");#define LL long long intusing namespace std;const int MAXN = 1010;struct N{原创 2014-01-17 19:52:07 · 836 阅读 · 0 评论