自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 欢迎使用CSDN-markdown编辑器

图论报告浅谈最短路标签(空格分隔): 算法报告 图论 最短路内容最短路 Floyd v3 v^3 Bellman-ford v∗e v * e Dijkstra v2 v^2 Dijkstra Heap优化 vlogv+e∗logv v\log v + e * \log vSFPA v∗ev * eA*所有节点对最短路 矩阵乘法 v4 v ^ 4 Floyd-Warshall v

2017-05-09 17:31:30 572

原创 【DayDayUp】【算法_图_最短路_之二_SPFA最劣、Dij堆优化&Johnson(结点对最短路)】(待续)

【坚持不能偷懒】——好吧,已经偷懒很久了……——M边数、N点数关于SPFA的一些想法:SPFA实际上是一种看脸迭代法在SPFA过程中,一旦出现某个在真实最短路上出现过的点因为它的权值已经达到了最优,所以在以后的过程中,不会再次出现——关于Dij的heap优化——DIJ的heap优化,每次均以最优来迭代,但消耗了寻找最优的时间(logN)Dij的操作有两个

2017-04-18 12:07:35 738

原创 【DayDayUp】【算法_图_哈密顿回路_之一_回溯法】(待补完)

刚刚搞了篇欧拉回路,现在趁热再搞个哈密顿回路……欧拉回路是跑光所有的边再跑回来,一条边跑且仅跑一遍哈密顿回路是跑完所有的点再跑回来,路过的节点,跑且只跑一次哈密顿路径问题在上世纪七十年代初,终于被证明是“NP完备”的。据说具有这样性质的问题,难于找到一个有效的算法。实际上对于某些顶点数不到100的网络,利用现有最好的算法和计算机也需要比较荒唐的时间(比如几百年)才能确定

2017-03-21 13:40:20 3569

原创 【DayDayUp】【算法_图_欧拉回路_之一_Fleury (弗罗莱) 算法】

【坚持不能偷懒】通过图(无向图或有向图)中所有边且每边仅通过一次通路称为欧拉通路,相应的回路称为欧拉回路。具有欧拉回路的图称为欧拉图(Euler Graph),具有欧拉通路而无欧拉回路的图称为半欧拉图。——百度百科现在开始通俗地扯扯。什么是欧拉图捏,就是从【一个点】出发把【每条边】刷【一】发 且 只刷【一】发然后【回到这个点】满足这样条件的路径,就是

2017-03-21 13:23:46 834

原创 【DayDayUp】【算法_小技巧之一_建图】

【坚持不能偷懒】不是很想看算法…… 总结一些小技巧以下 E指边数 V指点数首先是一个常用的 Addedge (添加边)裸的建边是开一个二维数组 edge [ V ] [ V ]这需要开 V^2的空间然而除了完全图 M通常用链表的方式添边,这样能使边的空间为M然而写链表太累,一般是这么写int e_count;int head[N]; // 初

2017-03-21 11:55:07 235

原创 【DayDayUp】【算法_图_网络流_之三_最小费用最大流】(待补全)

【坚持不能偷懒】网络流这块有点懵逼,所以一起搞一下最小费用最大流,下面介绍的是常规做法,比较裸思路是:记Flow为剩余流量,Cost为单位流量价格,S为源点,T为汇点每次在【剩余图】中增广一条【最小单位流量费用】的增广路怎么做到呢,凡是Flow不为0,表示一条路可以走然后我们找一条S到T的(可以走的,最小Cost和的路)那么从S到T的【单位流量消耗】是最小的

2017-03-19 11:45:30 542

原创 【DayDayUp】个人经验_Python_正则表达式_之一

