
模板
文章平均质量分 75
fanesemyk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
区间修改的离线查询(询问在修改后)
抄袭自卿爷博客 区间修改的离线查询(询问在修改后) 给出长度为n的序列,m次修改,每次在区间[xi,yi]加上一个数ci,求最后每个数是多少。 活用前缀和的思想,如果现在xi出加上ci,yi +1处减去ci,最后用前缀和扫一遍过去后,就相当于在[xi,yi]上加上ci。 for (int i=0; in; i++) a[i]=0; while(m--转载 2016-08-15 20:07:26 · 624 阅读 · 0 评论 -
hdu 1867 Cow Patterns kmp模板
Description A particular subgroup of K (1 <= K <= 25,000) of Farmer John's cows likes to make trouble. When placed in a line, these troublemakers stand together in a particular order. In order to l原创 2016-11-09 21:56:24 · 450 阅读 · 0 评论 -
快速幂函数的递归写法
long long power(long long a,long long n,long long Mod) { long long pow=1; long long p=a%Mod; while(n>0) { if(n&1) pow=(pow*p)%Mod; n>>=1; p=(p*p)%Mo原创 2016-09-20 14:51:48 · 2152 阅读 · 3 评论 -
模板 字典树
一、知识简介 最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。 字典树(Trie)可以保存一些字符串->值的对应关系。基本上,它跟 Java 的 HashMap 功能相同,都是 key-value 映射,只不过 Trie 的 key 只能是字符串。 Trie 的强大之处就在于它的时间复杂度。它的插入和转载 2016-08-12 17:03:00 · 336 阅读 · 0 评论 -
dijkstra+优先队列优化 模板
Dijksta算法中,如果我们采用的是邻接矩阵来存的,第一点浪费的空间比较多,第二点我们知道算法的时间复杂度在O(n*n),这样的算法可以说并不是很好,所以我们考虑优化它,那么可以从哪些地方优化呢,首先我们可以优化存储结构,采用邻接表来存储,其次我们可以用优先队列来排序大小,其时间复杂度大大降低。代码如下。 需要注意的是pair是按照第一个元素的大小排序,如果相同才按照第二个,所以我们要把d转载 2016-08-12 17:00:10 · 619 阅读 · 0 评论 -
扩展欧几里得算法模板(希望永远不要搞懂了)
扩展欧几里得 上述谈到的最大公约数算法是数学家欧几里德提出的,同时,他也提出了扩展欧几里德算法来解决整数二元一次不定方程问题。 整数二元一次不定方程 形如a*x+b*y=c(a,b均不为0)的方程,a,b,c都是整数,求(x,y)的整数解。 1 判断是否有解 整数二元一次不定方程有解的充分必要是gcd(a,b)|c。如果不能整除则无解。转载 2016-08-05 18:40:02 · 9876 阅读 · 0 评论 -
模板 欧拉筛法 分解质因数
const int maxn=32767; int prime[50],isprime[maxn]; struct P_factor { int p,k; P_factor() { p=k=0; } P_factor(int x,int y) { p=x; k=y; } }; vector原创 2016-08-05 10:39:16 · 791 阅读 · 0 评论 -
利用特征根方程实现通项公式与递推关系的互换
转载一篇博文,学习了!主要运用在矩阵快速幂中,当给了一个通项公式,而n太大时,需要求出其递推关系,这篇文章讲的很好。基本上,只要看见 或者 都是这个套路。 下面是转载 考虑二阶常系数线性齐次递推数列 有方程 该方程称为该数列的特征方程,该方程的两个根称为数列的特征根。 若特征方程有两个不相等的根 则该数列的通项公式为 其中为常数,由唯转载 2016-08-04 20:42:50 · 1798 阅读 · 0 评论 -
背包九讲中的公式
void ZeroOnePack(int value,int cost) { for(int j=m;j>=cost;j--) dp[j]=max(dp[j],dp[j-cost]+value); } void CompletePack(int value,int cost) { for(int j=cost;j<=m;j++) dp[j]=max(转载 2016-07-30 16:26:29 · 437 阅读 · 0 评论 -
矩阵快速幂模板
struct Mat { int line; int column; int a[4][4]; Mat() { line=column=2; a[1][1]=1; a[1][2]=0; a[2][1]=0; a[2][2]=1; } Mat(int x,int y原创 2016-08-02 18:59:03 · 422 阅读 · 0 评论 -
java 读写挂
直接上代码 import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.InputMismatchException; import java.util.Random; public class A {原创 2017-05-18 22:25:45 · 781 阅读 · 0 评论