题目 题意: 我一开始以为题意有问题,后来看了题解看了半天才看明白题意,小丑竟是我自己。n个点,m条线路,每条线路给出若干条边,费用变化为每走k便加1。给定T个询问,以T为起点可以到达多少个可以拍照的点。可以在费用相同的最远距离的点、线路端点处进行拍照。而且我们可以通过在多条线路中都出现的点在这些线路中切换。在起点处也能拍照。解释不太清楚,反正挺离谱。 思路: floyd处理最短路,Dij应该也行。然后dfs求出所有满足条件的点。而且这个输入还卡了我一个段错误,换成while getchar就行了,属于是不明白。 时间复杂度: O(n^3 + n) 代码:
#include
using namespace std;
const int N = 1002;
const int INF = 0x3f3f3f3f;
int n,m,k,T;
bool line[N];
int a[N][N];
vector va[N]; //点i可以到的费用相同的最远的点和端点
map mp; //费用i对应的最远的点
bool vis[N];
void floyd()
{
for(int k=1;k>m>>k;
for(int i=1;i>z>>y;
a[x][y] = min(a[x][y],z);
a[y][x] = min(a[y][x],z);
x = y;
}
line[x] = 1;
}
floyd();
for(int i=1;i>x;
memset(vis,false,sizeof(vis));
vis[x] = 1;
dfs(x);
bool ok = true;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?