Geodetic集合

P3906


技术统计

难度

提高+/省选-

用时

30min

提交次数 1

unaccept 次数 0

ac次数 1


题意概括

题干不能再概括了啊啊啊啊

数据范围

n≤40n\le40n≤40



解法、

知识点

  1. floyd
  2. 最短路

解法概括

我欺负它数据范围小,就直接跑floyd咯。然后枚举1~n所有的点,若存在dis[i][k]+dis[k][j]==dis[i][j],则ans++。个人认为这里是floyd算法的逆应用。

坑点

  1. 一定要建双向边
  2. 每次统计完后别忘记sort一下,以防万一

代码实现

#include<cstdio>
#include<algorithm>
#include<cstring>
#define inf 40
using namespace std;
int n,m;
int vis[50];
int f[50][50];
inline int read()
{int f=1,k=0;char c=getchar();while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9')k=(k<<1)+(k<<3)+(c^48),c=getchar();return f*k;
}
void floyd()
{for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
int main()
{n=read();m=read();memset(f,inf,sizeof(f));for(int i=1;i<=m;i++){int a=read(),b=read();f[a][b]=f[b][a]=1;}floyd();int q=read();for(int i=1;i<=q;i++){memset(vis,0,sizeof(vis));int a=read(),b=read(),cnt=0;vis[++cnt]=a;for(int j=1;j<=n;j++)if(f[a][j]+f[j][b]==f[a][b])vis[++cnt]=j;vis[++cnt]=b;sort(vis+1,vis+cnt+1);for(int j=1;j<cnt;j++)printf("%d ",vis[j]);printf("%d\n",vis[cnt]);}
}


类似题目

还没做到qwq(本来这里我想打ye的,但是没找到,,结果发现了“吔”,,,果然b站不能完全相信QAQ)

洛谷P3906 Geodetic集合解题报告相关推荐

  1. 洛谷——P3906 Geodetic集合

    P3906 Geodetic集合 题目描述 图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为 ...

  2. 洛谷 P3906 Geodetic集合 题解

    题目描述 图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为v-u的Geodetic顶点,这些 ...

  3. 洛谷 P3906 Geodetic集合

    题目大意: nnn个点mmm条遍的无向图,如果点iii在点uuu到点vvv的最短路径(uuu到vvv的边数最少)上,那么记这些点为集合I(u,v)I(u,v)I(u,v) 有kkk个询问,问集合I(u ...

  4. 洛谷1056 排座椅 解题报告

    洛谷1056 排座椅 本题地址: http://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头 ...

  5. 洛谷1067 多项式输出 解题报告

    洛谷1067 多项式输出 本题地址: http://www.luogu.org/problem/show?pid=1067 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i ...

  6. 洛谷 P4475 巧克力王国 解题报告

    P4475 巧克力王国 题目描述 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 \(x\) 和 \( ...

  7. 洛谷 P4706 取石子 解题报告

    P4706 取石子 题目描述 现在 Yopilla 和 yww 要开始玩游戏! 他们在一条直线上标记了 \(n\) 个点,从左往右依次标号为 \(1, 2, ..., n\) .然后在每个点上放置一些 ...

  8. 洛谷 P1309 瑞士轮 解题报告

    P1309 瑞士轮 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低 ...

  9. 洛谷 P2184 贪婪大陆 解题报告

    P2184 贪婪大陆 题目背景 面对蚂蚁们的疯狂进攻,小\(FF\)的\(Tower\) \(defence\)宣告失败--人类被蚂蚁们逼到了\(Greed\) \(Island\)上的一个海湾.现在 ...

最新文章

  1. Segment Routing — SRv6 — 网络架构与应用场景
  2. 分享一百多套开发视频教程的下载地址(转)
  3. 转机器学习系列(9)_机器学习算法一览(附Python和R代码)
  4. 纯c语言实现动态分配多维数组的方法
  5. 文件上传速度查询方法
  6. 开源app之MyHearts
  7. [网络流24题-6]孤岛营救问题
  8. 禅道外部消息提示_Spring Boot中文参考指南(2.1.6)34、消息传递
  9. 关于自学的又一点思考
  10. [原]超快速搞定linux的vnc
  11. 条码打印软件如何实现二维码内容换行显示 1
  12. mysql case循环_php一次操作多个数据是循环更新好还是使用mysql里带的casewhen?性能方面哪个更有优势?...
  13. R 计算时间序列自相关性教程
  14. 2.3 The 10-armed Testbed 10摇臂老虎机试验台
  15. 华大MCU(四):HC32F460串口IAP升级app部分
  16. 一个程序员的失恋故事
  17. 详解String的intern方法
  18. RT-Thread 学习文档
  19. Tex_开题报告beamer模板
  20. ionic 中的折线图与柱状图

热门文章

  1. 中文翻译泰文难吗?如何做好泰文翻译?
  2. 大学计算机第七版读书笔记(第二章)
  3. [原创]华为战略管理培训体会
  4. 青竹画材科创板IPO进程终止:原计划募资4亿元,刘其通为控股股东
  5. Java泛型 T extends Serializable
  6. matlab金字塔,高斯金字塔的matlab实现
  7. “顾客至上,服务至上”??
  8. netty整合shiro,报There is no session with id [xxxxxx]问题定位及解决
  9. C++引用实现函数传递数据
  10. 一个由于侵入框架引起的故障