【坚持不能偷懒】这个分类属于个人经验,顺手记下每天的一些情况,自己看得懂就行……每天都得看点东西……今天看了遍正则表达式,又拿python出来练练手r'((?Phttp:\/\/\w+\.(?:(?:png)|(?:jpg)|(?:gif)))(?P=word))'这是我用于测试的一个串(?P\d)是命名,这个保存下来的,是匹配出的结果,而不是一个模式(?P=n

2017-03-18 18:39:13 348

原创 【DayDayUp】【算法_图_网络流_之二_Dinic层次图与最小费最大流的概述】(待续)

【坚持不能偷懒】【Dinic与层次图】突然发现网络流都是套个Dinic的板子,然后啪啦啪啦就完成了但知其然不知其所以然是好不爽的一件事……所以把网络流看了一遍上回书说道,野生网络流(EK算法)的复杂度 是 O (VEE)这个效率是比较渣的……所以就需要改进一个常用的算法,也是我长期闭着眼睛套的板子就是Dinic朴素的Dinic,就是在此基础上,加入一

2017-03-16 11:24:28 768

原创 【DayDayUp】【算法_图_强连通_之一_Kosaraju算法和Tarjan算法】

【坚持不能偷懒】譬如一个有向图,V个点,E条边如果一个区域中的每个点都能到达任意另一个点则称这个区域强连通【相对朴素的Kosaraju算法】需要对图Dfs两发第一遍Dfs在dfs时记录一个时间(下面栗子里,括号里为时间)譬如A->B->C B->D这样的图我搜索A(1) ->搜索B(2) ->搜索C(3)这时候,发现没了,退出 所以C变成(3

2017-03-16 10:57:00 499

原创 【DayDayUp】Python3_爬虫_入门前准备(吐槽)

【坚持不能偷懒】感觉写Blog就是在偷懒哈……想学下怎么写爬虫先在菜鸟教程上看了下Python3然后去官网down了个py,傻瓜式安装,挺好然后看爬虫发现要想写得好,技巧不能少于是要看正则表达式……然后在http://deerchao.net/tutorials/regex/regex.htm#mission上大致看了遍中午试图用Py写代码,登录oj平台

2017-03-15 16:35:18 324 2

原创 【DayDayUp】【算法_图_网络流_之一_增广路】

【坚持不能偷懒】(概念简单说明,具体还请自行百度……)网络流:常见问题:最大流一个图,有向图,边上有容量上限,许多点,起点S,终点E从S到E,最多流量是多少核心思想:【增广路】【剩余图】【反向边】朴素地说我找完一条路了,把流量去掉则加入【反向边】重新做图做出的图就是【剩余图】如果我还能找到一条流量不为0的路径即是一条【增广路】

2017-03-15 16:27:18 414

原创 【DayDayUp】【算法_搜索_A* 和 IDA*】

【坚持不能偷懒】【A*——A Star算法(启发式搜索)】记起点为 Start 终点为 Endf(n) = g(n) + h(n)f(n)—— 经由状态 n 到 E 的【预计代价】g(n)—— S 到 n 的【实际代价】h(n)—— n 到 E 的 【预计代价】 —— 预计代价自行使用函数搜索方法:根据节点的 f(n)每次选中 f(n) 最小的点加入搜索搜索

2017-03-14 22:42:18 350

原创 到底怎么分专题,心好累…… 匈牙利算法

裸的匈牙利POJ 3692POJ 3041POJ 1466POJ 1274POJ 2446

2016-12-30 10:57:09 222

原创 POJ 3714 最近点对

POJ3714题意 N*2个点前N个一类 后N个一类问两类间最短距离方法:判断距离时,如果标记不一致,视为无穷大(inf)具体讲解参看 http://blog.csdn.net/lonelycatcher/article/details/7973046/【】首先对点 作 X 排序然后对两边分治两边的 最短 d1 d2 d=min(d1,d2)我们

2016-12-30 10:42:06 365

原创 【DayDayUp】【算法_图_最短路_之一_Dijkstra和几种优化姿势】

V 定点数 E 边数【原生DIJ】从初始点出发 V 次循环每次对当前点扩展【有效边】 (如果直接对所有点刷 是 V ,而用链表刷有效边是总计为E ) 更新已知最短路  再取出【权值最低点】作为新点重复 (寻最小值 V )故复杂度为  V * V  + E【DIJ 的 Heap 优化】考虑到每次找【权值最低点】这一步,对其进行堆优化其具体措施是写一个堆然后

2016-12-19 16:41:18 372

原创 POJ3692 二分图匹配【入门】

G个女孩 彼此认识B个男孩 彼此认识某些男孩和女孩也互相认识找最多的集合 集合内两两认识——————————————即求最大的完全子图 也就是最大团而二分图的最大团即为其补图的最大独立集二分图的最大独立集 = V(顶点数) -  M (最大匹配数)为什么呢……譬如我们找到了一个M那么 外面的 V - 2*M 个点 必然是两两无匹配的 否则可以

2016-12-16 12:00:22 200

原创 ACM——划水ing——背包讨论

传统背包问题根据 重量 W 价值 V 物品个数 S对于背包剩余容量 C逐一枚举物品,对 0-C  依次往后 dp所以复杂度为  S*C而除此我们还可以暴力枚举 对于每个物品选择或不选择其复杂度为2^S如果分别暴力枚举前一半 和 后一半再针对前一半 排序后一半的总W后 二分查找其复杂度可以优化为记 P = 2^(S/2)复杂度 = P+P+

2016-12-16 09:17:36 284

原创 【从0开始ACM】【LV2】【数据结构】【 AC自动机】

//POJ 1204 AC自动机模板题 #include #include #include #include #include using namespace std;#define LL long longint L,C,W,root,last;char mp[1005][1005];struct node{ int Next[26]; int fail,count;

2016-10-25 16:22:17 344

原创 【从0开始ACM】【LV3】【数学】【 FFT 快速傅里叶变换 && NTT 更高精度的 快速数论变换】

Discrete Fourier transform DFT 离散傅里叶变换 ——一种过程InverseDiscreteFourierTransform IDFT 离散傅里叶逆变换Fast Fourier Transformation FFT 快速傅里叶变换 ——一种算法FFT 在ACM 中解决啥呢多项式乘法A*B=CA = a0 + a1 x^

2016-10-10 15:49:06 3365 2

原创 高斯消元(整数型)模板 && 高斯消元(实数型)模板 && 高斯消元(异或型)

#include#includeusing namespace std;#define LL long long#define Len 105//从1开始。不使用0位置。 struct Martix{ LL m[Len][Len]; LL ans[Len]; //最终解 int con; // 0 表示唯一解 1 表示多解 2 表示无解 }Ma;int m;//矩阵

2016-08-27 15:23:39 589

原创 ACM中的博弈论入门(七) NIM的证明

额,这是我个人折腾的证明……要证明:————————————————————————A1^A2^A3^A4……^An==kk!=0必然存在一个 A【i】可以调整A【i】使得 A1^A2……^A【i】^……^An==0————————————————————————那么,方法是【针对二进制,从高位向低位,找到第一个存在奇数个1的位置,所有的位置是1的,都可以作

2016-07-17 10:38:14 316

原创 ACM中的【数学知识】之【矩阵相关】(一)(

【未优化的矩阵乘法】Mat mtMul(Mat A,Mat B){ memset(temp2.a,0,sizeof(temp2.a)); for(int i=0;i<n;i++) for(int j=0;j<n;j++) { for(int k=0;k<n;k++) { temp2.a[i][j]+=A.a[i][k]*B.a[k][j]; temp2.a[i][

2016-07-14 09:21:46 243

原创 ACM中的图论之【连通问题】(一) 强连通算法 Tarjan

http://blog.csdn.net/Danliwoo/article/details/51839290丹神博客上的图

2016-07-09 14:52:13 390

原创 ACM中的【数学知识】之【组合数学】(一) Polya定理的简单理解 POJ 1286

因为数学渣,Polya定理不是很清楚,但其实际操作大概如下。解释下上图。N个位置,K种颜色放置。x1,x2,x3,x4,……,xn(x1,x2,x3……xn)∈{1 2 3 4 …… K}则放置总数为上图|G| 是【所有的(被定义的)置换(也就是变化的方式)】的个数——被定义就是说,某变化为M,任意情况A经过变化M变为B,A和B算作同一种情况。k就是Kc

2016-07-09 10:56:23 1876 1

原创 ACM中的博弈论入门(六)POJ 3537 SG函数

pd[mex(i-3)^mex(x-i-2)]=1;这个步骤的意思是对于 Nim 而言分别为 A个 和 B 个其胜负处理上等效于A^B3 3 == 03 4 == 7

2016-07-08 20:12:34 317

原创 ACM中的博弈论入门(五)POJ 1704 转变为Nim博弈

题意转化为数就是保持0的前提下每次 对 任意数 减去 任意值谁无法减 谁输 策略:12  34  56 分组(偶数) 01 23 45 分组(奇数)组内得差  移动组内(即譬如 3 4 为一组,减少A4的值)【等效于Nim】移动组外 (即譬如 3 4为一组,减少A3的值)【那么A4必然可以减少同样的值】所以等效为 这样的Nim

2016-07-07 20:56:39 306

原创 ACM中的博弈论入门(四)POJ 2068 动态规划处理的博弈

先说另一个(瞎编):一堆一共S个每次限定可以取 a b c 个轮流谁取不了谁输Dp i j表示 i 面对 j个子的胜负情况 1 为胜局面 0 为负局面这时候如果 Dp [(i+1)%2]  { j-a , j-b, j-c }全为1  则赋值0若有一个0 则赋值1(必胜策略就是 走出某个到 0 的步)POJ 2068 不过是 人多了点DP方案同上

2016-07-07 20:10:15 321

原创 ACM中的博弈论入门(三) POJ 1740 开点脑洞……

这道题自己琢磨了会儿,没想出来,后来看见要两两考虑,有了思路……but,重点是题目没好好看……原来取完剩下的可以随意分……而不是只能扔到一堆去……考虑 a a 是 L 局面a a  b b 也是 (A操作 x 堆, B只要【对称】地操作另一个x堆,就会让A最后无路可走了…… 圆桌子放棋子 类似)那么情况可以划分成a a  b b  c c …… x1 x2 x3

2016-07-07 19:54:19 773

原创 ACM中的博弈论入门(一)POJ 2425 针对SG函数的理解

参考http://baike.baidu.com/link?url=_nqOpjCiUDnfUv0lgpXRsBG8KsGMLKDWKLfmQV6GzCZ_rzE76JVedOLOU9xRO6fRk_YWxwio0VwCV_jvxHR15q(百度百科)SG函数:定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0

2016-07-07 18:21:24 647

原创 ACM中的博弈论入门(二) POJ 2960 SG 函数的应用

题意:N个堆,每次可从一个堆中取走{a,b,c,……}个石子。不能取者负。 从 1 to 10000 构造sg 函数即可譬如  1 2 4可取对任意 x  其sg 由 x-1 x-2 x-4 (如果非负)决定而由于 是 从 1开始向上求的,就类似dp , 是记录的,无需递归计算……一开始用递归,写了好久……写恶心了……第二天重写,一刻钟搞定……#include #include#inc

2016-07-07 18:15:15 239

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除