- 博客(32)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 POJ 3211 Washing Clothes (0/1背包)
题目很有意思,很好理解,挺好的一道背包问题 只需将每种颜色分别用01背包方法求出最接近于该颜色时间总和一半的时间,然后用该颜色时间总和减去它。 最后将每种颜色所花费的时间累加即可。 #includeusing namespace std;#include#includestruct cclothes{ int
2013-09-05 11:15:04 394
原创 Poj 2392 多重背包变形(模板)
多重背包的题目,不过有些些许的变形,背包容量在随时变化,加个判断就行,属于比较简单的~~但是WA了好几次~~,愁贴个代码吧#include#include#include#includeusing namespace std;const int MAXN=410;struct Node{ int h,c; int lim;}nod
2013-09-03 17:12:49 402
原创 poj 1265 Area 计算几何Pick定理 && poj 2954 Triangle
开始做的时候研究了好久,表示压力山大。后来表示,竟然有Pick定理 多边形S面积 = 多边形内部点数 + 边上的点数/2 -1; 面积和边上的点数都为实数 #include#include#include#include#include#includeusing namespace s
2013-09-03 17:08:31 448
转载 POJ测试数据
1、USACO2006年November题目和测试数据的网址http://ace.delos.com/NOV062007年open赛题目和测试数据的网址http://ace.delos.com/OPEN07以此类推2、日本ACM比赛http://www.acm-japan.org/http://icpc2010.honiden.nii.ac.jp/en/past-c
2013-08-05 11:38:34 486
转载 计算几何
计算几何题目推荐计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。4.注意精度控制。5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点
2013-08-01 15:36:21 385
转载 简单计算器
#include#include#include#include#include#include#include#include#includeusing namespace std;char e[250],post[250];stackOp;bool Isnum(char c){ if(c>='0'&&c<='9') retu
2013-06-01 20:55:36 450
转载 大数模板(别人的)
留着以后用啊~~不过说实在的,能用JAVA过还是用JAVA吧~~~///// 数组一定要开大点!!!!!#include#include#include#include#includeusing namespace std;#define MAXN 9999#define MAXSIZE 100#define DLEN
2013-06-01 20:55:08 383
原创 O题 分组背包变形
#include#include#includeusing namespace std;const int maxn=10010;int dp[11][10010];int belong[10010];int w[10010],v[10010];int max(int x,int y){ return x>y?x:y;}int main()
2013-06-01 20:53:17 430
原创 N题 第K大背包
#includeusing namespace std;#include#includeint dp[205][205],c[200],w[200];int n,m,k,s;int main(){ int i,j; while(cin>>n>>m>>k>>s) { memset(dp,0,sizeof(dp));
2013-06-01 20:52:32 355
原创 M题 二维费用背包
#includeusing namespace std;#include#includeint dp[205][205],c[200],w[200];int n,m,k,s;int main(){ int i,j; while(cin>>n>>m>>k>>s) { memset(dp,0,sizeof(dp));
2013-06-01 20:51:46 366
原创 K题 多重背包
#include #include #include using namespace std; #define MAX 300000 int dp[MAX],v[1000],m[1000]; int main() { int i,j,n,k; while(cin>>n&&n>=0) { int sum=0;
2013-06-01 20:50:48 479
原创 H题 完全背包
#includeusing namespace std;#include#include#define INF 1000000000int MIN(int a,int b){ if(a>b)return b; else return a;}int E,F,N,M;int main(){ int min[20000],P[10
2013-06-01 20:49:20 383
原创 F题 求最大矩阵的和
**************推荐大牛的博文**************http://www.matrix67.com/blog/archives/276#include#include #include using namespace std;int main(){ const int size = 101; int Max,sum; int N,i,j
2013-06-01 20:47:31 336
原创 E题 最大连续字段的和
#includeusing namespace std;#include #include int digit[1005];int tmp[1005];int biggest(int n){ int res; int i,k; res=0; tmp[0]=digit[0]; for(i=1;i<n;i++) { //每一次循环之后tmp数
2013-06-01 20:45:39 589
原创 D题 最长上升子序列的和
#include using namespace std;#include#define GetMax(a,b) a>b?a:b#define Big __int64Big dp[1005]={0};int main(){ Big Max; int i,j,n,val[1005]={0}; while (scanf("%d",&n),n) {
2013-06-01 20:44:15 400
原创 B题 最长公共子序列
#includeusing namespace std;#include#include#include#define N 1010int dp[N][N];int main (){ char s1[N],s2[N]; while(gets(s1),gets(s2)) { int len1 = strlen(s
2013-05-31 19:30:28 344
原创 A题 数塔
#includeusing namespace std;#include#includeint main(){ int a[101][101]; int i,j,n,t,m; cin>>m; while(m--) { cin>>n; t=0; memset(a,0,sizeo
2013-05-31 19:29:47 347
原创 杭电 25道动态规划汇总
HDU 25道动态规划题的解题报告http://acm.hdu.edu.cn/webcontest/contest_show.php?cid=1264密码:zafuA. 最简单的dp,但很重要。说明了动态规划产生的动机之一:递归产生的大量重复子问题。有两种解决方法,一、记忆化搜索,就是在用递归处理问题的过程中把已经算过的状态记录在一张表dp[][]中,下一次需要重复
2013-05-31 19:28:47 1562
原创 hdu 1176 dp近似数塔
#includeusing namespace std;#include#includeint dp[100005][15];int max3(int x,int y,int z){ if(x>=y && x>=z) return x; else if(y>=x && y>=z) return y; else
2013-05-31 19:26:07 363
原创 hdu 3466 01背包
#includeusing namespace std;#include#include#includestruct item{ int p,q,v; bool operator < (const item it) const { return q-p<it.q-it.p; } }ll[510];int dp[5
2013-05-31 19:24:56 339
原创 hdu 1546 01背包
#includeusing namespace std;#include#include#includeint c[1005],v[1005],dp[1005];int main(){ int n,m; while(cin>>n,n) { memset(c,0,sizeof(c)); memse
2013-05-31 19:23:27 444
原创 hdu 2159 二维费用背包
#includeusing namespace std;#include#includeint dp[205][205],c[200],w[200];int n,m,k,s;int main(){ int i,j; while(cin>>n>>m>>k>>s) { memset(dp,0,sizeof(dp));
2013-05-31 19:22:42 430
原创 hdu 1907 博弈
#includeusing namespace std;#includeint a[50];int main(){ int i,ans,T,n,temp; scanf("%d",&T); while(T--) { scanf("%d",&n); temp=0;//¹Âµ¥¶Ñ for(
2013-05-31 19:22:09 391
原创 hdu 1856 并差集
又一个#include #include #include #define max 10000003#includeusing namespace std;int father[max];int num[max],maxres;int find(int x){ return father[x]==x?x:find(father[x]);}i
2013-05-31 19:20:30 434
原创 hdu 1587 简单完全背包
背包呢#includeusing namespace std;#include#includeint dp[100000],c[10000],w[100000];int max(int x,int y){ return x>y?x:y;}int main(){ int n,m; while(cin>>n>>m) {
2013-05-31 19:19:38 350
原创 hdu 1568 斐波那契性质
斐波那契性质#includeusing namespace std;#include#includeint fac[21]={0,1,1};const double f=(sqrt(5.0)+1.0)/2.0;int main(){ double bit; int n,i; for(i=3;i<=20;i++)fac[i]=fac[i-
2013-05-31 19:18:44 381
原创 hdu 1421 dp
dp啊#includeusing namespace std;#include#include#includelong long dp[2005][2005],a[2005];int main(){ int n,k; while(scanf("%d%d",&n,&k)==2) { int i,j; f
2013-05-31 19:17:33 357
原创 hdu 1213 并差集
初涉并差集,写的有点挫哈~#include #include #include #include using namespace std;const int MAXN = 1010;int M, N;int parent[MAXN];int myfind(int i){ int r = i; while (parent[r] != r
2013-05-31 19:15:50 407
原创 hdu 1210 简单数学模拟
不需要多说啥了吧#includeusing namespace std;#includeint main(){ int n; while(cin>>n) { int ans=1,t=2; while(t!=1) { if(t<=n) t
2013-05-31 19:14:27 484
原创 hdu 1086 线段相交
计算几何#include#include#includeusing namespace std;#define N 110struct Point{ double x1,y1; double x2,y2;}p[N];bool fun(Point a,Point b){ //y=kx+b = y=x*(a.y1-a.y2)/(a.x1-a.x2)+
2013-05-31 19:13:15 387
原创 BUAA_分切糕
哈哈哈哈~~~#includeusing namespace std;#includeint main(){ int T; cin>>T; while(T--) { int n; cin>>n; long long m=n*(n-1)/2; if(m==0)
2013-05-31 19:12:05 444
原创 BUAA_倒排字典
#includeusing namespace std;#include#includechar a[10005][25],pan[30];int main(){ int T,ll; cin>>T; while(T--) { memset(a,'\0',sizeof(a)); memset(pan,
2013-05-31 19:08:43 375
虚拟机安装ubuntu后界面是这样的,正常么?
2016-02-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人