07 2018 档案
摘要:题目链接:luogu2763 题目描述 «问题描述: 假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m 道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算法。 «编程任务: 对于给定的组卷要求,计算满足要求的组卷方案。 输入输出
阅读全文
摘要:题目链接:luogu4013 题目: 给定一个由 n 行数字组成的数字梯形如下图所示。 梯形的第一行有 m 个数字。从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。 分别遵守以下规则: 从梯形的顶至底的 m 条路径互不相交; 从梯形的顶至底的 m
阅读全文
摘要:Manacher算法??? Mancher算法是用来找最大回文串的,因为功能太过单一,所以用处不是很多,但是在找回文串方面还是很强大的。 大致原理: 枚举回文串的中点,用p[i]表示以i为中心的最大回文串的长度。然后对p[i]进行扩展就可以了。 最简单的扩展就是当s[i+p[i]+1]=s[i-p[
阅读全文
摘要:KMP算法??? kmp算法最简单的就是用来匹配子串,也就是从字符串s1中找到s2出现的次数与位置。同时,kmp的nxt数组还有很多高能的用处。 NXT数组: nxt数组是kmp算法中极其重要的部分,nxt[i]表示子串s中,上一次s[i]为后缀的位置。(看了后面的原理就很明白了) 大致原理: 举个
阅读全文
摘要:最小费用最大流? 最小费用最大流就是在最大流的基础上,给每条边一个单位花费,要在保证是最大流的情况下找出最小费用。这里的单位花费就是这条边的每一单位流量的花费。 解法: 先看这里的花费,假设第i条边的花费是wi,那么假设找到 了一条增广路(与最大流中的意义相同),且这条增广路的流量为x,那么这条增广
阅读全文
摘要:原文链接:https://blog.csdn.net/sunny_hun/article/details/80627351 二分图: 二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点
阅读全文
摘要:什么是网络流: 网络流就是给出一个图,然后每条边上有一个最大的流量(容量),只有出流没有入流的点叫做源点,只有入流没有出流的点叫做汇点。 残余网络: 不断地给每条边分配流量,然后用其剩余的容量减去这些流量,得到残量,残量构成残余网络。 增广路: 在残余网络中,还可以继续分配流量的路径(该路径上每条流
阅读全文
摘要:普通的斐波那契数列的递推式很简单,但是如果要求第1014个斐波那契数的话,肯定会tle,这时就可以用矩阵快速幂来优化。 菲波那切数列普通的递推式是 f[i]=f[i-1]+f[i-2] 而矩阵乘法的规则是,讲n行m列的矩阵与k行n列的矩阵相乘,所得矩阵的第i行第j列的数是由第一个矩阵的第i列的每个数
阅读全文
摘要:尽管快速幂与快速乘法好像扯不上什么关系,但是东西不是很多,就一起整理到这里吧 快速幂思想就是将ax看作x个a相乘,用now记录当前答案,然后将指数每次除以2,然后将当前答案平方,如果x的2进制最后一位为1的话,就将答案乘以现在的数。快速乘法类似,只是将a*x看作x个a相加。 代码
阅读全文
摘要:有两种筛法,第一种叫做埃拉托斯特尼筛法(复杂度O(nlogn)),另一种是欧拉筛法(复杂度O(n)) 埃拉托斯特尼筛法其实就是用已得到质数,去将他的所有n以内倍数标记为合数,最后剩下的就是合数。 在进行筛法的同时,可以顺便找到每个数的最小质因数(就是第一次更新他的那个质数) 欧拉筛法:在埃氏筛法中每
阅读全文
摘要:费马定理: ap≡a(mod p) 其中p为质数,且a不是p的倍数 证明: 。。。。。 欧拉定理: aφ(p)≡1(mod p) φ(x)(欧拉函数)为小于等于x且与x互质的数的个数 φ(x)=∏(pi-1)*piki-1 其中pi表示 x的质因数,ki表示这种质因数的个数 特别的对于质数 φ(x)
阅读全文