LRU主要的耗时操作就是查找,因此,我们可以使用hash_map来代替map,因此时间复杂度可以从O(logN)降低到O(1)#include #include #include #include using namespace std;class LRUCache{public: LRUCa...
分类:
编程语言 时间:
2015-03-30 10:51:49
阅读次数:
149
实现简单,但不得不说是一道好题。当员工数少于医生数时,直接输出K,因为此时N个员工同时检查,必定是最少的时间了。当员工数大于医生数时,可以把员工的项目看成一段一段的,每个医生对其进行切割,总能得到时间不冲突的情情况。#include #include using namespace std;int ...
分类:
其他好文 时间:
2015-03-30 10:51:18
阅读次数:
116
原题地址并查集+路径压缩数据量不大,没有加秩优化代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define SIZE 100010 8 9 int disjoin[SIZE];10 map a2i;1...
分类:
其他好文 时间:
2015-03-30 10:48:49
阅读次数:
116
题意:
给n个不同的点,问是否存在一个点使得这n个点关于它两两对称。
分析:
首先确定这个对称中心的坐标,然后对每个点哈希查找它的对称点。
代码:
//poj 2526
//sep9
#include
using namespace std;
const int maxN=10024;
const int hashlen=1000023;
const int mod=40013;
st...
分类:
其他好文 时间:
2015-03-30 09:35:38
阅读次数:
130
AvlTree.h
#include
#include
#include
using namespace std;
template
class AvlTree;
template
class AvlNode{
friend class AvlTree ;
T data;
int height;
AvlNode *left;
AvlNode *right;
Avl...
分类:
其他好文 时间:
2015-03-30 09:34:31
阅读次数:
112
题意:有n个点在平面直接坐标线,给出了n个点坐标,然后问以(0,0)为圆心的扇形包含至少k个点最小面积。
题解:贪心,先把所有点按与x轴正半轴的角度排序,然后选出一个点当半径,枚举剩下点(半径小于第一个点),更新最小面积值。
#include
#include
#include
using namespace std;
const int N = 5005;
const double...
分类:
其他好文 时间:
2015-03-30 09:27:55
阅读次数:
121
使用标准库的栈和队列时,先包含相关的头文件
#include
#include
定义栈如下:
stack stk;
定义队列如下:
queue q;
栈提供了如下的操作
s.empty() 如果栈为空返回true,否则返回false
s.size() 返回栈中元素的个数
s.pop() 删除栈...
分类:
编程语言 时间:
2015-03-30 09:26:58
阅读次数:
188
题意:
给一个图和q个询问,每个询问查询图中两点的(距离+路径上最大值)的最小值。
分析:
枚举路径上的最大值做spfa,这题丫的卡常数。。。队列用stl的就等着tle吧。
代码:
//poj 4046
//sep9
#include
#define inf ((~(0ULL))>>1)
using namespace std;
const int maxN=1024;
const i...
分类:
其他好文 时间:
2015-03-30 09:26:43
阅读次数:
166
#include
#include
#include
#define VERTEX_NUM 8
typedef enum {FALSE = 0, TRUE = 1}BOOL;
typedef struct ArcNode {
int adjvex;
struct ArcNode *nextarc; // struct不能少
}ArcNode;
BOOL visi...
分类:
其他好文 时间:
2015-03-30 09:26:01
阅读次数:
201
OneKdTree.h
#include
#include
#include
using namespace std;
class AvlTree;
class AvlNode{
friend class AvlTree;
int data;
int height;
AvlNode *left;
AvlNode *right;
AvlNode(int _data) :da...
分类:
其他好文 时间:
2015-03-30 09:25:54
阅读次数:
219