摘要:
哈夫曼编码#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> 阅读全文
摘要:
复杂度O(min(k,n-k)^2)#define LL long long LL gcd(LL a, LL b) { return b? gcd(b, a%b): a;}LL C(int n, int k) { vector<int> vn; k=min(n-k,k); for(int i=n-k+1; i<=n; ++i) { vn.push_back(i); } for(int i=2; i<=k; ++i) { int t = i; for(int j=0; j<vn.size(); ++j) { ... 阅读全文
摘要:
模拟题,很暴力的水过,不过可以用并查集优化注意两个重点是可以的#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 阅读全文
摘要:
poj 2096详解见:http://blog.csdn.net/morgan_xww/article/details/6774708View Code #include<iostream>using namespace std;const int N = 2000;double dp[N][N];int n,s;double dfs(int x,int y){ if(x==n&&y==s) return 0; if(x>n||y>s) return 0; if(dp[x][y]!=0) return dp[x][y]; dp[x+1][y]=dfs(x 阅读全文
摘要:
最近发现此类题目特别多#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 阅读全文
摘要:
help 那位大神帮我看看到底哪儿错了#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 阅读全文