![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模板
帅气的唐大帅
有梦想 才有动力
展开
-
最小生成树
题目描述如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz输入输出格式输入格式:第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式:输出包含一个数,即最小生成树的各边的长度之和;如...原创 2019-05-05 20:36:00 · 275 阅读 · 1 评论 -
hdu3018Ant Trip 几笔画(欧拉通路)
hdu3018Ant Trip Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4939 Accepted Submission(s): 1928 Problem Des...原创 2019-05-06 16:56:11 · 160 阅读 · 1 评论 -
动态主席树 单点更新 动态区间第k小
P2617 Dynamic Rankings题目描述给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。你需要编一个这样的程序,从输入文件中读入序列a,然后...原创 2019-04-19 10:38:06 · 218 阅读 · 1 评论 -
P2709 小B的询问 莫队算法
P2709 小B的询问题目描述小B有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。小B请你帮助他回答询问。输入输出格式输入格式:第一行,三个整数N、M、K。第二行,N个整数,表示小B的序列。接下来的M行,每行两个整数L、...原创 2019-05-15 20:38:38 · 140 阅读 · 2 评论 -
带修莫队
P1903 [国家集训队]数颜色 / 维护队列题目描述墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令:1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。2、 R P Col 把第P支画笔替换为颜色Col。为了满足墨墨的要求,你知道你需要干什么了吗?输入输出格式输入格式:第1行...原创 2019-12-10 19:26:51 · 138 阅读 · 0 评论 -
网络流之最大流(增广路)
hdu3459 Flow Problem Time Limit: 5000/5000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 27520Accepted Submission(s): 12155 Problem Descript...原创 2019-06-08 22:57:26 · 417 阅读 · 0 评论 -
拓扑排序
848. 有向图的拓扑序列给定一个n个点m条边的有向图,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出-1。若一个由图中所有点构成的序列A满足:对于图中的每条边(x, y),x在A中都出现在y之前,则称A是该图的一个拓扑序列。输入格式第一行包含两个整数n和m接下来m行,每行包含两个整数x和y,表示点x和点y之间存在一条有向边(x, y)...原创 2019-08-02 19:25:33 · 163 阅读 · 0 评论 -
求逆元 费马小
hdu 657RngTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 244Accepted Submission(s): 154Problem DescriptionAvin is studying how...原创 2019-08-03 15:29:39 · 205 阅读 · 0 评论 -
线性推逆元
P3811 【模板】乘法逆元题目背景这是一道模板题题目描述给定n,p求1~n中所有整数在模p意义下的乘法逆元。输入格式一行n,p输出格式n行,第i行表示i在模p意义下的逆元。输入输出样例输入 #1复制10 13输出 #1复制179108112534说明/提示1≤n≤3×10^6,n<p<20000528...原创 2019-08-04 08:26:24 · 517 阅读 · 0 评论 -
KMP 模板
P3375 【模板】KMP字符串匹配题目描述如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。为了减少骗分的情况,接下来还要输出子串的前缀数组next。(如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。)输入格式第一行为一个字符串,即为s1第二行为一个字符串,即为s2输出格式若干行,每行包含一个整数,...原创 2019-08-05 11:07:15 · 176 阅读 · 0 评论 -
LCS 最长公共子序列
P1439 【模板】最长公共子序列题目描述给出1-n的两个排列P1和P2,求它们的最长公共子序列。输入格式第一行是一个数n,接下来两行,每行为n个数,为自然数1-n的一个排列。输出格式一个数,即最长公共子序列的长度输入输出样例输入 #1复制5 3 2 1 4 51 2 3 4 5输出 #1复制3说明/提示【数据规模】对于50%的...原创 2019-08-08 08:54:11 · 159 阅读 · 0 评论 -
hdu 2063 二分图匹配(匈牙利算法)
过山车Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 35617Accepted Submission(s): 15162Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐...原创 2019-08-13 20:13:04 · 121 阅读 · 0 评论 -
P1330 封锁阳光大学 图的遍历和染色
P1330 封锁阳光大学题目描述曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在与这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两只...原创 2019-08-14 10:37:01 · 165 阅读 · 0 评论 -
hdu 1269 Tarjan模板 求强联通分量的个数
迷宫城堡Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27125Accepted Submission(s): 11544 ...原创 2019-08-20 11:26:15 · 134 阅读 · 0 评论 -
凸包 模板
hdu 1932 凸包求周长Surround the TreesTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14456Accepted Submission(s): 5591Problem Descripti...原创 2019-08-12 08:40:15 · 123 阅读 · 0 评论 -
求最长回文子串的长度(或个数)(马拉车算法)
P3805 【模板】manacher算法题目描述给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.字符串长度为n输入输出格式输入格式:一行小写英文字符a,b,c...y,z组成的字符串S输出格式:一个整数表示答案输入输出样例输入样例#1:复制aaa输出样例#1:复制3说明...原创 2019-04-29 19:46:13 · 1421 阅读 · 0 评论 -
P4779 【模板】单源最短路径 堆优化的dijkstra
P4779 【模板】单源最短路径(标准版)题目背景2018 年 7 月 19 日,某位同学在NOI Day 1 T1 归程一题里非常熟练地使用了一个广为人知的算法求最短路。然后呢?100→60;Ag→Cu;最终,他因此没能与理想的大学达成契约。小 F 衷心祝愿大家不再重蹈覆辙。题目描述给定一个N个点,M条有向边的带非负权图,请你计算从S出发,到每个点...原创 2019-03-29 13:58:02 · 174 阅读 · 0 评论 -
快速幂取模
n的m次方对q取余#include<bits/stdc++.h>using namespace std;long long cheng(long long x,long long y,long long z){ long long ans=0; while(y) { if(y%2) { ans=(ans+x)%z; } x=(x*2)%z; ...原创 2019-03-05 20:01:08 · 104 阅读 · 0 评论 -
大数
加 : 每一位相加 大于十就进1减 : 从下一位取1 进行减法 如果大于10就给下一位赋予一个1 如果不大于10就存下来乘 : 每一位开始乘 把结果加起来 把最低位存起来 最后又剩余的就依次存入vector除 : 最后一位开始除 把除剩下的数加起来 乘以10给下一位用 商就存入vector中高精度加法// C = A + B, A >= 0, B >= 0v...原创 2019-03-05 16:45:50 · 109 阅读 · 0 评论 -
lazy法写线段树(区间修改和查询)
hdu1698(区间修改)传送门#include<bits/stdc++.h>using namespace std;int n,m,a,b,c,sum[400005],lazy[400005];void build(int l,int r,int pos)//建树 { if(l==r) { sum[pos]=1; return; } int mid...原创 2019-01-08 16:19:23 · 246 阅读 · 0 评论 -
欧拉函数
刚开始入门欧拉函数欧拉函数的公式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有素因数,x是不为0的整数(注意:每种质因数只一个。比如 12 = 2*2*3 那么 φ(12) = 12 * (1-1/2) * (1-1/3)=4欧拉函数性质: 1、 φ(mn) = φ(m) φ(...原创 2019-03-07 11:35:27 · 516 阅读 · 0 评论 -
卡特兰数
卡特兰数公式:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>=2)h(n)=h(n-1)*(4*n-2)/(n+1);洛谷P1044 栈题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。栈的重...原创 2019-03-19 19:04:06 · 226 阅读 · 0 评论 -
筛选素数
洛谷P3383 【模板】线性筛素数题目描述如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)输入输出格式输入格式:第一行包含两个正整数N、M,分别表示查询的范围和查询的个数。接下来M行每行包含一个不小于1且不大于N的整数,即询问该数是否为质数。输出格式:输出包含M行,每行为Yes或No,即依次为每一个询问的结果。...原创 2019-03-08 14:25:21 · 384 阅读 · 0 评论 -
归并排序和求逆序对
一个归并排序的代码#include<iostream>using namespace std;int a[500005],r[500005];void pai(int s,int e){ if(s==e) return;//小到只有一个数时就不要分了 int mid=(s+e)/2; pai(s,mid); pai(mid+1,e);//二分 把数组一步步变小 ...原创 2018-12-20 21:15:31 · 106 阅读 · 0 评论 -
stringstream 求汉诺塔步数(高精)
洛谷P1760通天之汉诺塔题目描述在你的帮助下,小A成功收集到了宝贵的数据,他终于来到了传说中连接通天路的通天山。但是这距离通天路仍然有一段距离,但是小A突然发现他没有地图!!!但是幸运的是,他在山脚下发现了一个宝箱。根据经验判断(小A有经验吗?),地图应该就在其中!在宝箱上,有三根柱子以及在一根柱子上的n个圆盘。小A在经过很长时间判断后,觉得这就是hanoi塔!(这都要琢磨)。但是移动...原创 2019-03-21 16:33:17 · 422 阅读 · 0 评论 -
堆
堆分为小根堆和大根堆,为完全二叉树小根堆是堆顶为最小的数,他的左右儿子都是要比他大,他的儿子们也可以构成一个小根堆大根即为堆顶是最大的数,他的左右儿子都要比他小,他的儿子们也可以构成一个大根堆可以看大佬博客:https://www.cnblogs.com/henry-1202/p/9307927.html我们以洛谷3378为例 (小根堆)题目描述如题,初始小根堆为空,我们需...原创 2019-03-13 14:53:27 · 310 阅读 · 0 评论 -
P3367 【模板】并查集
P3367 【模板】并查集题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入输出格式输入格式:第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N输出格式:如上,对于每一个...原创 2019-03-22 14:00:34 · 184 阅读 · 0 评论 -
P3385 【模板】负环 spfa判断负环
P3385 【模板】负环题目描述暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环。输入输出格式输入格式:第一行一个正整数T表示数据组数,对于每组数据:第一行两个正整数N M,表示图有N个顶点,M条边接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w&l...原创 2019-04-01 19:22:24 · 1891 阅读 · 2 评论 -
主席树 静态区间第k小
P3834 【模板】可持久化线段树 1(主席树)题目背景这是个非常经典的主席树入门题——静态区间第K小数据已经过加强,请使用主席树。同时请注意常数优化题目描述如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。输入输出格式输入格式:第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。第二行包含N个整数,表示这个序列各项的数字。...原创 2019-04-16 14:04:22 · 286 阅读 · 1 评论 -
单调递增子序列的长度(nlogn)
P3902 递增题目描述现有数列A1,A2,⋯,AN,修改最少的数字,使得数列严格单调递增。输入输出格式输入格式:第1 行,1 个整数N第2 行,N 个整数A1,A2,⋯,AN输出格式:1 个整数,表示最少修改的数字输入输出样例输入样例#1:复制31 3 2输出样例#1:复制1说明• 对于50...原创 2019-04-26 16:52:00 · 466 阅读 · 1 评论 -
ST表
P3865 【模板】ST表题目背景这是一道ST表经典题——静态区间最大值请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为O(1)题目描述给定一个长度为N的数列,和M次询问,求出每一次询问的区间内数字的最大值。输入输出格式输入格式:第一行包含两个整数N, M 分别表示数列的长度和询问的个数。第二行包含N个整数(记为 ...原创 2019-04-15 12:55:29 · 1242 阅读 · 0 评论 -
字典树
4189 字典题目描述最经,skyzhong得到了一本好厉害的字典,这个字典里整整有n个单词(1<=n<=200000)现在skyzhong需要在字典里查询以某一段字母开头的单词如:skyzhong想查询a那么只要是a开头的单词就可以了skyzhong只想知道里面有没有这一个单词(因为没有他就不查了)若有,请输出YES。若没有,请输出NO输入描述...原创 2019-05-02 14:36:46 · 115 阅读 · 0 评论 -
E - Text Editor Gym - 101466E 二分+KMP查找子串的个数
E - Text EditorGym - 101466EOne of the most useful tools nowadays are text editors, their use is so important that the Unique Natural Advanced Language (UNAL) organization has studied many of th...原创 2019-08-17 09:22:38 · 225 阅读 · 1 评论