09 2012 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1426#include<iostream>#include<string>using namespace std;const int maxn = 12;int map[maxn][maxn];bool row_used[maxn][maxn];//所在行bool low_used[maxn][maxn];//所在列//int xy_used[maxn][maxn];int flag;struct Node{ bool a[10];}xy_used[4][4];void Make_se 阅读全文
posted @ 2012-09-13 11:01 另Ⅰ中Feel▂ 阅读(176) 评论(0) 推荐(0) 编辑
摘要:题目传送门 :http://acm.hdu.edu.cn/showproblem.php?pid=3789题意: 给国家的奖牌榜排名,有四钟排序方式:排序有4种方式: 金牌总数 奖牌总数 金牌人口比例 奖牌人口比例 。输出要求排序国家的最佳排名,比如a国家的四种排名方式的结果是:1 2 3 4,那么应该输出1:1,表示用的是第一种排序,名次为1。还有几是并列排名问题,如果出现金牌总数为 100,90,90,80.则排名为1,2,2,4。题目种并不是要让你对所以的国家进行排序,他会给出让你排序的国家号,只需对这些国家进行排序即可,刚开始就是这里没理解好wa了好几次,我们只需要把这些需要排序的国. 阅读全文
posted @ 2012-09-09 11:13 另Ⅰ中Feel▂ 阅读(504) 评论(0) 推荐(0) 编辑
摘要:View Code 1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 const int maxn = 10000+10; 6 vector<int>map[maxn]; 7 int save[maxn]; 8 int index[maxn]; //入度 9 __int64 value[maxn]; 10 bool used[maxn]; 11 int n, m; 12 int flag; 13 __int64 sum = 0; 14 15 //初始化 16 void ini 阅读全文
posted @ 2012-09-09 11:00 另Ⅰ中Feel▂ 阅读(526) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<vector> 3 using namespace std; 4 5 const int maxn = 500+10; 6 vector<int>map[maxn]; 7 int save[maxn]; 8 int index[maxn]; 9 bool used[maxn];10 int n, m;11 int flag;12 13 //初始化14 void init()15 {16 for(int i=0; i<=n; i++)17 {18 map[i].clear();19 }20. 阅读全文
posted @ 2012-09-08 10:45 另Ⅰ中Feel▂ 阅读(155) 评论(0) 推荐(0) 编辑
摘要:拓扑排序:事情优先级排序special judgeAOV网络:有向无环图稀疏图:e<nlogn 用vector稠密图:e》n^2 用数组map[i][j] = 1 有边 0 无边思想:for(1~n) //循环n次找n个点 { 找入度为0且未标记的点;删除相连的点标记点; } 阅读全文
posted @ 2012-09-08 10:43 另Ⅰ中Feel▂ 阅读(192) 评论(0) 推荐(0) 编辑
摘要:#include<iostream>#include<vector>using namespace std;const int maxn = 500+10;vector<int>map[maxn];int save[maxn];int index[maxn];bool used[maxn];int n, m;int flag;//初始化void init(){for(int i=0; i<=n; i++){map[i].clear();}memset(used, false, sizeof(used));memset(index, 0, sizeof( 阅读全文
posted @ 2012-09-08 10:29 另Ⅰ中Feel▂ 阅读(115) 评论(0) 推荐(0) 编辑
摘要:一、概述 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。 通常,这样的线性序列称为满足拓扑次序(TopoiSicai Order)的序列,简称拓扑序列。注意: ①若将图中顶点按拓扑次序排成一行,则图中所有的有向边均是从左指向右的。 ②若图中存在有向环,则不可能使顶点满足拓扑次序。 ③一个DAG的拓扑序列通常表示某种方案切实可行。 【例】一本书的作者将书本中的各章节学习作为顶点,各章节的先学后修关系作为边,构成一个有向图。按 阅读全文
posted @ 2012-09-07 21:30 另Ⅰ中Feel▂ 阅读(226) 评论(0) 推荐(1) 编辑
摘要:1、堆栈栈是一种特殊的线性表,插入或删除栈元素的运算只能在表的一端进行,称运算的一端为栈顶,另一端称为栈底。队列也是一种特殊的线性表(基本操作都是线性操作的子集)。 特点:后进先出栈又称为“后进先出”的线性表,简称LIFO表。栈的链式实现是以链表作为栈的存储结构,并在这种存储结构上实现栈的基本运算。栈的链式实现称为链栈。2、有向无环图描述含有公共子式的表达式的有效工具;描述一项工程或系统的进行过程的有效工具。3、一些概念通常我们把计划、施工过程、生产流程、程序流程等都当成一个工程,一个大的工程常常被划分成许多较小的子工程,这些子工程称为活动。这些活动完成时,整个工程也就完成了。我们用一种有向图 阅读全文
posted @ 2012-09-07 21:30 另Ⅰ中Feel▂ 阅读(267) 评论(0) 推荐(0) 编辑
摘要:题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1162题意: 最小生成树View Code 1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 using namespace std; 5 6 const int maxn = 100+10; 7 int far[maxn]; 8 int n, m; 9 int k; 10 struct Edge 11 { 12 const bool operator<(Edge &n)c 阅读全文
posted @ 2012-09-06 10:33 另Ⅰ中Feel▂ 阅读(154) 评论(0) 推荐(0) 编辑
摘要:题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1102题意: 有N多个小镇,现在需要建路使所有小镇相通,间接跟直接,给你这些小镇直接的距离,但是有些小镇是已经有路相连的了,所以这两个小镇之间就不用再建路。方法: 用了prim跟kruskal都可以做出来,其实就是求最小生成树。只要把已经有路相通的两个小镇的距离改为0即可,不过在开数组时应该是开n*n*2,其他的就一如既往了。没什么特别要注意的!都是练习Kruskal跟prim算法的习题。View Code 1 #include<iostream> 2 #include<algo 阅读全文
posted @ 2012-09-06 10:25 另Ⅰ中Feel▂ 阅读(177) 评论(0) 推荐(0) 编辑
摘要:View Code 1 #include<iostream> 2 using namespace std; 3 4 const int INF = 0X3fffffff; 5 const int Max = 1005; 6 bool used[Max]; 7 bool vist[Max]; 8 int map[Max][Max]; 9 int dis[Max];10 int n, m;11 12 void Make_set()13 {14 for(int i=0; i<Max; i++)15 {16 for(int j=0; j<Max; j++)17 ... 阅读全文
posted @ 2012-09-01 00:27 另Ⅰ中Feel▂ 阅读(123) 评论(0) 推荐(0) 编辑