随笔分类 - 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; ...
阅读全文
摘要:简单的深搜。。。#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
阅读全文
摘要:#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-
阅读全文
摘要:没想到两场都是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
阅读全文
摘要: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>
阅读全文
摘要:模拟题,很暴力的水过,不过可以用并查集优化注意两个重点是可以的#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
阅读全文
摘要:最近发现此类题目特别多#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
阅读全文
摘要: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...
阅读全文
摘要:求出加油站两两之间的最短路,判断下即可#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
阅读全文
摘要: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>
阅读全文
摘要:注意处理边相同时 #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
阅读全文
摘要: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&
阅读全文
摘要: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
阅读全文
摘要:比赛时调试了半天没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>
阅读全文
摘要:两边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
阅读全文
摘要:用线段树求最小值就行了#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>
阅读全文
摘要:省赛弱爆了,水题都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
阅读全文
摘要: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 #
阅读全文

浙公网安备 33010602011771号