随笔分类 -  笔记

摘要:7.28死循环#include#includeusing namespace std;int main(){ int n; cin>>n; for(int i = 1; i <= n; i++){ char t[2]; sca... 阅读全文
posted @ 2018-07-28 09:38 gwj1139177410 阅读(102) 评论(0) 推荐(0)
摘要:基础算法学习笔记(状态空间)一、状态空间1、定义(什么是状态空间):一个实际问题的各种可能情况构成的集合。(解释:为什么需要算法来和程序来处理问题?如果一道题可以手算得到答案,换句话说就是存在通过代入某个数学式子就直接得到答案的,那么这道题就不是一道算法题,或者他的解... 阅读全文
posted @ 2018-07-23 08:38 gwj1139177410 阅读(614) 评论(0) 推荐(0)
摘要:找不到题了,今天最后一个坑给二分图学习笔记吧,明天回来填。12点之前发完10篇,ye~如果一张无向图的N个节点可以分成A,B两个非空集合,并且同一集合内的点之间都没有边相连的话,那么称这张图为二分图。(二分图有很多有趣的性质和用途1、二分图判定定理:一张无向图是二分图... 阅读全文
posted @ 2018-06-07 23:31 gwj1139177410 阅读(154) 评论(0) 推荐(0)
摘要:1、二分的基本用法是在单调序列或单调函数中进行查找。 2、当问题的答案具有单调性时,就可以通过二分把求解转化为判定(判定一般比求解容易实现。A基本用法(这里都是个人写法,可以跳过1、整数域1)原则最终答案处于闭区间[l,r]内循环以l==r结束每次二分中间值mid归属... 阅读全文
posted @ 2018-05-31 13:21 gwj1139177410 阅读(157) 评论(0) 推荐(0)
摘要:NOIP范畴常见的排序一般是这几种 1、冒泡排序,选择排序,插入排序 2、快速排序,归并排序,堆排序 3、计数排序,基数排序,桶排序前两类是基于比较的,第三类是基于统计的。 第一类都是O(N^2)的,第二类都是O(NlogN)的。//冒泡排序//1.相邻的数据两两比较... 阅读全文
posted @ 2018-05-30 13:32 gwj1139177410 阅读(124) 评论(0) 推荐(0)
摘要:一、主要算法Prim给定一张无向图,求它的最小生成树。初始时我们将s打上标记。对于每个未标记的点i,我们记f[i]表示i连向已标记的点的边中,边权(到生成树距离)的最小值。每次我们找到未标记的点中f最小的,将它打上标记并更新其余点的f值。时间复杂度O(n2),用堆维护... 阅读全文
posted @ 2018-05-29 12:30 gwj1139177410 阅读(136) 评论(0) 推荐(0)
摘要:Dijkstra给定一张有向/无向图,边权为非负整数,求s到所有点的最短路。初始时我们将s打上标记。对于每个未标记的点i,我们记f[i]表示s到i,,初始时为正无穷。只经过已标记的点的最短路。每次我们找到未标记的点中f最小的,将它打上标记并更新其余点的f值。时间复杂度... 阅读全文
posted @ 2018-05-29 12:17 gwj1139177410 阅读(119) 评论(0) 推荐(0)
摘要:枚举形式按照状态空间的规模大小,有如下几种常见的枚举和遍历形式: 1、多项式->循环,递推 2、指数->递归,位运算//从1~n这n个数中随机取多个,输出可能的方案vectorchosen;void calc(int x){ if(x==n+1){//问题边界 ... 阅读全文
posted @ 2018-05-26 13:16 gwj1139177410 阅读(127) 评论(0) 推荐(0)
摘要:一、时间复杂度(1s10^7, 各种复杂度对应数据规模,对应算法。) 二、空间复杂度(数组大小)三、算法复杂度分析(常规,主定理) 阅读全文
posted @ 2018-05-26 13:10 gwj1139177410 阅读(209) 评论(0) 推荐(0)

选择