
基础知识点总结
文章平均质量分 80
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 3018 欧拉路定理+并查集
题目:hdu 3018 题意: 有一些道路,每次只能走一遍,问最少几次走遍所有道路? 分析: 这题是经典问题:一笔画问题。解决这个问题,需要知道几个定理和定义: 1. 欧拉道路:能否从无向图中的一个节点出发走出一条道路,每条边恰好经过一次,这样的路线称为欧拉道路。 2. 如果一个图是联通的且最多只有两个奇度点,则一定存在欧拉道路。如果有两个奇度点,则必须从其中一个出发,回到另一个终止。如原创 2016-03-23 21:19:45 · 299 阅读 · 0 评论 -
数位dp入门
数位dp,一般的题意是要求把某个区间的符合某种特征的数的个数求出来,一般的思路就是把最大数按位分解,然后dfs依次判断每一位相应的数是否满足要求。 把以前做过的几道简单数位dp的题总结一下,可以作为入门题做做。 1. hdu 2089 不要62 题意:给定一个区间[a,b],问在这个区间中的数字,不包含4和62的数有多少个?分析:数据范围小于1e6,如果暴力的话,再加上分解因数,预处理的时间原创 2016-05-18 18:57:37 · 3006 阅读 · 0 评论 -
并查集的初步学习
用一句话描述一下并查集:并查集是用树来表示集合,他把每一个连通分量看做一个集合,其中包含了连通分量中的所有点,其中一个连通分量中的点都有共同的父亲结点。 具体的构造: 1. 初始化,每个点的父节点指向自己。 2. 如果两个点有边,那么就在一个连通分量中,所以指向同一个父节点。 3. 最后所有点都会指向各自的父节点,父节点相同的在一个连通分量中。 基本代码就一行:int findfa(int原创 2016-03-23 15:37:17 · 264 阅读 · 0 评论 -
KMP算法初步学习
准备系统的学习一下算法,就先行KMP开始吧!到目前为止,我能用到KMP的地方有三类题目: - 给出主串s和模式串t,查找t在s中出现的位置 - 给出主串s和模式串t,查找t在s中出现的次数 - 给出一个字符串t,求t中循环节的个数KMP算法的时间复杂度是O(n),因为主串s在匹配过程中是不回溯的,KMP算法的巧妙之处在于对模式串的预处理,当模式串的第j个位置与主串第i个位置不匹配的时候,他会回原创 2016-03-20 12:20:05 · 354 阅读 · 0 评论 -
差分约束系统入门
这篇主要给出几道题目,不了解差分约束系统的可以看一下我转载的这篇:差分约束系统详解简介简单说一下差分约束系统,顾名思义,差分约束就是给出一些条件,要求在满足这些条件的前提下,系统的可行解。当然约束的形式大多数是不等式,然后再满足给定不等式的前提下,系统是否存在可行解。但是如何在满足不等式的条件下去寻找可行解(或者判断是否有可行解)呢?这时最短路挺身而出了!为何最短路可以解决这类题呢? 来看一下不等原创 2016-09-08 19:36:24 · 352 阅读 · 0 评论 -
Treap入门题
Treap可以说是最简单的平衡树了,核心是利用随机数,使得二叉排序树的各种操作复杂度平均为O(lgn),写起来也是相当简单。 主要功能有:Struct Tree{ int key, size, fa, son[2];}void Rotate(int x, int p); //0左旋 1右旋void Insert(int x,int key) //插入key void Remove(int x原创 2016-09-21 12:24:19 · 775 阅读 · 0 评论 -
差分约束系统详解
差分约束系统X1 - X2 X1 - X5 X2 - X5 X3 - X1 X4 - X1 X4 - X3 X5 - X3 X5 - X4 不等式组(1) 全都是两个未知数的差小于等于某个常数(大于等于也可以,因为左右乘以-1就可以化成小于等于)。这样的不等式组就称作差分约束系统。 这个不等式组要么无解,要么就有无数组解。因为如果有一组解{转载 2016-09-07 21:52:50 · 2286 阅读 · 0 评论 -
最长上升子序列的初步学习
最长上升子序列 LIS对于求解LIS的可以用O(n^2)的复杂度求解: 设d[i]为以i为结尾的最长上升子序列的长度,则d[i]=max{0,d[j] }+1 (j< i)有时数据范围比较大,这时就要考虑O(nlogn)的算法了: 网上很多博客已经给出了很详细的说明,我只给出实现的代码: /* d[i]为以i为结尾的最长上升子序列的长度 g保存伪最长上升子序列 */原创 2016-08-10 20:50:17 · 349 阅读 · 0 评论 -
经典dp模型的变形(未完待续。。)
这几天做了几道dp题,发现有几道是很经典的dp模型的变形,总结一下:数字三角形这算是dp的最最最入门的题了吧,但是这题变形的话,还是需要好好想想才能看出来的。 题目:hdu 1176 免费馅饼 题意: 一定时间,天上会从某个位置Xi掉下一块馅饼,1< =xi< =10,这个人位于xi,只能接到xi-1,xi,xi+1,三处之一,问这人可以接到的最多馅饼?分析: 这题想想还是挺有意思的Q原创 2016-08-12 16:13:47 · 1125 阅读 · 0 评论 -
组合游戏的初步学习
组合游戏以前接触的比较少,现在学习一下,这种东西还是结合题目好理解点.网上比较好的博客:组合博弈 – 三大基本博弈 巴什博奕(Bash Game) :有一堆n个物品,两人轮流从堆中取物品,每次取 x 个 ( 1 ≤ x ≤ m)。最后取光者为胜。题目:hdu 1846 Brave Game威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品原创 2016-07-20 22:12:58 · 295 阅读 · 0 评论 -
线段树入门题
发现窝的博客没有线段树模版题,于是乎摘抄一下《【完全版】线段树》单点更新:最最基础的线段树,只更新叶子节点,然后把信息用PushUP(int r)这个函数更新上来hdu1166 敌兵布阵 题意:O(-1) 思路:O(-1) 线段树功能:update:单点增减 query:区间求和hdu1754 I Hate It 题意:O(-1) 思路:O(-1) 线段树功能:update:单点替换 q原创 2017-08-27 23:45:49 · 557 阅读 · 0 评论