![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm算法
文章平均质量分 70
熊小桔
我就是我,一个爱奋斗的我。加油。。。。
展开
-
前辈给的经验
第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (代码可在五行以内) 5转载 2012-12-04 21:24:15 · 359 阅读 · 0 评论 -
1010 Tempter of the Bone dfs
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1010刚开始拿着这个题目 开始用bfs 但是一提交就错 不知道为什么 很纠结哦 但是最后还是看别人解题报告才知道哦 题意 是给一个起点 S 总点D 求S 到 D点的距离哦 但是时间要切好等于 t 时,奇偶剪枝:是数据结构的搜索中,剪枝的一种特殊小技巧。原创 2013-04-27 20:20:23 · 558 阅读 · 2 评论 -
hdu 4160 Dolls 二分图最小路径覆盖
#include#include#includeusing namespace std;#define max 501struct node { int wi,li,hi;};node doll[max];bool map[max][max];bool mark[max];int link[max];int n;int findpath(int u) //寻找增广原创 2013-05-16 18:10:59 · 527 阅读 · 0 评论 -
poj 2289 Jamie's Contact Groups 二分图多重匹配
题目 http://poj.org/problem?id=2289这是我做的第一个 多重匹配 所以参考哦 别人代码 感觉不错http://www.cnblogs.com/-sunshine/archive/2012/08/30/2664310.html其实这个多重匹配有点像匈牙利算法 思想是一样的 题意:给定一个规模为n的名单,要将名单中的人归到m个组中,给出每个人原创 2013-05-16 20:59:47 · 876 阅读 · 0 评论 -
hdu4556 西山居四 Stern-Brocot Tree
题目http://acm.hdu.edu.cn/showproblem.php?pid=4556这个真的很纠结 以前老师叫我们看一下数论 没有 看导致不会做哦 每一次都是超时哦 很纠结 所以今天看了一下别人的代码发现是 欧拉函数哦 其实当时我也想出是求每个数的质数哦,但是每次都是超时哦,没办法 下次一定要看看数论哦 具体ac代码#include#inclu原创 2013-05-20 19:24:52 · 967 阅读 · 0 评论 -
hdu 1532 Drainage Ditches 最大流
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1532这是最大流的一个简单题哦 我是用Edmond-Karp来做的哦 思想是每次找出一条最短路,然后在这条最短路里找出一条边最小的权值哦,这条路上的边全都都减去最小权值,也是更新哦。重复上述过程,直到没有最短路径出现哦。。。具体看代码#include#include#includ原创 2013-05-22 19:09:18 · 474 阅读 · 0 评论 -
hdu 3549 Flow Problem 最大流
题目 http://acm.hdu.edu.cn/showproblem.php?pid=3549这个也是简单的最大流问题哦,刚开始还错了二遍 一直搞不懂哪里错了 老是时间超时了 最后发现原来是第一个点没有标记哦我说呢 数据这么小怎么可然,下次一定要注意了 呵呵 其实跟hdu 1532差不多哦下面具体代码#include#include#include#incl原创 2013-05-22 19:57:49 · 503 阅读 · 0 评论 -
hdu2444 二分匹配 The Accomodation of Students
题目 http://acm.hdu.edu.cn/showproblem.php?pid=2444关键这个问题你要知道什么是二分 就是一条直线相连的二个点 一个在集合A 另一个在B 所以你首先判断是不是二分 可以用二种颜色来区别哦 。求最大匹配 你可以把A B 集合看成是一个集合哦 然后来计算这个集合的最大匹配#include using namespace st原创 2013-05-12 21:03:05 · 516 阅读 · 0 评论 -
hdu 1083 简单的二分匹配 Courses
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1083这是一个简单的求最大匹配的问题有二种方法 ac1#include#include#includeusing namespace std;bool map[101][301];bool mark[301];int cx[101],cy[301]; //cx表示有多少门课原创 2013-05-12 21:07:21 · 536 阅读 · 0 评论 -
hdu 1181 变形课 dfs
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1181 #include#include#includeusing namespace std;char sc[26][26],mark[26]; ///这个地方很巧哦char a[10000][50];int flag;void DFS(int x){ if(x==原创 2013-04-27 21:27:12 · 675 阅读 · 0 评论 -
hdu 2102 A计划
题目 http://acm.hdu.edu.cn/showproblem.php?pid=2102刚开始做这个题目时候呢 不会做 不知道怎么样下手 看了一下别人代码又觉得很容易哦 在这里要注意二个地方 1. 当某个位置 第一层 第二层都是 # 时 要小心 就可以把它们当做是 * 一堵墙 呵呵原创 2013-04-19 18:15:27 · 374 阅读 · 0 评论 -
hdu 1495 非常可乐 bfs
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1495刚开始那做这个题 怎么也想不出为什么可以用bfs 我认为做这个题目 你想到有6种情况哦 假设s 是瓶子 n,m 是有容量的杯子, s可以倒入n中 ,s也可以倒入m中 n可以倒入s中 n 也可以倒入m中 m也是一样的哦 所以就有六种情况哦。。。原创 2013-04-26 20:18:26 · 498 阅读 · 0 评论 -
杭电1575问题 矩阵相乘问题
今天听了学长讲了一下矩阵相乘 突然感觉自己好像不懂哦 幸亏学长细心教导 呵呵http://acm.hdu.edu.cn/showproblem.php?pid=1575要想学矩阵相乘 首先学一下 3^1024怎么做啊 你可然觉得很简单 但你一定会超时哦 所以要小心我感觉这个方法特好 int Pow(int a, int k){ i原创 2012-12-19 22:01:40 · 408 阅读 · 0 评论 -
hdu 1058 Humble Numbers
http://acm.hdu.edu.cn/showproblem.php?pid=1058对于这个问题呢 我一直纠结了很久 毕竟我刚刚学算法哦 很多东西都不会 我刚开始的思路是这样的 一个一个来找 素因素是 2,3,5,7 的都可以 后面发现 这样有问题太大了要从一一直到2000000000 做错了。。 最后百度看一下别人怎么做的 其实™原创 2013-03-08 20:38:47 · 473 阅读 · 0 评论 -
关于错排问题 hdu2048
http://acm.hdu.edu.cn/showproblem.php?pid=2048首先我们来找一下规律枚举法当只有一个人的时候 就不可然排错 所以D1=0 ; 当有二个人的时候只有1种情况排错a占了b的位置,b占了a的位置 D2=1。当有三个人的时候 一个有6种方法排列 但是所有人全都排错的只有2中 b a c 和c a b D3=2.原创 2013-03-02 17:10:46 · 674 阅读 · 0 评论 -
hdu 1686 kmp Oulipo
http://acm.hdu.edu.cn/showproblem.php?pid=1686对于我这种刚开始学的人来说 刚开始我觉的很难 不会做哦 但是看了一下别人的一下子就知道了 还是不是太熟了 需要加强练习哦 呵呵 其实这是一道简单的kmp 的算法 只要你在index_kmp() 将 i 的值一直小于N 就可以了 还是看看我具体原创 2013-04-02 21:06:30 · 511 阅读 · 0 评论 -
hdu kmp 1711 Number Sequence
http://acm.hdu.edu.cn/showproblem.php?pid=1711在这道题目中 我纠结了很久 一直不能提交 测试能成功 为什么交不了呢 我看了一下别人代码 发现差不多 但是最后还是发现有问题 在kmp()函数中if(j==0||s2[i]==s1[j]) 我把 j 写成了0了 其实 j=-1的。所以如果交不了 可然还是自己的错原创 2013-04-02 21:12:38 · 403 阅读 · 0 评论 -
hdu 1874 畅通工程续
http://acm.hdu.edu.cn/showproblem.php?pid=1874这个是一个很简单的 最短路问题 #include#include#includeusing namespace std;int a[202][202];bool v[202];int dis[202];#define INF 999999999int n,m,s,t;原创 2013-04-11 17:56:23 · 369 阅读 · 0 评论 -
hdu 3790 最短路径问题
题目 http://acm.hdu.edu.cn/showproblem.php?pid=3790看这个题目要求最短路 ,而且如果最短路有多条 ,找出一条费用最小的。所以我们用一个数组来记录 边及没条边的费用。。。。然后我们按照求最短路的方法来求, 就是在更新每条边的时候,顺便来找出路径长度相同,但是费用小的。。。具体代码 #include#include#inc原创 2013-04-16 18:20:00 · 496 阅读 · 0 评论 -
hdu 1372 bfs Knight Moves
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1372这是一个简单的搜索问题 题目意思是 一只马从一个点到另外一个点就可以了 你要知道象棋中马是怎么走的。其他的就可以了,刚开始做这个题目的时候 ,由于标记数组为mark[9][9] 但是我在初始化的时候for(int i=0;i<=9;i++) for(int j原创 2013-04-24 19:13:07 · 483 阅读 · 0 评论 -
hdu 1068 Girls and Boys 匈牙利
题目 http://acm.hdu.edu.cn/showproblem.php?pid=1068题意求出男孩和女孩没有暧昧关系的人数哦 刚开始错了数组开的太大了 超内存了。。。这个是先求出最大匹配数 再用总的人数减掉就是答案了思路: 最大独立集点数 = N - 最大匹配数具体代码是 #include#include#includeusing原创 2013-05-13 21:21:14 · 642 阅读 · 0 评论