模板
almz654321
这个作者很懒,什么都没留下…
展开
-
【常用模板】 01背包
加优化的01背包模板#include <iostream>using namespace std;int w[210],v[210],f[210];int main(){ freopen("package.in","r",stdin); freopen("package.out","w",stdout); int n,m; cin>>m>>n; for原创 2016-12-04 09:31:42 · 201 阅读 · 0 评论 -
【模板】 字符串哈希
哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。纯裸的模板题 因为要使字符串的哈希值各不相同,所以要取一些奇奇怪怪的质数进行MOD,比如19260817(逃) 常见的质数 1e9+7原创 2017-08-16 14:41:33 · 3689 阅读 · 0 评论 -
最小网络最大流
题目描述如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。输入输出格式输入格式:第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含四个正整数ui、vi、wi、fi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为原创 2017-05-03 15:27:09 · 626 阅读 · 0 评论 -
【模板】 莫队算法
莫队算法??这个算法是由之前的国家队队长莫涛巨神(Orz….%%%)发明的,所以尊称莫队算法。莫队是啥??如果我们知道区间[L,R],就能在O(1)求出[L−1,R],[L+1,R],[L,R−1],[L,R+1]的话,那就可以用莫队算法了。莫队咋搞?? 1):排序,以左段点所在的块为第一关键字,以右端点为第二关键字 2):从左往右处理询问(离线) 3):不断调整l,r的位置原创 2017-03-31 15:44:50 · 1611 阅读 · 1 评论 -
【模板题】 公路修建 ( Prim )
Build the road 题目描述 某国有n个城市,它们互相之间没有公路相通,因此交通十分不便。为解决这一“行路难”的问题,政府决定修建公路。修建公路的任务由各城市共同完成。 修建工程分若干轮完成。在每一轮中,每个城市选择一个与它最近的城市,申请修建通往该城市的公路。政府负责审批这些申请以决定是否同意修建。 政府审批的规则如下: (1)如果两个或以上城原创 2017-03-05 10:02:46 · 596 阅读 · 0 评论 -
【模板】 欧拉路 欧拉回路
啥是欧拉路(欧拉回路)?? 如果给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,这条路称为欧拉路; 如果给定无孤立结点图G,若存在一条回路,经过图中每边一次且仅一次,那么该回路称为欧拉回路。 存在欧拉回路的图,称为欧拉图。欧拉路(欧拉回路)有啥用??一笔画问题 即寻找欧拉路或欧拉回路 裸的模板题 骑马修栅栏,很裸很裸很裸欧拉路(欧拉回路)怎么写??如果寻找欧拉回路,原创 2017-03-03 17:25:13 · 1867 阅读 · 0 评论 -
【常用模板】 线段树区间操作
线段树 非常简单的线段树区间操作,比单点操作难那么一点点(一点点?)但是……似乎……并没有这么简单,这么多的子程序,检查比写都难,可我一直把想要求的区间左右端点和当前端点混着用,就一直不过,很尴尬#include#include using namespace std;int a[110000];struct tree{ long long l,r,sum,addi,len;}原创 2016-12-30 21:19:06 · 239 阅读 · 0 评论 -
【常用模板】 线段树单点操作
输入 第一行两个整数n,m,第二行n个整数表示初始时的数组A[ ]; 接下来m行,每行3个整数a,b,c,如果a=1,那么输出A[b]~A[c]中最大的数 若a=2,那么将A[b]改为c 输出 每行输出一个整数,对应每一个操作a=1超级简单的线段树模板题,一遍就过了,子程序太多,变量更多,容易搞混很尴尬,就在几周前的noip中,有一个dalao给我们得瑟说他会线段树,原创 2016-12-23 16:29:57 · 321 阅读 · 0 评论 -
【常用模板】 混合背包
混合背包就是把完全、01、多重背包结合起来,循环时判断一下是什么背包就行,完全背包就用完全背包的模板来算,多重和01背包一起算 关键是为什么不能乘k,至今未解,乘了k之后20分,不乘k的话100分#include <iostream>#include <cstdio>using namespace std;int f[1100],p[1100],v[1100],w[1100];int ma原创 2016-12-14 16:05:14 · 311 阅读 · 0 评论 -
【常用模板】 完全背包
完全背包…………#include <algorithm>#include <bitset>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <map>#include <iostream>#include <queue>#include <s原创 2016-12-04 10:08:36 · 279 阅读 · 0 评论 -
【常用模板】 多重背包
常用模板多重背包#include <algorithm>#include <bitset>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <map>#include <iostream>#include <queue>#include <s原创 2016-12-04 10:05:52 · 331 阅读 · 0 评论 -
【倍增】 luogu 1613 跑路
懒得贴题自己去看 一道倍增模板题,可以练习代码熟练度 开一个数组f[i][j][k]表示从i到j用2k2^k能否到达,然后枚举中间点,如果i到mid可以用2k−12^{k-1}步到达,mid到j可以用2k−12^{k-1}步到达,那么从i到j就可以用2k2^k步到达,代码如下 for(int mid=1;mid<=50;mid++) for(int i=1;i<=50;i+原创 2017-08-16 20:03:26 · 235 阅读 · 0 评论