07 2014 档案
摘要:2647题是对工人排序问题,不是从头到尾排序,而是从尾到头排序;代码中用到vector和queue容器,权当练习。用广搜进行拓扑排序的逆运算。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const int...
阅读全文
摘要:教训:使用邻接表的时候一定要把邻接表的结构组定义的足够大,不能仅仅等于节点的个数,因为线段的数量往往远超过节点的数量。这个题目是拓扑排序练习,提高下理解。 1 #include 2 using namespace std; 3 struct TOPO 4 { 5 int from,to,ne...
阅读全文
摘要:Segment setProblem DescriptionA segment and all segments which are connected with it compose a segment set. The size of a segment set is the number of...
阅读全文
摘要:欧拉回路欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,称这条回路为欧拉回路。具有欧拉回路的图成为欧拉图。判断欧拉路是否存在的方法有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。无向图:图连通,...
阅读全文
摘要:最短路径问题Problem Description给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边...
阅读全文
摘要:A Bug's LifeProblem DescriptionBackgroundProfessor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature t...
阅读全文
摘要:魔咒词典Problem Description哈利波特在魔法学校的必修课之一就是学习魔咒。据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮助。给你一部魔咒词典。当哈利听到一个魔咒时,你的程序必须告诉他那个魔咒的功...
阅读全文
摘要:欧拉回路解释对于本题我们只要把每个点的度进行记录,判断是否存在奇数度的点,如果是就可以判断不是欧拉回路,如果不是就在一个点出发,进行dfs搜索,看能否走到起点,因为对于欧拉回路是一个闭合的回路,无论在哪个点出发都应当可以走回起点,所以一次性遍历必将经过每个点,如果出现没有走过的点,则不是欧拉回路。 ...
阅读全文
摘要:01背包问题动态规划应用acm1881毕业bg将必须离开的时间限制看作背包容量,先将他们由小到大排序,然后在排完序的数组中对每个实例都从它的时间限制开始(背包容量)到它的延长时间进行遍历; 1 #include 2 #include 3 #include 4 using namespace std;...
阅读全文
摘要:HDU TodayProblem Description经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,开始安度晚年了。这样住...
阅读全文
摘要:1 /* 2 ACM1811 可以利用拓扑排序和并查集解决,主要方式是利用并查集在输入数据的时候将所有相等的点合并 3 然后将处理完的数据统一按照一个符号方向连接成有向线段,利用的是邻接矩阵;接下来把每条边都进行履历 4 如果出现conflict,那么就会在去除所有入度的时候无法找到新...
阅读全文
摘要:题目要求:输入背包的容量v和物品的数量n;接下来n 行每行输入两个数字,第一个是物品质量,第二个是物品价值;输出背包容纳物品的最大价值。下面直接贴代码:回溯法 1 #include//之前必须知道背包容量和n个物品 2 #include 3 using namespace std; 4 class...
阅读全文
摘要:find the most comfortable roadProblem DescriptionXX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed...
阅读全文
摘要:这个题目好吓人呀!嘿嘿---不过仔细分析下就可以啦! 1 #include 2 #include 3 using namespace std; 4 const int N=550; 5 int Gra[11][4]={ 6 {1,0,0,1},{1,1,0,0},{0,0,1,1},{0,1,1,0...
阅读全文
摘要:这的确也是个大坑;其实在这是到很简单的最小生成树的题目,但是数据量却很大;用G++提交会超时,用C++不会超时,而且速度超快;又长见识了。可惜长得不是做题的能力,而是知道它到底有多坑。 1 #include 2 #include 3 using namespace std; 4 const int ...
阅读全文
摘要:通过这道简单而又坑人的题目,练习并查集和set 容器的使用;Is It A Tree?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionA tree ...
阅读全文
摘要:能用容器去做的用容器做,尽量少用数组,即使自己明确其数量的上届;#include #include#include//后来我用了一个map容器才能通过,如果自己建立数组就是不过,不知道到底哪里超出了;它明明说的是少于30个,现在做题题意也欺骗人了;using namespace std;const ...
阅读全文
摘要:题目原址:http://acm.hdu.edu.cn/showproblem.php?pid=2066大神必须飘过,我在这个题目里面学到了太多太多了。我提交了十六次,错了十二次,反复了这么久才解决内部的悬念。其实这个题目难度真心不大,但是却可以用很多种方式解决;我知道的当然是用DIJKSTRA算法去...
阅读全文
摘要:Dijkstra最短路径算法:dijkstra 算法的优点在于可以求出从一点到所有其他点的最短距离;input:5 71 2 101 3 201 5 302 5 102 3 54 5 204 3 30output:0 10 15 40 20//这是求的在这颗树中,1到所有点的最短距离 1 #incl...
阅读全文
摘要:dijkstra算法floyd算法最小生成树将所有的分成两个集合,一个是已经按照最小值排完顺序的,另外一个是没有排完顺序的,每次在查找从排完顺序的集合到未排完顺序的集合的最短路径,然后将未排完顺序的集合里面的值加入到已排完顺序的集合里。最小生成树算法:例题,第一行输入N和M,代表点的个数和他们之间存...
阅读全文
摘要:借助ACM1242题深入理解迷宫类最短路径搜索并记录路径长度的问题及解决方法;这是初次接触优先队列,尤其是不知道该怎样去记忆在结构体重自定义大小比较的符号方向,很容易混淆符号向哪是从大到小排列,向哪是从小到大排列;这非常向sort和qsort排序。原题链接:http://acm.hdu.edu.cn...
阅读全文
摘要:此题用深搜很快就解决,我用宽度搜索和优先队列仅仅是为了练习他们的用法;深搜法在注释内; 1 #include 2 #include 3 #include 4 using namespace std; 5 const int N=1000; 6 int map[N][N]; 7 int vis[N][...
阅读全文
摘要:The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could f...
阅读全文
摘要:联通块是指给定n个点,输入a,b(1 2 #include 3 using namespace std; 4 const int maxn=1010; 5 int p[maxn];//作为每个独立的点 6 int sum[maxn];//每个节点下面连接的点 7 int find(int x) ...
阅读全文
摘要:用c++类将单向链表类化,保存后可以方便的进行数的排序,插入操作; 调试成功的!#include using namespace std;class ListNode//创造节点成分{public: ListNode(int datavalue)//构造函数一 { value=datavalue...
阅读全文

浙公网安备 33010602011771号