
数据结构
yp_2013
这个作者很懒,什么都没留下…
展开
-
续 Codeforces 596 C Wilbur and Points
传送门: http://codeforces.com/contest/596/problem/C前一篇是数据结构的解法,这回换一种解法,其实是屌丝解法,方法和上面一样,只是用 vector加上局部排序的方法,然后最后判断你的时候不用那么高端的count,而是扫一遍判断合法性,一遍就够了,因为我往里面加的时候就是就是按照每个w值相等的时候递增加的,所以说之可能在不同w之间会出现不满足题意的情况!!原创 2016-01-17 20:06:27 · 380 阅读 · 0 评论 -
Codeforces 596 C Wilbur and Points
传送门: http://codeforces.com/contest/596/problem/C题意: 给n个点的坐标,然后让你重新排序,规则是x,y坐标均小的要排在前面,规则具体看题即可,使得点的权值w[i]与给出的序列吻合,如果存在该序列则输出,否则输出NO思路: 冥想阶段: 肯定是排序,然后再判断一下给出的这种方案合法否么,粗略的想法就是把w的值从小到大排序,那么点的排序方法必定就是右原创 2016-01-17 17:17:00 · 491 阅读 · 0 评论 -
hdu 5603 the soldier of love
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5603题意: 有n条线段,m个组,每个组中包含一部分点,求问对于每个组,有多少条线段包含组中至少一个点!!!思路: 很神奇的解法! 一看分组很多且分组里面的点很多,既然总共的点数就是1到1e6,那么很自然的想法肯定就是扫面一遍这1e6个点,然后线性地把答案给算并存下来!首先我们应该反着求,即求不覆原创 2016-01-18 16:10:07 · 679 阅读 · 1 评论 -
hdu 5596 GTW likes gt
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=5596题意:sb题,有n个怪物,他们会轮流去消灭之前的怪物,每次可以消灭在他之前 另一组的体力值小于他的值得怪物,有m个体力值增加时间,在 c[i]之前的怪物的体力值全部加1,问在n秒之后会有几只怪物存活下来。。。强行模拟,用2个优先队列记录每一组的体力值,有个小转换,因为我们要扫一遍n秒的时间轴,所原创 2016-01-18 19:28:26 · 304 阅读 · 0 评论 -
Codeforces D. Professor GukiZ and Two Arrays
传送门: http://codeforces.com/contest/620/problem/D很sb的一道题,暴力加二分即可以过!! 题意: 两个数列,最多可以交换两次,使得二数列和的差最小。 把求得值得表达式子计算出来就是 sum1-a[i]-sum2+b[i] 然后根据这个式子分项进行计算就可以了 直接暴力模拟一次,和两次的情况即可,两次的时候二分找到临界两个,比下大小就可以了s原创 2016-01-23 00:03:52 · 770 阅读 · 1 评论 -
Codeforces 8VC Venture Cup
http://codeforces.com/problemset/problem/626/D 预处理出差值,然后组合数学~#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn=2e3+10;int a[maxn],n;double summ[5500], f[5500];int mai原创 2016-03-16 20:57:47 · 525 阅读 · 0 评论 -
hdu 5444 继续二叉查找树
/************************************************************************* 这是一个二叉查找树,实现了以下操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继。上述所有操作时间复杂度 均为o(h),其中h是树的高度 注释很详细,具体内容就看代码吧***********原创 2016-06-13 20:08:34 · 380 阅读 · 0 评论 -
手写堆
#include <bits/stdc++.h>using namespace std;const int MAX_N = 1e3 + 10;struct Heap { int heap[MAX_N]; int pos[MAX_N]; int size; void init() { size = 0; } void push(in原创 2016-06-22 10:41:58 · 1065 阅读 · 0 评论 -
第一场
MARK一下~~ http://acm.csu.edu.cn/OnlineJudge/contestrank.php?cid=2098 A:#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <queue>#define mem0(a) memset(a,0,sizeof(原创 2016-03-09 15:40:29 · 588 阅读 · 0 评论