2013年2月4日

HDU 1217--最短路

摘要: 大致题意:货币兑换,n种货币,m种兑换关系,是否存在一种赚钱途径,有输出"Yes",没有则输出"No"。可能的赚钱方式是这样的:假设有A,B,C三种货币,兑换关系是A 0.5 B,B 10.0 C,C 0.21 A。显然 0.5*10.0*0.21=1.05>1 可以赚钱。用少量的A可以换更多的A。思路:显然要找出每两种货币间的最大利率,然后判断货币i对其自身的利率是否大于一。直接floyd就可以过。但是因为是乘法,需要注意dist初始化问题。。View Code 1 #include<iostream> 2 #include<c 阅读全文

posted @ 2013-02-04 20:18 acoderworld 阅读(70) 评论(0) 推荐(0)

HDU 1690---最短路

摘要: 非常恶心的最短路。。我wa了一中午,因为VC的限制,long long运行不了,但是这题又需要定义一个大于int的常数,自己写了一段代码无限wa。。。题目不算难,就是有点恶心。。直接floyd暴力就可以水过。。不纠结,日后有空再写一遍。附上代码: 1 #include <iostream> 2 #include <stdio.h> 3 #include <memory.h> 4 #include <cmath> 5 using namespace std; 6 7 const long long INF = 99999999999LL; //注意 阅读全文

posted @ 2013-02-04 20:15 acoderworld 阅读(49) 评论(0) 推荐(0)

HDU 3342--拓扑排序

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3342拓扑排序的水题,利用拓扑排序判环。 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 #define maxn 1005 5 int g[1005][1005]; 6 int top,vis[maxn],rudu[maxn],n; 7 void topo() 8 { 9 int i;10 for(i=0;i<n;i++)11 {12 if(!rudu[i]&&!vis[i])1 阅读全文

posted @ 2013-02-04 20:10 acoderworld 阅读(62) 评论(0) 推荐(0)

HDU 3666--差分约束系统

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3666这题网上搜到的代码几乎都是错的,很多都是用队列写,然后判断负权回路都是大于sqrt(n)。这不科学。。。这题的正解是DFS版SPFA,或者改用栈写。题意:给你一个N*M的矩阵,求两列数a1,a2,a3...an 和 b1,b2.....bm使得对矩阵中的每个数进行下面的操作之后的值在[L,U]之间,操作为:a[i] * m[i][j] / b[j]。 N,M<=400思路:差分约束。由题意可知,对于矩阵中的每个元素要满足的条件是:L <=a[i] * m[i][j] / b[j] <= 阅读全文

posted @ 2013-02-04 20:03 acoderworld 阅读(112) 评论(0) 推荐(0)

POJ 3159 Candies---差分约束系统

摘要: 是一道裸的差分约束系统,无需建图,不等式关系已经直接给出。第一次用链接表写了SPFA,还不是很熟练。。。关于链接表还得再学习一下。。这题需要注意的是,不能用队列做,只能用栈,否则会超时。题目链接:http://poj.org/problem?id=3159 题目意思:flymouse是班里的班长,她(假设是女的哈)从老师那里拿来了一袋糖果,要发给班里的同学。好吧,flymouse与snoopy平时在班里是死对头,这下子,他(假设是男的啦)是要倒霉了。由于班里的同学都喜欢吃糖,但是每个同学都要说出一个条件,那就是A认为B同学的糖不能比他的多C,flymouse在发糖的时候要满足所有同学的要求,现 阅读全文

posted @ 2013-02-04 10:55 acoderworld 阅读(62) 评论(0) 推荐(0)

2013年1月27日

【转】二分图总结

摘要: 二分图匹配算法总结二分图最大匹配的匈牙利算法二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。最大匹配:图中包含边数最多的匹配称为图的最大匹配。完美匹配:如果所有点都在匹配边上,称这个最大匹配是完美匹配。最小覆盖:最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数最小路径覆盖:用尽量少的不相交简单路径覆盖有向无环图G的所有结点。解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图 阅读全文

posted @ 2013-01-27 22:28 acoderworld 阅读(101) 评论(0) 推荐(0)

HDU 1856 More is better

摘要: 并查集,定义一个新的数组更新集合节点个数,模板题。。输入为0,输出为1。开始多此一举还改成了零,没能理解好题意。。代码: 1 #include<stdio.h> 2 int p[10000001],s[10000001],mmax; 3 int findx(int x) 4 { 5 if(x!=p[x]) 6 p[x]=p[findx(p[x])]; 7 return p[x]; 8 } 9 void merge(int x,int y)10 {11 int fx=findx(x);12 int fy=findx(y);13 if(fx!... 阅读全文

posted @ 2013-01-27 22:26 acoderworld 阅读(53) 评论(0) 推荐(0)

HDU 2063 过山车

摘要: 二分图匹配入门基础题,脑残的map没有初始化,导致WA了几次。不多说,上代码。。。 1 #include<iostream> 2 using namespace std; 3 int visit[1500],map[1500][1500],dx[1500],dy[1500],nx,ny; 4 int dfs(int v) 5 { 6 for(int i=1;i<=ny;i++) 7 { 8 if(map[v][i]&&!visit[i]) 9 {10 visit[i]=true;11 if(!dy[... 阅读全文

posted @ 2013-01-27 22:20 acoderworld 阅读(43) 评论(0) 推荐(0)

2012年10月13日

【转】大数据量,海量数据 处理方法总结

摘要: 转载请注明出处:http://duanple.blog.163.com/blog/static/7097176720091026458369/作者phylips@bmy参考文献:http://blog.csdn.net/jiaomeng/archive/2007/03/08/1523940.aspx d-Left Hashinghttp://blog.csdn.net/jiaomeng/archive/2007/01/27/1495500.aspxhttp://en.wikipedia.org/wiki/Bloom_filterhttp://hi.baidu.com/xdzhang_china 阅读全文

posted @ 2012-10-13 16:17 acoderworld 阅读(89) 评论(0) 推荐(0)

2012年10月4日

【转】HDU 题目分类

摘要: 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 1202 1205 1209 1212(大数取模) 1216(链表)1218 1219 1225 1228 阅读全文

posted @ 2012-10-04 18:11 acoderworld 阅读(37) 评论(0) 推荐(0)

导航