随笔分类 -  contest

摘要:哈夫曼编码#include<iostream>#include<queue>#include<vector>using namespace std;const int Max = 2001;struct Tode { int id; int weight;};struct node{ int left , right ; int weight;}p[Max];int tail,root,ans;struct cmp{ bool operator() ( Tode a, Tode b ){ return a.weight>b.weight; ... 阅读全文
posted @ 2012-11-27 21:22 HaoHua_Lee 阅读(181) 评论(0) 推荐(0)
摘要:简单的深搜。。。#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>using namespace std;const i 阅读全文
posted @ 2012-09-08 20:19 HaoHua_Lee 阅读(242) 评论(0) 推荐(0)
摘要:#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>using namespace std;#define eps 1e- 阅读全文
posted @ 2012-06-17 22:01 HaoHua_Lee 阅读(153) 评论(0) 推荐(0)
摘要:没想到两场都是200分,虽然两场都只做两题。初赛第一场: 题目:http://wenku.baidu.com/view/0dd551a8dd3383c4bb4cd2bb.htmlA题:搜索一下,复杂度不算高#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#i 阅读全文
posted @ 2012-06-10 09:30 HaoHua_Lee 阅读(256) 评论(0) 推荐(0)
摘要:uva C – Central Post Officelow[i][0] 表示不回到i点 ,以i节点为根,其子树的最小值,low[i][1] 表示回到i点up[i][0] 表示不回到i点 ,除去以i节点为根,其子树的最小值,up[i][1] 表示回到i点#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set> 阅读全文
posted @ 2012-05-13 17:05 HaoHua_Lee 阅读(239) 评论(0) 推荐(0)
摘要:模拟题,很暴力的水过,不过可以用并查集优化注意两个重点是可以的#include<iostream>#include<cstdio>#include<cmath>#include<cstring>using namespace std;const int N = 500;int ar[N][N];struct Point{ int x,y;}a,b,ra,rb;bool ok(Point a,Point b){ if(a.x==b.x) { for(int i=min(a.y,b.y);i<=max(a.y,b.y);i++) if(ar[a 阅读全文
posted @ 2012-05-12 13:29 HaoHua_Lee 阅读(197) 评论(0) 推荐(0)
摘要:最近发现此类题目特别多#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>using namespace std;#def 阅读全文
posted @ 2012-05-09 18:26 HaoHua_Lee 阅读(770) 评论(0) 推荐(0)
摘要:LCA 模版const int N = 1000;const int INF = ((1<<30)-1);struct ufind{ int f[N]; void init(int x) { for(int i=0;i<=x;i++) f[i]=i;} int find(int x) { return f[x]==x?x:f[x]=find(f[x]);} void set_friend(int i,int j){ f[find(j)]=find(i);} bool is_friend(int i,int j){ return find(i)==fi... 阅读全文
posted @ 2012-05-04 21:02 HaoHua_Lee 阅读(207) 评论(0) 推荐(0)
摘要:求出加油站两两之间的最短路,判断下即可#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector> #include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>#include <io 阅读全文
posted @ 2012-05-03 22:23 HaoHua_Lee 阅读(178) 评论(0) 推荐(0)
摘要:kruskal+求割边#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector> #include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>#include <iomanip> 阅读全文
posted @ 2012-05-03 19:27 HaoHua_Lee 阅读(264) 评论(0) 推荐(0)
摘要:注意处理边相同时 #include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector> #include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>#include <iomanip>u 阅读全文
posted @ 2012-05-02 17:30 HaoHua_Lee 阅读(295) 评论(0) 推荐(0)
摘要:wrong了好多吧,注意边界#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>#include <iomanip& 阅读全文
posted @ 2012-04-28 22:04 HaoHua_Lee 阅读(157) 评论(0) 推荐(0)
摘要:dp,以后想清楚了再打代码,疼了很久 ( 注意题目中的这句话 “In any consecutive substring of S”)#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstd 阅读全文
posted @ 2012-04-26 16:49 HaoHua_Lee 阅读(203) 评论(0) 推荐(0)
摘要:比赛时调试了半天没A掉,妹子的!!!又打铁了,现在补一下,不知是否正确#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm> 阅读全文
posted @ 2012-04-24 21:26 HaoHua_Lee 阅读(301) 评论(0) 推荐(0)
摘要:两边dfs 即可#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include<algorithm>using namespace std;#define 阅读全文
posted @ 2012-04-24 19:42 HaoHua_Lee 阅读(180) 评论(0) 推荐(0)
摘要:用线段树求最小值就行了#include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#include <algorithm>#include <iomanip> 阅读全文
posted @ 2012-04-18 22:19 HaoHua_Lee 阅读(343) 评论(0) 推荐(0)
摘要:省赛弱爆了,水题都A不调=。=。。。。H,J死的很惨,F题连看都没看上一眼,dp啊,摸都没摸上View Code #include<iostream>#include<cstring>#include <cstdio>#include<string>#include<queue>#include<vector>#include<map>#include <set>#include<ctime>#include<cmath>#include <cstdlib>#in 阅读全文
posted @ 2012-04-17 22:21 HaoHua_Lee 阅读(325) 评论(0) 推荐(0)
摘要:hdu 4169题意:给定一棵树,每一节点都有一权值,要求选出总权值最大的K个点,同时这K个点中任意一个点都不能是其他节点的祖先。节点数太多了,150000 ,爆内存的,所以开了一个临时数组保存注意优化 子分支的状态数 复杂度O(n*k^2) 1 #include<iostream> 2 #include<cstring> 3 #include <cstdio> 4 #include<string> 5 #include<queue> 6 #include<vector> 7 #include<map> 8 # 阅读全文
posted @ 2012-03-27 22:16 HaoHua_Lee 阅读(227) 评论(0) 推荐(0)