![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM算法总结
文章平均质量分 53
LittleLuiLui
只是一只爱着代码的猿猿
展开
-
广度搜索BFS hdu-1312
#include#include#includeusing namespace std;int W,H;char maze[20][20];int S_x,S_y;int sign[20][20];int x_dir[4]={0,0,1,-1},y_dir[4]={-1,1,0,0};int number;typedef struct point{ int x;原创 2015-08-08 07:24:05 · 379 阅读 · 0 评论 -
DFS(深度优先搜索)___BFS(广度优先搜索)过程图解
深度优先搜索为方向穷竭搜索;广度优先搜索为区域穷竭搜索;原创 2015-08-05 10:36:40 · 482 阅读 · 0 评论 -
深度搜索DFS hdu-1010
#include #include int m,n,t,flag;int sx,sy,ex,ey;int xmove[4]={0,1,0,-1},ymove[4]={1,0,-1,0};char a[8][8];int temp;void dfs(int x,int y,int tt){ int i; int tx,ty; if(x==ex&&y==ey原创 2015-08-04 17:51:22 · 840 阅读 · 0 评论 -
基于DFS求无向图的割点及桥(割边)算法总结 POJ_1144题解
1.割点,桥(割边)定义:若v2(v1的后继节点)有且仅有反向边最远连接到v1,那么删除v1后不连通,v1是割点。作为一种特殊情况,如果v2及其后代通过反向边只能连回v2自己,那么只要删除edge(v1,v2)整个图就不连通了,那么edge(v1,v2)就是桥。2.前提:在DFS深搜树中:3.定理 : 在无向图连通图G的DFS树中,非根节点v1是G的割点当且仅当v1存在一个子节原创 2015-08-13 16:43:21 · 719 阅读 · 0 评论 -
Floy-Warshall算法例题 HDU_1596题解
#include #include #define Max(x,y) ( (x) > (y) ? (x) : (y) )using namespace std;const int maxn = 1005;int n;double map[maxn][maxn];double s[maxn][maxn];void F_W(){ for(int k =原创 2015-08-12 17:00:38 · 1011 阅读 · 0 评论 -
Prim算法总结
Prim算法模版//需包含头文件//需要用到结构体//需定义const常量INF为无穷大(const int INF = 0xffffff)//需建立以动态数组为元素的一维数组此处为w[]//需定义bool类型的数组intree[]来记录某点是否已加入所求点中//需对数组mindist[]进行初始化,使mindist[]中每个元素都为无穷大int Prim(int s)原创 2015-08-12 00:32:24 · 571 阅读 · 1 评论 -
Dijkstra算法总结
类似于Prim算法唯一区别为:mindist[]的意义变为了原点到其他点的距离Dijkstra算法模版:int Dijkstra(int s,int e){ int vex,addNode,tempMin; intree[s] = true; for(unsigned int i = 0;i < G[s].size();i++) {原创 2015-08-12 00:48:48 · 349 阅读 · 0 评论 -
关于用创建vector<type> name类型的一维数组(vector<type> name[])来存储图(邻接表法储存)
vector所在头文件为;vector name作用为创建一个类型为type,名字为name的动态数组对象,且下标从0开始;vector对象的函数push_back()为在该name动态数组尾部加入一个同类型的元素; begin(),end()为迭代器(略); s原创 2015-08-11 17:39:10 · 297 阅读 · 0 评论 -
深度搜索DFS hdu-1312
//迷宫maze[20][20]//宽度W,高度H//计数变量count//方向数组x_dir,y_dir#includechar maze[20][20];int W,H;int count=0;int x_dir[4]={0,0,-1,1},y_dir[4]={1,-1,0,0};void dfs(int y,int x){ if(x>=W||y>=H||x<0||原创 2015-08-07 21:37:42 · 427 阅读 · 0 评论 -
贪心 HDU 2037题解
HDU 2037贪心1、确定候选集: 使用结构体存储的所有节目的开始时间与结束时间信息。 2、贪心策略: 对候选集进行预处理:将同一节目的开始时间与结束时间以结构体的方式存储,对所有节目的结束时间由小到大进行排序处理。 遍历一遍排好序的数组:首先将数组第一个位置的节目加入到解集中,且记录此节目的结束时间,再依次向后找当满足当前节目的开始时间比之前刚加入到解集中的节目的原创 2017-02-15 17:19:46 · 615 阅读 · 0 评论