
ACM
文章平均质量分 56
leo524891010
坚持 耐心 高效
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ2352 Interval Tree, Segment Tree, 线段树, 区间树
#include #include using namespace std; const int MAXN = 72010; struct node { int l; int r; int count; }nodes[MAXN]; void build(int l, int r, int step) { nodes[step].l = l; nodes[step].r = r原创 2012-04-15 07:08:09 · 859 阅读 · 0 评论 -
POJ 3687 Topo 拓扑
#include #include #include const int MAXN = 205; int N, M; int out[MAXN]; int adjMat[MAXN][MAXN]; std::vector ans[MAXN]; int res[MAXN]; int ball[MAXN]; void topo() { int idx = 1; std::priority_q原创 2012-04-26 12:24:21 · 546 阅读 · 0 评论 -
POJ 2502
典型的Dijkstra的最短路径的题目 这道题基本按照下面网址的思路写的 但是无论如何不能AC,后来照着抄了遍代码都不行,实在精疲力尽了 就不贴自己的代码了 参考如下 http://www.cnblogs.com/mengxm-lincf/archive/2012/02/14/2350272.html原创 2012-07-31 13:45:53 · 688 阅读 · 0 评论 -
POJ 2502 Dijkstra
这道题主要麻烦在信号的等待上 写着写着容易混乱 基本思想就是Dijkstra #include #define MAXN 305 #define INF (1 << 28) int map[MAXN][MAXN]; int dist[MAXN]; int v[MAXN]; int M, N; struct node { int color; int r; int t[2]原创 2012-08-01 12:33:33 · 684 阅读 · 0 评论 -
POJ 2513
并查集Union-Set: 使用rank数组 Trie树 欧拉图 #include const int MAXN = 500003; int N; int pre[MAXN]; int rank[MAXN]; int deg[MAXN]; struct trie { int color; trie* next[26]; trie() {原创 2012-04-29 13:21:44 · 465 阅读 · 0 评论 -
POJ 1656
//1. 基本做法 居然可以AC #include #include using namespace std; int board[101][101]; void fillWhite(int x, int y, int l) { for(int i = x; i < x + l && i < 101; i++) for(int j = y; j < y + l && j < 101原创 2012-04-14 14:19:41 · 452 阅读 · 0 评论 -
POJ 3468
#include using namespace std; #define L(x) ((x) << 1) #define R(x) (((x) << 1) | 1) #define MAXN 100010 //const int MAXN = 100010; struct node { int l; int r; __int64 sum; __int64 inc; }nodes原创 2012-04-17 13:13:12 · 504 阅读 · 0 评论 -
POJ 2001 Trie树 (EOF 用ctrl+z表示 VS中) 一次AC!
#include const int MAXN = 1005; const int MAXM = 21; struct node { int cnt; node* next[26]; node() { cnt = 0; memset(next, 0, sizeof(next)); } }* root; void insert(char s[]) { node* cur原创 2012-05-01 11:45:33 · 534 阅读 · 0 评论 -
POJ 1990
1. Brute Force方法导致TLE 2. 数组树做法,先按照v升序排序。然后对排序好的Cow循环,假设在i位置的cow,那么0到i-1位置的cow的v都比当前v小,则可以利用公式 v * (prevCnt * x - prevDist + totalDist - prevDist - (i - prevCnt) * x)算出。 v * (prevCnt * x - prevDist)原创 2012-03-09 12:47:12 · 481 阅读 · 0 评论 -
POJ 1258
最小生成树的一道题 Minimum Spanning Tree 1. Prim #include using namespace std; const int MAXN = 105; int matrix[MAXN][MAXN]; int cal(int n) { int used[MAXN]; int dis[MAXN]; memset(used, 0, sizeof原创 2012-04-18 12:15:59 · 441 阅读 · 0 评论 -
POJ 2528
#include #include using namespace std; const int MAXN = 25000; struct node { int l; int r; bool full; }nodes[MAXN * 5]; struct postPnt { int pos; int num; }post[MAXN]; // cmp functions boo原创 2012-04-16 01:34:27 · 542 阅读 · 0 评论