- 博客(6)
- 收藏
- 关注
原创 二分图匹配(持续更新)
二分匹配核心算法:匈牙利算法(最大流的写法后续更新)先上匈牙利算法基础模板(求最大匹配数)bool lj[MAXN][MAXN], vis[MAXN];int link[MAXN];int n;bool find(int x) { //算法核心,深搜操作 for(int i=0; i<n; ++i) { if(lj[x][i]&&!vis...
2019-03-28 18:34:42 185
原创 欧拉筛+欧拉函数+莫比乌斯函数
原理、思想通过已知素数及当前自然数筛掉后面的合数。同时让每一个合数只被筛去一次,摒弃重复的筛除操作。记忆要点两个数组:一个vis[], 一个prime[]。循环从2开始, 直到所给的上限n处。(效率为nlogn)无论当前数是否...
2019-03-24 10:25:53 374
原创 最短路(最长路)
Dijkstra注意:不能处理负边权, 有负边权就换SPFA。以下代码以HDOJ 1874(畅通工程续) 为例简洁好理解的堆优化代码。#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;cstdlib&gt;#include&lt;cmath&gt;#include&l
2019-03-12 18:34:14 408
原创 树状数组(一维+二维)
树状数组原理思想利用二进制提高对大数组的操作速度,但存储空间不变,依旧需要开出原数组大小。主要函数(lowbit、add、sum)1.lowbit(int a)用途:提取数字a的最低位1;原理:理解a&amp;amp;amp;amp;amp;amp;amp;amp;(-a);代码:int lowbit(int i) { return i&amp;amp;amp;amp;amp;amp;amp;amp;(-i);}2.add
2019-03-05 20:49:44 339
原创 字典树(Trie树)
字典树(Trie树,单词查找树)基本要点根节点不包含字符,除根节点外每一个节点都只包含一个字符;从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;每个节点的所有子节点包含的字符都不相同。基本操作查找、插入、删除实现过程从根节点开始搜索(先记住开头);将单词的每个字母一一进行取出并进行操作(各种操作);实例分析Phone List(HDOJ 1671)...
2019-03-05 18:27:13 224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人