
模板
soul,,,明灵
QQ1486266298
展开
-
OJ上special judge的写法
OJ上special judge的写法直接上模板,就是把自己写好的判断逻辑,写入下面的注释部分即可。注意:(1)cin要改成fin(样例输入)或 fin1(样例输出)或 fin2(用户输出);(2)三个文件都要完全读入(不能“部分读入”),否则会出问题。#include <stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<fstream>#i原创 2020-08-27 12:19:12 · 1847 阅读 · 2 评论 -
网络最大流——网络最大流模板
网络最大流题目来源:洛谷P3376题目背景:请注意,一般的 dinic/ISAP 通过本题的单测试点用时不超过 50ms,为了避免评测波动导致程序超时,本题时间限制设为 300ms,如果您的单测试点用时超过 100ms,请您检验您的代码是否存在错误。题目描述:如题,给出一个网络图,以及其源点和汇点,求出其网络最大流。输入格式:第一行包含四个正整数 n,m,s,t,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含三个正整数 ui,vi,wi ,表示第 ii 条有向边从 u原创 2020-07-31 13:52:40 · 450 阅读 · 0 评论 -
线段树 1——线段树模板
线段树 1题目来源:洛谷 P3372题目描述:如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上 k。2.求出某区间每一个数的和。输入格式:第一行包含两个整数 n, m,分别表示该数列数字的个数和操作的总个数。第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。接下来 m 行每行包含 3 或 4 个整数,表示一个操作,具体如下:1.1 x y k:将区间 [x, y] 内每个数加上 k。2.2 x y:输出区间 [x, y] 内每个数的和原创 2020-07-29 11:06:04 · 189 阅读 · 0 评论 -
大数运算模板(高精度)
大数运算模板之前大数的模板一直都没有系统的整理过,今天就在这里整理一下吧。加减乘都没什么说的,模拟小学运算就行,除操作基本是在“试商”,先令被除数位数与除数位数保持一致,然后利用减法试出这一位的商,然后记录余数,令余数*10+被除数下一位,成为新的“被除数片段”,重复以上操作直至耗尽被除数位数。注:本模板仅用于大数的整数加减乘除操作,如需浮点数,需在本模板基础上略作修改(其实就是挪小数点)。#pragma GCC optimize(3,"Ofast","inline")#pragma G++ opt原创 2020-07-24 13:26:23 · 277 阅读 · 0 评论 -
欧拉图模板——Hello
欧拉图模板——Hello题目描述:在上题中,+Q是一个画家。现在她欲画一幅首尾相连的连笔画!图中有N个点,M条要画的边,现在+Q要从一个点出发,经过所有她想画的边,在回到这个点上。她想知道她能否成功?输入:第一行是两个正整数N、M,表示图中的点数和边数。之后M行每行两个整数,表示每条边连接的两个点。输出:如果+Q无法一笔画,输出一行”No”。否则输出一行”Yes”,第二行是M个数,表示每次经过的边的编号。我们把编号为1的点作为起点和终点。样例输入:【样例1】4 41 21 42原创 2020-07-21 11:34:29 · 386 阅读 · 0 评论 -
并查集模板
并查集模板并查集模板,getf为得到其“祖宗”,merge1为合并(祖宗不同时合并,依照“靠左原则”)。int fa[100005];int getf(int v){ if(fa[v]==v) return v; else { fa[v]=getf(fa[v]); return fa[v]; }}void merge1(int u,int v){ if(getf(u)!=getf(v)) {原创 2020-07-16 08:32:40 · 182 阅读 · 0 评论 -
MST——最小生成树模板
题目描述:给定一个无向图,每条边有一个非负权值。求这个图中最小生成树的所有边的权值之和。生成树是指包含图中所有节点的一棵树,而最小生成树则指一棵所有边的权值之和最小的生成树。输入:第一行包含两个数,n和m,其中n为节点数,m为边数。下面m行,每行三个非负整数a、b和c,a, b<n,表示a和b之间有一条权值为c的边。输出:输出一个数,表示一棵最小生成树所有边的权值之和。样例输入:5 80 1 10 2 20 3 50 4 71 2 02 3 152 4 251 4 100原创 2020-07-15 16:34:49 · 273 阅读 · 0 评论 -
康托展开模板
康托展开模板本来想用map的,结果OJ不让用……遂学康托展开,可以当哈希用。int fac[N];void init(){ fac[0]=1; for(int i=1; i<N; ++i) fac[i]=fac[i-1]*i;}int encode(int* a,int n){ int ret=0; for(int i=n-1; ...原创 2020-04-17 23:36:31 · 259 阅读 · 0 评论 -
小奇学数论——meissel-lehmer素数算法模板
小奇学数论题目描述:小奇在数论课上学习了素数判定算法,但它不满⾜于此!求小于等于n的素数个数。 输⼊:1个数字n。 输出:1个整数,表示答案。 样例输入: 10 样例输出: 4 提示: 对于20%的数据,1≤n≤1e4对于40%的数据,1≤n≤1e6对于60%的数据,1≤n≤1e7对于80%的...原创 2020-01-19 20:09:36 · 484 阅读 · 0 评论 -
神奇的杜教BM模板
神奇的杜教BM模板原理是啥咱也不清楚,但是推公式的题那这个就能做,不同的题把最下面的那几行输入前几个数字的改了就行。#include<bits/stdc++.h>using namespace std;#define rep(i,a,n) for(int i=a;i<n;i++)#define SZ(x) ((int)(x).size())typedef vector...原创 2019-08-02 19:34:23 · 463 阅读 · 0 评论 -
神奇的读入优化
神奇的读入优化#pragma GCC optimize("Ofast","inline","-ffast-math")#pragma GCC target("avx,sse2,sse3,sse4,mmx")放到头文件前面,有很神奇的加速功效,效果图如下:(没优化前)(优化后)当然,两个网站的评测机不同,其时间可能有所不同,但没优化前的代码在第二个网站上评测是直接TLE掉的(因为图一...原创 2019-08-12 20:16:15 · 338 阅读 · 0 评论