模板
LOI_Sherlock
日拱一卒,功不唐捐。
展开
-
全排列(STL)
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int a[101],n;int main(){ cin>>n; for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); fo原创 2017-10-25 14:20:07 · 286 阅读 · 0 评论 -
【codevs 1557】热浪
题目描述 Description 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先原创 2017-07-15 23:14:35 · 502 阅读 · 0 评论 -
【codevs 1077】多源最短路
题目描述 Description 已知n个点(n<=100),给你n*n的方阵,a[i,j]表示从第i个点到第j个点的直接距离。 现在有Q个询问,每个询问两个正整数,a和b,让你求a到b之间的最短路程。 满足a[i,j]=a[j,i];输入描述 Input Description 第一行一个正整数n,接下来n行每行n个正整数,满足a[i,i]=0,再一行一个Q,接下原创 2017-07-15 13:42:48 · 374 阅读 · 0 评论 -
堆排序
#include<iostream>#include<cstdio>using namespace std;const int maxn=10001;int dui[maxn];int n,cnt=0;void push(int a){ cnt++; int now=cnt; while(now>1) { int fa=now/2;原创 2017-07-18 11:04:05 · 228 阅读 · 0 评论 -
【模板】快速幂
int ksm(int a,int b){ int ans=1; if(b==0) return 1; while(b) { if(b&1) ans*=a; a*=a; b>>=1 } return ans;}原创 2017-07-18 21:15:57 · 196 阅读 · 0 评论 -
【codevs 1082】线段树练习三(区间修改+区间和)
题目描述 Description 给你N个数,有两种操作:1:给区间[a,b]的所有数增加X2:询问区间[a,b]的数的和。输入描述 Input Description 第一行一个正整数n,接下来n行n个整数,再接下来一个正整数Q,每行表示操作的个数,如果第一个数是1,后接3个正整数,表示在区间[a,b]内每个数增加X,如果是2,表示操作2询问区间[a,b]的和是多少。pascal选手请不要使用原创 2017-08-16 13:29:14 · 380 阅读 · 0 评论 -
【codevs 1080】线段树练习(单点修改+区间和)
题目描述 Description 一行N个方格,开始每个格子里都有一个整数。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N<100000,,提问和修改的总数m<10000条。输入描述 Input Description 输入文件第一行为一个整数N,接下来原创 2017-08-17 14:09:38 · 273 阅读 · 0 评论 -
【codevs 1081】线段树练习2(单点查询+区间修改)
题目描述 Description 给你N个数,有两种操作1:给区间[a,b]的所有数都增加X2:询问第i个数是什么?输入描述 Input Description 第一行一个正整数n,接下来n行n个整数,再接下来一个正整数Q,表示操作的个数. 接下来Q行每行若干个整数。如果第一个数是1,后接3个正整数a,b,X,表示在区间[a,b]内每个数增加X,如果是2,后面跟1个整数i, 表示询问第i个位置的原创 2017-08-17 16:35:27 · 388 阅读 · 0 评论 -
【codevs 2833】奇怪的梦境
题目描述 Description Aiden陷入了一个奇怪的梦境:他被困在一个小房子中,墙上有很多按钮,还有一个屏幕,上面显示了一些信息。屏幕上说,要将所有按钮都按下才能出去,而又给出了一些信息,说明了某个按钮只能在另一个按钮按下之后才能按下,而没有被提及的按钮则可以在任何时候按下。可是Aiden发现屏幕上所给信息似乎有矛盾,请你来帮忙判断。输入描述 Input Description 第一行,原创 2017-09-02 21:46:11 · 600 阅读 · 0 评论 -
读入输出优化
#include<iostream>#include<cstdio>using namespace std;int x;void read(int &a){ int ans=0; char c=getchar(); while(c<'0'||c>'9') c=getchar(); while(c>='0'&&c<='9') ans*=10,ans+=c-'0原创 2017-09-02 21:46:58 · 234 阅读 · 0 评论 -
【模板】快速幂
int ksm(int a,int b){ if(b==0) return 1; while(b) { int ans=1; if(b&1) ans*=a; a*=a; b>>1; } return ans;}原创 2017-09-03 16:06:49 · 301 阅读 · 0 评论 -
【模板】tarjan
完整的模拟过程void dfs(int u){ low[u]=dfn[u]=++dfs_clock; s.push(u); for(int i=first[u];i!=-1;i=nxt[i]) { int w=l[i].t; if(!dfn[w]) { dfs(w); l原创 2017-09-19 19:27:10 · 444 阅读 · 0 评论 -
【模板】迪杰斯特拉
模拟过程//基于1557#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int maxn=100000+10;int first[maxn<<1],nxt[maxn<<1],tot;int dis[maxn];原创 2017-09-24 21:46:13 · 447 阅读 · 0 评论 -
【模板】埃氏筛
#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n;bool prime[10001];void shai(int s){ for(int i=2;i<=s/2;i++) for(int j=i*i;j<=s;j+=i) prime[j]=1;}int main原创 2017-10-02 18:29:35 · 982 阅读 · 0 评论 -
【模板】欧拉筛
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=10001;int n,tot;int prime[maxn];bool vis[maxn];void find_prime(int n){ for(int i=2原创 2017-10-02 19:00:13 · 276 阅读 · 0 评论 -
【学习记录】trie树(字典树)
部分概念引自百度百科和各位神犇资料,侵删。百度百科:字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 就是这个: Trie的核心思想是空间换时间。利用字符串的公共前原创 2017-10-06 11:26:33 · 406 阅读 · 2 评论 -
【模板】快速幂
#include<iostream>#include<cstdio>using namespace std;int a,b;int ksm(int a,int b){ if(b==0) return 1; int ans=1; while(b) { if(b&1) ans*=a; a*=a; b>>=1;原创 2017-10-09 09:29:22 · 204 阅读 · 0 评论 -
临接表存图
struct edge{ int f,t,v;}l[maxn];void build(int f,int t,int v);{ l[++tot]=(edge){f,t,v}; next[tot]=first[f]; first[f]=tot;}原创 2017-04-22 17:11:42 · 417 阅读 · 0 评论