acm算法知识点
文章平均质量分 88
wybooooooooo
博客已正式搬迁至博客园 https://home.cnblogs.com/u/wyboooo/ 欢迎大家访问
展开
-
最长上升子序列
https://www.cnblogs.com/frankchenfu/p/7107019.html 借鉴最长上升子序列就是在一个序列中找到非递减的子序列,子序列可以不是连续的一种方法就是固定一个i在0到i中找j j取或不取将影响到i 更新i的值 复杂度是O(n^2)#includeconst int MAX=1001;int a[MAX];int lis(int x){原创 2018-01-30 20:52:04 · 190 阅读 · 0 评论 -
计算几何
计算几何公式大全:https://blog.csdn.net/clasky/article/details/9990235矢量叉积:计算矢量叉积是与直线和线段相关算法的核心部分。设矢量P = (x1,y1) ,Q = (x2,y2),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P × Q = x1*y2 - x2*y1,其结果是一个标量。显然有性质 P...原创 2018-03-25 22:12:29 · 141 阅读 · 0 评论 -
主席树
省赛主席树模板题和zyn大佬想了两个小时没想出来 太菜了太菜了要是我能强到和HJT大神一样能在考场上想出一个主席树一样的东西就好了哈哈哈感觉主席树就是一个线段树加前缀和加一个优化主要用于求区间第k小的问题如果区间是固定的 用线段树或者是归并都好求用线段树的话 每个节点就存这个区间有的数的个数 如果要查询的k比节点左子树的权值要小于等于的话说明这个区间的左孩子里至少有k个数 那第k小肯定就在左孩子区...原创 2018-05-14 21:26:02 · 86 阅读 · 0 评论 -
倍增
当我们想要知道从最快地从A走到B时,朴素的想法是找出任何一个点走任意步会到达的地方,但是这样太耗内存。但是实际上可以只记录走1,2,4,8,16步能到达的地方从A出发:若跳8个格子(超过B了,放弃) 若跳4个格子(超过B了,放弃) 若跳2个格子(没超过B,跳吧) 若跳1个格子(没超过B,跳吧) ...原创 2018-06-22 21:31:21 · 6897 阅读 · 0 评论 -
FFT【快速傅里叶变换】FWT【快速沃尔什变换】
实在是 美丽的数学啊关于傅里叶变换的博客 讲的很细致 图片非常易于理解http://blog.jobbole.com/70549/大概能明白傅里叶变换是干吗的了但是还是不能明白为什么用傅里叶变换来算多项式求和在多项式中,DFT就是系数表式转换成点值表示的过程。我们熟知的是多项式的系数表示法,通过给定一组 来确定一个唯一的多项式:而多项式还可以有另一种表示法,称为点...原创 2018-08-18 12:32:11 · 1167 阅读 · 1 评论 -
生成函数
在看牛客网给的题解的参考资料的时候看到了生成函数不太懂就去查了一下感觉真的太奇妙了 拍案叫绝今天数学教我做人 参考:http://www.cppblog.com/MiYu/archive/2010/08/05/122290.html生成函数(母函数)的定义是有一个数列{an} = {a0, a1, a2, a3, ......, an}他的生成函数就是f(n) = ...原创 2018-08-18 13:55:12 · 1768 阅读 · 0 评论 -
欧拉函数和莫比乌斯函数
多校赛上最近有道题目是gugufishtionProblem DescriptionToday XianYu is too busy with his homework, but the boring GuGu is still disturbing him!!!!!! At the break time, an evil idea arises in XianYu’s mind. ‘Co...原创 2018-08-16 10:10:50 · 3683 阅读 · 0 评论 -
蓝书【数学基础】阅读笔记
加法原理 乘法原理 容斥原理组合数性质1:C(n,0)=C(n,n)=12:C(n,k)=C(n,n-k)3:C(n,k)+C(n,k+1)=C(n+1,k+1)4:C(n,k+1)= C(n,k)*(n-k)/(k + 1) 素数表const int maxn = 10000000 + 10;const int maxp = 700000;int vis[...原创 2018-08-21 13:14:47 · 232 阅读 · 0 评论 -
南京网络赛I-Skr【回文树模板】
19.32% 1000ms 256000KA number is skr, if and only if it's unchanged after being reversed. For example, "12321", "11" and "1" are skr numbers, but "123", "221" are not. FYW has a string of number...原创 2018-09-07 19:55:33 · 202 阅读 · 0 评论 -
AC自动机
AC自动机 相当于就是Trie树 + KMPTrie树就是把关键字按字母存在树上 每一条路径构成一个单词 像这样主要有fail指针 success指针和 emit指针fail指针相当于KMP中的next数组如果某节点a的父节点的fail指针指向的节点的孩子中有和这个节点a相同的字母的节点b 那么这个a的fail指针就指向b构造fail指针的复杂度是O(n) n是所有树中所有...原创 2018-09-07 14:50:03 · 136 阅读 · 0 评论 -
java大数
惭愧 到现在都还没有去学一下java大数怎么用结果就是蓝翔杯那个大数都没有写出来BigInteger 和 BIgDecimal 在java.math.*里1. int a=3; BigInteger b=BigInteger.valueOf(a); 则b=3;2.String s="-123459999999999999999999";BigInteger c=new BigIntege...原创 2018-04-02 20:40:50 · 102 阅读 · 0 评论 -
数组表示邻接表
首先我们依照读入的顺序为每一条边进行编号(1~m)。比方第一条边“1 4 9”的编号就是1,“1 3 7”这条边的编号是5。这里用u、v和w三个数组用来记录每条边的详细信息,即u[i]、v[i]和w[i]表示第i条边是从第u[i]号顶点到v[i]号顶点(u[i]àv[i]),且权值为w[i]。再用一个first数组来存储每转载 2018-03-22 19:54:28 · 647 阅读 · 1 评论 -
字符串匹配 扩展KMP BM&Sunday
复杂度都是O(n) 扩展1:BM算法 KMP的匹配是从模式串的开头开始匹配的,而1977年,德克萨斯大学的Robert S. Boyer教授和J Strother Moore教授发明了一种新的字符串匹配算法:Boyer-Moore算法,简称BM算法。该算法从模式串的尾部开始匹配,且拥有在最坏情况下O(N)的时间复杂度。在实践中,比KMP算法的实际效能高。 BM算法定义了两个规则:坏字符...转载 2018-03-04 22:07:34 · 202 阅读 · 0 评论 -
平面几何基础
一个很有信息量的博客:http://m.9512.net/read/9aad4ffc1faf6b373adb5184.html向量p1=(x1, y1), p2 = (x2, y2),内积p1·p2 = x1x2 + y1y2, 外积p1 * p2 = x1y2 - x2y1判断点q是否在线段p1-p2上先利用外积根据是否有(p1-q)*(p2-q)= 0来判断点q是否原创 2017-10-24 20:43:04 · 423 阅读 · 0 评论 -
图的割点、桥与双连通分支
一个图的点连通度的定义为,最小割点集合中的顶点数。一个图的边连通度的定义为,最小割边集合中的边数。如果一个无向连通图的点连通度大于1,则称该图是点双连通的(point biconnected),简称双连通或重连通。如果一个无向连通图的边连通度大于1,则称该图是边双连通的(edge biconnected),简称双连通或重连通。双连通分支(biconnecte原创 2017-10-18 18:26:30 · 293 阅读 · 0 评论 -
51nod1432 独木舟
1432 独木舟 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注n个人,已知每个人体重。独木舟承重固定,每只独木舟最多坐两个人,可以坐一个人或者两个人。显然要求总重量不超过独木舟承重,假设每个人体重也不超过独木舟承重,问最少需要几只独木舟?Input第一行包含两个正整数n (0<n<=10000)和m (0<m<=2000000000),表示人数和独原创 2018-01-18 18:44:07 · 187 阅读 · 0 评论 -
字符串-回文-Manacher算法
http://blog.csdn.net/zzkksunboy/article/details/72600679https://segmentfault.com/a/1190000008484167求最长回文长度的一个算法 O(n)首先解决要判断奇字符偶字符的问题 在每一个字符前加一个不可能在字符串中出现的字符 再在字符串的末尾加一个abcde -> $#a#b#c转载 2018-03-06 20:08:57 · 199 阅读 · 0 评论 -
扩展KMP
https://wenku.baidu.com/view/206c8178d0d233d4b04e69ed.html问题定义:给定两个字符串S和T(长度分别为n和m),下标从0开始,定义extend[i]等于S[i]...S[n-1]与T的最长公共前缀的长度,求出所有的extend[i]。举个例子,看下表:i01234567Saaaaabbbextend[i]54321000Taaaaac 为什...转载 2018-03-07 21:39:35 · 150 阅读 · 0 评论 -
最短路大汇总
松弛操作:当dis[i] > dis[j] + g[j][i]时 dis[i] = dis[j] + g[j][i]dijkstra 单源最短路 O(n^2)本质是贪心 不能处理负边分成两个集合 用vis标记 一个是已经找到最短路的一个是没有找到最短路的从已经找到最短路里的点出发,进行松弛操作 找到其中最小的加入最短路的集合中 再从这个点接下去更新,做n-1次所有的距离初始化为inf#inc...原创 2018-03-15 20:10:28 · 191 阅读 · 0 评论 -
字符串匹配-KMP
节选自 https://www.cnblogs.com/zhangtianq/p/5839909.html字符串匹配 KMP O(m+n)O原来的暴力算法 当不匹配的时候尽管之前文本串和模式串已经分别匹配到了S[9]、P[5],但因为S[10]跟P[6]不匹配,所以文本串回溯到S[5],模式串回溯到P[0],从而让S[5]跟P[0]匹配 而S[5]肯定跟P[0]失配。为什么呢?因为在之前第4步匹配...转载 2018-03-04 19:28:21 · 281 阅读 · 0 评论 -
网络流
优秀博客参考:http://www.cnblogs.com/Booble/archive/2011/03/04/1970453.htmlhttps://blog.csdn.net/A_Comme_Amour/article/details/79356220 给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足...原创 2018-09-13 09:15:27 · 285 阅读 · 0 评论