洛谷试炼场 普及常见模板
对没错我就是在水博
P3366 【模板】最小生成树
kruskal:
P3367 【模板】并查集
1 /*by SilverN*/ 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring> 5 #include<cstdio> 6 #include<cmath> 7 using namespace std; 8 const int mxn=210000; 9 int read(){ 10 int x=0,f=1;char ch=getchar(); 11 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 12 while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();} 13 return x*f; 14 } 15 int n,m; 16 int fa[mxn]; 17 void init(){ 18 for(int i=1;i<=n;i++){ 19 fa[i]=i; 20 } 21 } 22 int find(int x){ 23 if(fa[x]==x)return x; 24 return fa[x]=find(fa[x]); 25 } 26 int main(){ 27 n=read();m=read(); 28 init(); 29 int x,y,z; 30 while(m--){ 31 z=read();x=read();y=read(); 32 x=find(x); 33 y=find(y); 34 if(z==1){ 35 fa[x]=y; 36 } 37 else{ 38 if(x==y){ 39 printf("Y\n"); 40 } 41 else printf("N\n"); 42 } 43 } 44 return 0; 45 }
View Code
P3371 【模板】单源最短路径
水这个模板题的时候,邻接表数组开小了,WA了五六次,悲伤。
1 /*by SilverN*/ 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring> 5 #include<cstdio> 6 #include<cmath> 7 using namespace std; 8 const int mxx=2147483647; 9 const int mxn=540000; 10 int read(){ 11 int x=0,f=1;char ch=getchar(); 12 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 13 while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();} 14 return x*f; 15 } 16 struct edge{ 17 int v,dis; 18 int nxt; 19 }e[mxn]; 20 int hd[mxn],mct=0; 21 void add_edge(int u,int v,int dis){ 22 e[++mct].v=v;e[mct].dis=dis;e[mct].nxt=hd[u];hd[u]=mct; 23 return; 24 } 25 int n,m,s; 26 int dis[mxn]; 27 bool inq[mxn]; 28 int q[360010]; 29 int vis[mxn]; 30 int head=0,tl=1; 31 void spfa(){ 32 for(int i=1;i<=n;i++){dis[i]=mxx;} 33 dis[s]=0; 34 q[++head]=s; 35 while(head!=tl+1){ 36 int u=q[head];head=(head+1)%360000;inq[u]=0; 37 for(int i=hd[u];i;i=e[i].nxt){ 38 int v=e[i].v; 39 if((long long)dis[u]+(long long)e[i].dis<(long long)dis[v]){ 40 dis[v]=dis[u]+e[i].dis; 41 vis[v]++; 42 if(vis[v]>n)return; 43 if(!inq[v]){ 44 inq[v]=1; 45 tl=(tl+1)%360000; 46 q[tl]=v; 47 } 48 } 49 } 50 } 51 return; 52 } 53 int main(){ 54 n=read();m=read();s=read(); 55 int i,j; 56 int u,v,d; 57 for(i=1;i<=m;i++){ 58 u=read(); 59 v=read(); 60 d=read(); 61 add_edge(u,v,d); 62 } 63 spfa(); 64 for(i=1;i<=n;i++){ 65 printf("%d ",dis[i]); 66 } 67 printf("\n"); 68 return 0; 69 }
View Code
P3383 【模板】线性筛素数
1 /*by SilverN*/ 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring> 5 #include<cstdio> 6 #include<cmath> 7 using namespace std; 8 int read(){ 9 int x=0,f=1;char ch=getchar(); 10 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 11 while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();} 12 return x*f; 13 } 14 const int mxn=10000005; 15 int pri[mxn>>1],cnt; 16 bool vis[mxn]; 17 void PRI(int mxn){ 18 vis[1]=1; 19 int i,j; 20 for(i=2;i<mxn;i++){ 21 if(!vis[i])pri[++cnt]=i; 22 for(j=1;j<=cnt && i*pri[j]<mxn;j++){ 23 vis[i*pri[j]]=1; 24 if(i%pri[j]==0)break; 25 } 26 } 27 return; 28 } 29 int n,m; 30 int main(){ 31 n=read();m=read(); 32 PRI(n+3); 33 int x; 34 while(m--){ 35 x=read(); 36 if(vis[x])printf("No\n"); 37 else printf("Yes\n"); 38 } 39 return 0; 40 }
View Code
转载于:https://www.cnblogs.com/SilverNebula/p/5900772.html
洛谷试炼场 普及常见模板相关推荐
- 洛谷 - 试炼场(全部题目备份)
整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...
- 洛谷试炼场 P1553 数字反转(升级版)题解
洛谷试炼场 P1553 数字反转(升级版)题解 [c] 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数. ...
- 【OJ】洛谷试炼场の新手村整合(Java语言描述)
Pass 最近通关了洛谷试炼场新手村Part,做了很多的红题和橙题,这里做一下整理吧,希望对需要的人有所帮助. 说明 这些内容确实不是什么复杂的东西,所以无需多言. 洛谷的第一个任务 这里是我写的所有 ...
- 洛谷试炼场-简单数学问题-二分查找
洛谷试炼场-简单数学问题 P1147 连续自然数和 题解: 本题给定一个数n,求连续自然数的和为n,用一个前缀数组,low_bound,upper_bound,查找是否是同一个数.O(nlog(n)) ...
- 洛谷试炼场 4-8单调队列
layout: post title: 洛谷试炼场 4-8单调队列 author: "luowentaoaa" catalog: true mathjax: true tags: ...
- 【洛谷试炼场】普及练习场——排序Ex
题目 1.P1583魔法照片 排序 题目链接· 蒟蒻题解 2.P1051谁拿了最多奖学金[NOIP2005T1] 排序 题目链接 蒟蒻题解 3.P1093奖学金[NOIP2007普及] 排序 题目链接 ...
- 【洛谷】普及练习场 深度优先搜索【易】
P1219 八皇后 题目大意: 给出一个n*n的正方形棋盘,在上棋盘上放下n个皇后,要求每个皇后所在的行,列,两条对角线上没有其他皇后,输出前三种解法(按字典序排,输出结果从上到下用列号表示),并且最 ...
- 【洛谷3865】 【模板】ST表(猫树)
传送门 洛谷 Solution 实测跑的比ST表快!!! 这个东西也是\(O(1)\)的,不会可以看我上一篇Blog 代码实现 代码戳这里 转载于:https://www.cnblogs.com/ml ...
- 【洛谷】P3919 【模板】可持久化线段树(主席树)
题目 传送门:QWQ 分析 主席树的模板,囤着 代码 #include <bits/stdc++.h> using namespace std; const int N=1000010; ...
- 洛谷P6097:【模板】子集卷积(FWT)
解析 完全可以当一道 DP 题而不是模板来做. 首先第一个条件: i∣j=ki|j=ki∣j=k 比较简单,直接上FWT板子即可. 考虑第二个条件:i&j=0i\&j=0i&j ...
最新文章
- ASP.NET防止按F5键造成表单重复提交
- Linux线程-互斥锁pthread_mutex_t
- 2021年计算机三级新题型,2021年如何通过计算机三级考试的经验
- OpenCASCADE:使用扩展数据交换 XDE之特性
- [emacs] python代码折叠
- 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)
- Acer 4736ZG的Mac之旅
- 1.2顺序线性表的归并
- 《疯狂的站长》读后感1
- ECharts实现数据可视化入门教程(超详细)
- Python爬虫系列(二)——Python爬虫批量下载百度图片
- 微生物测序分析LEfSe
- EXCEL VBA窗口快捷键冲突查找原因
- python defaultdict
- 你看到的都是错的!——虚拟化技术的真相
- 《守望先锋》模型提取实例
- 如何检查电脑端安装的Flash Activex 控件版本?
- 乐视tv真机开发调试,乐视盒子开发者模式,乐视android 开发调试模式
- 3d抽奖html,3d抽奖(微信)
- 几年工作之后“十句职场密语”