
学习笔记
Ca1ma_hu
这个作者很懒,什么都没留下…
展开
-
最小生成树问题---Prim算法学习
一个具有n个节点的连通图的生成树是原图的最小连通子集,它包含了n个节点和n-1条边。若砍去任一条边,则生成树变为非连通图;若增加一条边,则在图中形成一条回路。本文所写的是一个带权的无向连通图中寻求各边权和最小的生成树。计算最小生成树的的方法是贪心,则必须满足一下两个条件:1)不能形成回路;2)在保证1满足的条件下添加尽可能小的边。实现的算法有两种,kruskal算法,prim算法,...原创 2018-04-07 15:06:16 · 639 阅读 · 0 评论 -
np问题(大数阶乘取模)
转自np问题题目描述: LYK 喜欢研究一些比较困难的问题,比如 np 问题。 这次它又遇到一个棘手的 np 问题。问题是这个样子的:有两个数 n 和 p,求 n 的阶乘对 p 取模后的结果。 LYK 觉得所有 np 问题都是没有多项式复杂度的算法的,所以它打算求助即将要参加 noip的你,帮帮 LYK 吧! 输入格式(np.in): 输入一行两个整数 n,p。 输出格式(np.out): 输出一...转载 2018-04-21 19:09:05 · 1402 阅读 · 1 评论 -
二分图匹配---匈牙利算法学习
这篇博文写的非常好 #include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1010;int Map[maxn][ma...原创 2018-04-30 15:41:50 · 116 阅读 · 0 评论 -
一些图论、网络流入门题总结、汇总
转自POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144该题亦放在搜索推荐题中P...转载 2018-04-23 18:27:19 · 197 阅读 · 0 评论 -
【DP专辑】ACM动态规划总结
转自动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力、建模抽象能力、灵活度。动态规划(英语:Dynamic programming,DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规...转载 2018-04-23 17:02:19 · 166 阅读 · 0 评论 -
C++ STL vector的学习
vector就是一个不定长数组,vector是动态数组,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素,使用vector之前,必须包含相应的头文件和命名空间。#include <vector>using namespace std;假设type是int, string, node(结构体)等vector<int>v;//保存整型变量vector<strin...原创 2018-04-06 12:02:38 · 248 阅读 · 0 评论 -
网络流---最大流(Edmond-Karp算法)的学习
先上个代码,等有空补充详解#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<algorithm>using namespace std;const int maxn = 1010...原创 2018-04-17 19:49:13 · 258 阅读 · 0 评论 -
图的存储(1)---邻接矩阵和邻接表的学习
在图论中,一般都要先把图的信息存起来,然后在运用算法去解题,在这一篇博客中,我只说两种存图方式,一个是邻接矩阵,另一个是邻接表;还有两种存图方式在下一篇博客给大家具体说。邻接矩阵:它的优点是好写,但是效率在数据达到1000以上就会超过1s的时间,所以要针对题目所给要求,来选择合适的存图方式。#include<iostream>#include<cstdio>#...原创 2018-04-04 20:13:11 · 162 阅读 · 0 评论 -
图的存储(2)---链式前向星的学习
本文的来源对链式的原理的很好的图解我对前向星的理解是:其实就是邻接表的另外一种表示方式,思想是一样的。学过数据结构的都知道图有两种存储方式,一种是邻接表,另一种是邻接矩阵,其实还有一种是前向星,而链式前向星是在前向星基础上优化后的。邻接表:效率高不好写;邻接矩阵:好写效率低;前向星:它是基于邻接表和邻接矩阵之间的;链式前向星:好写效率相对前向星要好多;先写前向星:构...原创 2018-04-03 19:46:54 · 213 阅读 · 0 评论 -
最短路问题---Dijkstra算法学习
Dijkstra又称单源最短路算法,就从一个节点到其他各点的最短路,解决的是有向图的最短路问题此算法的特点是:从起始点为中心点向外层层扩展,直到扩展到中终点为止。该算法的条件是所给图的所有边的权值非负。实现的Dijkstra的过程其实也是一种贪心。其实把下图看懂,基本Dijkstra的实现流程就差不多了算法流程如图:算法代码:#include<iostr...原创 2018-04-07 20:08:41 · 1170 阅读 · 1 评论 -
Dinic算法学习
转自此文虽为转载,但博主的网络流就是从这开始的,认为写的不错网络流基本概念什么是网络流在一个有向图上选择一个源点,一个汇点,每一条边上都有一个流量上限(以下称为容量),即经过这条边的流量不能超过这个上界,同时,除源点和汇点外,所有点的入流和出流都相等,而源点只有流出的流,汇点只有汇入的流。这样的图叫做网络流。所谓网络或容量网络指的是一个连通的赋权有向图 D= (V、E、C) , 其中V 是该图的顶...转载 2018-04-25 18:58:38 · 164 阅读 · 0 评论