随笔分类 -  ACM笔记

[总结-动态规划]经典DP状态设定和转移方程
摘要:马上区域赛,发现DP太弱,赶紧复习补上。 普通DP CodeForces 546D Soldier and Number Game 筛法+动态规划 待补 UVALive 8078 Bracket Sequence 问以每个字符为左端点的最长括号序列是多长。(包括尖、花、中小括号) 状态 :设dp[i 阅读全文

posted @ 2018-10-09 22:06 糖栗子 阅读(2941) 评论(0) 推荐(1)

[笔记-字符串问题] 字符串基础都不是
摘要:"[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher" "[NWPU][2018暑假集训]day13" 模版 KMP算法 应用于单个模式串匹配,求最小循环节等 我的观点来看KMP的fail数组 就是值域和定义域都是串的长度,返回值是这个串能够匹配后缀的最大前缀串长度 但 阅读全文

posted @ 2018-08-02 19:40 糖栗子 阅读(232) 评论(0) 推荐(0)

[笔记-计算几何] 计算几何基础
摘要:[kuangbin带你飞]专题十三 基础计算几何 "[NWPU][2018暑假集训]day12" 模版 我们直接一点 cpp define PI 3.1415926 include include include include using namespace std; const double e 阅读全文

posted @ 2018-08-01 20:48 糖栗子 阅读(400) 评论(0) 推荐(0)

[专题-数论]数论基础
摘要:数论大礼包: "[NWPU][2018暑假集训]day10&11 素数+GCD" "[NWPU][2018暑假集训]day10&11 逆元+快速幂" "[NWPU][2018暑假集训]day10&11 同余+欧拉函数" "[NWPU][2018暑假集训]day10&11 勾股数+佩尔方程" 模版 求 阅读全文

posted @ 2018-08-01 20:34 糖栗子 阅读(243) 评论(0) 推荐(0)

[专题-图论]最短路
摘要:kuangbin最短路专题链接: 专题题解 写题解的就是比较好的题了 |||| : |: |: 1 / 3|POJ 2387|Til the Cows Come Home 1 / 1|POJ 2253| "Frogger" 找间隔最小的路径 1 / 6|POJ 1797|Heavy Transpor 阅读全文

posted @ 2018-06-09 14:45 糖栗子 阅读(198) 评论(0) 推荐(0)

[笔记-图论]Floyd
摘要:用于 可带负权 的 多源最短路 时间复杂度O(n^3) 注意一定不要给Floyd一个带负环的图,不然就没有什么意义了(最短路不存在) 模板 cpp // Floyd // to get minumum distance[a][b] from a to b, despite of negtive di 阅读全文

posted @ 2018-03-14 14:17 糖栗子 阅读(164) 评论(0) 推荐(0)

[笔记-图论]Bellman-Ford
摘要:用于求 可带负权 的 单源有向图 优化后复杂度O(nm) 如果图中存在负环,就不存在最小路 这种情况下,就一定会有一个顶点被松弛多于n 1次,Bellman Ford可直接判断出来 ~~我在网上看到SPFA,发现就是优化后的Bellman Ford算法,没什么特别的~~ 常见有三种版本的Bellma 阅读全文

posted @ 2018-03-14 14:01 糖栗子 阅读(199) 评论(0) 推荐(0)

[笔记-图论]Dijkstra
摘要:用于求 正权有向图 上的 单源最短路 优化后时间复杂度O(mlogn) 模板 cpp // Dijkstra // to get the minumum distance with no negtive ways // // Description: // 1. get vertex with mi 阅读全文

posted @ 2018-03-14 13:43 糖栗子 阅读(190) 评论(0) 推荐(0)

算法题目签到表
摘要:昨天打校内选拔赛,居然有个进制转换的题目WA 回来才发现输入有问题,超不爽 所以我想每天刷几道题目,解心头之恨 03 12 UVA 1395 Slim Span luogo P1908 逆序对 UVA 10048 Audiophobia UVA 247 Calling Circles 03 13 U 阅读全文

posted @ 2018-03-12 11:20 糖栗子 阅读(178) 评论(0) 推荐(0)

[笔记-数据结构]树状数组
摘要:用于 单点更新、区间查询 树状数组有两个操作:单点更新、区间查询 空间复杂度O(n),单点更新、区间查询时间均为log(n) 对于二维的区间来讲,我们可以使用二维树状数组 个人理解 蓝书翻到P196看图 更新过程 从11(1011)开始向上爬,作为右子树每次计算父节点(i =lowbit(i)) 至 阅读全文

posted @ 2018-02-23 15:45 糖栗子 阅读(133) 评论(0) 推荐(0)

[笔记-数据结构]哈希表
摘要:哈希表用来 插入数据,查找数据 基本操作也就是 插入和查找 空间复杂度O(n),时间复杂度可看为线性复杂度O(n) std::map使用红黑树的结构,插入查找O(log(n))的时间复杂度 不知道acm让不让用hash_map头文件 我猜不行吧,不然为啥要手写哈希表呢 模板 这里为了方便,写成了结构 阅读全文

posted @ 2018-02-23 15:32 糖栗子 阅读(209) 评论(0) 推荐(0)

[笔记-数据结构]并查集
摘要:并查集是用来 合并同一特征的元素、查找元素属于那个特征集合 的数据结构 并查集有两个操作: 合并集合,查找代表元 空间复杂度O(N),合并的时间复杂度是查找的两倍,查找的时间复杂度为O(M Ackerman^ 1(N)) (通俗的讲:Ackerman^ 1(N)小于4,所以大概看成O(1)的算法好了 阅读全文

posted @ 2018-02-23 15:07 糖栗子 阅读(142) 评论(0) 推荐(0)

【错题本】刷算法题中出现的一些错误和小技巧
摘要:想一想还是弄一个错题本吧,acm和c++的错误统一记录 2018 02 08 01:13 "HDU 1263 水果" 不要再习惯用cin和string做搭配 了 也 不要企图把char 作为stl::map的键 了(虽然可行,附上代码,以后也别用) "POJ 2833 The Average" 记不 阅读全文

posted @ 2018-02-08 00:49 糖栗子 阅读(218) 评论(0) 推荐(0)

[笔记]利用二进制数进行集合运算
摘要:二进制数可方便进行集合的表示与运算 一、如何表示集合 二进制数的每一位代表了此处的开关状态,以此来表示集合中元素的有无。 一些特殊集合的表示:全集 2^n 1, 空集 0 。 1.如何向集合中插入元素 若要插入第 n 号元素,只需向代表集合的二进制数加上 2^n 即可。 2.如何读取集合中元素的有无 阅读全文

posted @ 2017-10-22 08:54 糖栗子 阅读(1276) 评论(0) 推荐(0)

导航