对没错我就是在水博

P3366 【模板】最小生成树

  kruskal:

View Code

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

洛谷试炼场 普及常见模板相关推荐

  1. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  2. 洛谷试炼场 P1553 数字反转(升级版)题解

    洛谷试炼场 P1553 数字反转(升级版)题解 [c] 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数. ...

  3. 【OJ】洛谷试炼场の新手村整合(Java语言描述)

    Pass 最近通关了洛谷试炼场新手村Part,做了很多的红题和橙题,这里做一下整理吧,希望对需要的人有所帮助. 说明 这些内容确实不是什么复杂的东西,所以无需多言. 洛谷的第一个任务 这里是我写的所有 ...

  4. 洛谷试炼场-简单数学问题-二分查找

    洛谷试炼场-简单数学问题 P1147 连续自然数和 题解: 本题给定一个数n,求连续自然数的和为n,用一个前缀数组,low_bound,upper_bound,查找是否是同一个数.O(nlog(n)) ...

  5. 洛谷试炼场 4-8单调队列

    layout: post title: 洛谷试炼场 4-8单调队列 author: "luowentaoaa" catalog: true mathjax: true tags: ...

  6. 【洛谷试炼场】普及练习场——排序Ex

    题目 1.P1583魔法照片 排序 题目链接· 蒟蒻题解 2.P1051谁拿了最多奖学金[NOIP2005T1] 排序 题目链接 蒟蒻题解 3.P1093奖学金[NOIP2007普及] 排序 题目链接 ...

  7. 【洛谷】普及练习场 深度优先搜索【易】

    P1219 八皇后 题目大意: 给出一个n*n的正方形棋盘,在上棋盘上放下n个皇后,要求每个皇后所在的行,列,两条对角线上没有其他皇后,输出前三种解法(按字典序排,输出结果从上到下用列号表示),并且最 ...

  8. 【洛谷3865】 【模板】ST表(猫树)

    传送门 洛谷 Solution 实测跑的比ST表快!!! 这个东西也是\(O(1)\)的,不会可以看我上一篇Blog 代码实现 代码戳这里 转载于:https://www.cnblogs.com/ml ...

  9. 【洛谷】P3919 【模板】可持久化线段树(主席树)

    题目 传送门:QWQ 分析 主席树的模板,囤着 代码 #include <bits/stdc++.h> using namespace std; const int N=1000010; ...

  10. 洛谷P6097:【模板】子集卷积(FWT)

    解析 完全可以当一道 DP 题而不是模板来做. 首先第一个条件: i∣j=ki|j=ki∣j=k 比较简单,直接上FWT板子即可. 考虑第二个条件:i&j=0i\&j=0i&j ...

最新文章

  1. ASP.NET防止按F5键造成表单重复提交
  2. Linux线程-互斥锁pthread_mutex_t
  3. 2021年计算机三级新题型,2021年如何通过计算机三级考试的经验
  4. OpenCASCADE:使用扩展数据交换 XDE之特性
  5. [emacs] python代码折叠
  6. 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)
  7. Acer 4736ZG的Mac之旅
  8. 1.2顺序线性表的归并
  9. 《疯狂的站长》读后感1
  10. ECharts实现数据可视化入门教程(超详细)
  11. Python爬虫系列(二)——Python爬虫批量下载百度图片
  12. 微生物测序分析LEfSe
  13. EXCEL VBA窗口快捷键冲突查找原因
  14. python defaultdict
  15. 你看到的都是错的!——虚拟化技术的真相
  16. 《守望先锋》模型提取实例
  17. 如何检查电脑端安装的Flash Activex 控件版本?
  18. 乐视tv真机开发调试,乐视盒子开发者模式,乐视android 开发调试模式
  19. 3d抽奖html,3d抽奖(微信)
  20. 几年工作之后“十句职场密语”

热门文章

  1. 编程必备的最基本5种算法思想
  2. 【Unity 自学之路】2 - 素材编辑
  3. 浅谈JSP编程的网店管理系统构造
  4. php将请求转发,PHP中实现请求转发(curl)和请求重定向
  5. 【转载】html中自定义字体
  6. Linux内核原理-pid namespace
  7. FineUI 后台Grid中 某列添加背景色 AspCore MVC
  8. 红米7pro支持html不,可以畅快的刷机了,红米Note 7 Pro等机型适配 TWRP
  9. 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
  10. 多元函数极值及其求法