随笔分类 - acm模板
摘要:差分数组在acm中有很广泛的应用。对于原数组a:1 2 3 5 5,其差分数组就是sub:1 1 1 2 0,即每一项与前一项的差。其性质有: 差分数组求前缀和能得到原数组 对区间[l,r]上都加上d在差分数组上表现为sub[l]+=d , sub[r+1]-=d 进一步的,在[l,r]上加上首项为
        阅读全文
                
摘要:题目链接:https://www.luogu.com.cn/problem/P3805#submit 题意:给定长为n的字符串,求最大回文子串的长度。(n<=1.1e7) 思路: manacher板子,时间复杂度O(n)。 AC code: /* * manacher板子--求最大回文串的长度 * 
        阅读全文
                
摘要:题目链接:https://www.luogu.com.cn/problem/P3370 题意:给n个字符串,求不同的字符串有多少。(n<=1e4,字符串长度<=1500) 思路: 字符串模板。 acm中广泛使用的一种字符串Hash算法“BKDR Hash”,主要思路是选择合适的进制(base应大于字
        阅读全文
                
摘要:题目链接:https://www.luogu.com.cn/problem/P3809 题意:给定长为n的字符串s,将s的每个后缀字符串排序(升序),从小到大输出后缀字符串在s中出现的第一个位置。 思路: 今天碰到一个要用后缀数组的题,于是来洛谷刷模板题,搞了一整天终于明白了板子怎么写。 参考大佬的
        阅读全文
                
摘要:题目链接:https://vjudge.net/contest/358714#problem/C 题意:求最大空凸包的面积,点的个数n<=50。 思路: 参考链接:https://blog.csdn.net/cdsszjj/article/details/79366813 计算几何+DP。 首先枚举
        阅读全文
                
摘要:模板1. 给出模式串和文本串,文本串长度小于1e6,模式串长度之和小于1e6,求文本串中有多少模式串出现。 题目链接:https://www.luogu.org/problem/P3808 AC code: /* luoguP3808 (AC自动机模板题) 求文本串中有多少模式串出现 */ #inc
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/HDU-2544 题意:给n个点,m条边,求点1到点n的最短路。 思路: 今天学了下bellman_ford,抄抄模板。dijkstra算法和该算法都是单源最短路径算法,但是dij不能适用含负权边的图。而bellman-ford算法适用
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/HDU-1251 题意:给定一系列字符串之后,再给定一系列前缀,对每个前缀查询以该字符串为前缀的字符串个数。 思路: 今天开始学字典树,从入门题开始。用数组实现,count数组表示每个结点出现次数,trie[0]为根节点。插入和查询一个
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-1113 题意:简化下题意即求凸包的周长+2×PI×r。 思路:用graham求凸包,模板是kuangbin的,算法复杂度O(nlogn)。 AC code: #include<cstdio> #include<cstring>
        阅读全文
                
摘要:题目链接:https://www.luogu.org/problem/P5410 题意:有两个字符串a,b,要求输出b与a的每一个后缀的最长公共前缀。输出: 第一行有lenb个数,为b的next数组(特别地,next1为lenb) 第二行有lena个数,即答案。 思路:扩展kmp模板,涉及字典树,后
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-3461 题意:给出主串和模式串,求出模式串在主串中出现的次数。 思路:kmp板子题。复杂度O(n+m)。 AC代码: #include<cstdio> #include<algorithm> #include<cstring>
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-2947 题意:转换题意后就是已知m个同余方程,求n个变量。 思路: 值得学习的是这个模板里消元用到lcm的那一块。注意题目输出的答案在[3,9]之间。 AC代码:
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-1681 题意:类似于poj1222,有n×n的01矩阵,翻转一个点会翻转其上下左右包括自己的点,求最少翻转多少点能使得矩阵全0。 思路: 同样的可以枚举第一行的状态,这里不说了。 用高斯消元法来解这道题,每个点的状态表示一个变
        阅读全文
                
摘要:题目链接:https://www.luogu.org/problem/P4783 题意:求矩阵的逆。 思路:高斯消元法求矩阵的逆,n为400,卡常,我是开了O2优化才AC的。。 AC代码:
        阅读全文
                
摘要:题目链接:https://www.luogu.org/problem/P3389 题意:解方程数为n(<=100)的线性方程组的解。 思路:高斯消元法模板题,复杂度:O(n^3)。 AC代码: 优化版本: 高斯-约旦消元法,相比与传统的高斯消元法,高斯-约旦消元法精度高、代码简单、没有回带过程。本质
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/POJ-2387 题意:给n个点(<=1000),m条边(<=2000),求结点n到结点1的最短路。 思路:dijkstra优先队列,复杂度O(nlogn)。 AC代码:
        阅读全文
                
摘要:计算几何点线面形基础知识总结模板: #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<cstdlib> using namespace std; const double eps=1e-8;
        阅读全文
                
摘要:之前学了dp没有好好看一遍背包九讲,今天把背包九讲过一遍,供之后自己看方便一些。 一. 01背包 题目链接:https://www.acwing.com/problem/content/2/ n,V<=1000 这个没什么好说的,加滚动数组,复杂度O(nV),代码如下: #include<cstdi
        阅读全文
                
摘要:今天学cdq分治,原来归并排序求逆序对就是简单的cdq分治应用,顺便复习了归并排序,把归并排序模板敲一下,拿小本子记一下 ^_^,cdq牛逼!
        阅读全文
                
摘要:题目链接:https://vjudge.net/problem/HDU-1007 题意:给定n个点,求平面距离最小点对的距离除2。 思路:分治求最小点对,对区间[l,r]递归求[l,mid]和[mid+1,r]的最小点对,取两者中的小者设为d。然后处理一个点在左区间,一个点在右区间的情况。一个点P在
        阅读全文
                
 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号