POJ3613

POJ3613


题意:n条边构成的最短路

做法:倍增floyd

#include <cstdio>
#include <cstring>
#include <algorithm>
#define rep(i,a,b) for(int i=a;i<=b;++i)
typedef long long ll;
const int N = 207;
const int inf = 0x3f3f3f3f;
using namespace std;
int n,cnt,id[1007],T,S,E;
int dis[N][N][25],d[N][N],tmp[N][N];// dis[i][j][k] : i -> j 经过 2^k 条边的最短路int main() {scanf("%d%d%d%d",&n,&T,&S,&E);rep(i,1,200)rep(j,1,200)rep(k,0,22) dis[i][j][k] = d[i][j] = inf;rep(i,1,T) {int x,y,z;scanf("%d %d %d",&z,&x,&y);if(!id[x]) id[x] = ++cnt;if(!id[y]) id[y] = ++cnt;dis[id[x]][id[y]][0] = dis[id[y]][id[x]][0] = min(z,dis[id[y]][id[x]][0]);}rep(s,1,20)rep(k,1,cnt)rep(i,1,cnt)rep(j,1,cnt){dis[i][j][s] = min(dis[i][j][s],dis[i][k][s-1]+dis[k][j][s-1]);}rep(i,1,cnt) d[i][i] = 0;rep(s,0,20)if(n&(1<<s)) {rep(i,1,cnt)rep(j,1,cnt) tmp[i][j]=inf;rep(k,1,cnt)rep(i,1,cnt)rep(j,1,cnt) {tmp[i][j] = min(tmp[i][j],d[i][k]+dis[k][j][s]);}rep(i,1,cnt)rep(j,1,cnt)d[i][j]=tmp[i][j];}printf("%d\n",d[id[S]][id[E]]);return 0;
}

转载于:https://www.cnblogs.com/RRRR-wys/p/9432069.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ocelot-基于.NET Core的开源网关实现

写在前面API网关是系统内部服务暴露在外部的一个访问入口&#xff0c;类似于代理服务器&#xff0c;就像一个公司的门卫承担着寻址、限制进入、安全检查、位置引导等工作&#xff0c;我们可以形象的用下图来表示&#xff1a; 外部设备需要访问内部系统服务时必须要通过我们的AP…

【模拟】阿里郎(jzoj 2012)

阿里郎 jzoj 2012 题目大意&#xff1a; 有一个数n&#xff0c;求出它的所有约数d&#xff0c;有多少个约数就分多少种情况&#xff0c;每次分为d组&#xff0c;把1,d1,2d1……n-d1分为一组&#xff0c;以此类推&#xff0c;把2,d2,2d2……n-d2分为另一组&#xff0c;然后同…

[2020.10.25NOIP模拟赛]序列【Splay】

正题 题目链接:https://www.luogu.com.cn/problem/U136336?contestId36038 题目大意 第iii次找到第iii大的数字位置xix_ixi​并且翻转[i,xi][i,x_i][i,xi​]&#xff0c;求输出序列xxx 解题思路 记录一下每个排名在SplaySplaySplay中的位置&#xff0c;然后暴力翻转即可。 …

HDU2476

HDU2476 做法&#xff1a; 先想到用\(f[i]\)表示A的前i个字符变成B的最少涂得次数&#xff0c;不难写出方程&#xff0c;当\(A[i]≠B[i], f[i] max(f[j-1]cost[j][i])\), 当\(A[i]B[i]\)时&#xff0c;\(f[i]f[j-1]\) , \(cost[i][j]\) 表示将i到j涂成和B一样的最少的次数。现…

Blazor 0.5.0 升级及新特性介绍

前言喜大普奔&#xff0c; Blazor 0.5.0 在我刷了好几遍 Github &#xff08;表示功不可没&#xff09;以后&#xff0c;终于在 2018年7月25日发布了&#xff01;[Blazor 0.5.0 Announce] (https://blogs.msdn.microsoft.com/webdev/2018/07/25/blazor-0-5-0-experimental-rele…

【dfs】通行证(jzoj 2013)

通行证 jzoj 2013 题目大意&#xff1a; 有一个图&#xff0c;走某一条路需要某个通行证&#xff08;数据给出所有可选择的&#xff09;&#xff0c;现在要从某个点到另一个点&#xff0c;问最少要多少个通行证 样例输入 3 3 3 0 2 0 0 2 1 1 2 2样例输出 2 0 2数据范围限…

AT4378-[AGC027D]ModuloMatrix【构造】

正题 题目链接:https://atcoder.jp/contests/agc027/tasks/agc027_d 题目大意 n∗nn*nn∗n的网格&#xff0c;每个格子填一个数要求 所有数各不相同对于相邻的两个数ax,aya_x,a_yax​,ay​&#xff0c;max{ax,ay}%min{ax,ay}max\{a_x,a_y\}\%min\{a_x,a_y\}max{ax​,ay​}%mi…

HDU5693

HDU5693 做法&#xff1a; 同hdu2476也时两次dp的题&#xff0c;首先可以列出方程\(f[i] max(f[i-1], max(f[j-1](i-j1))*can[j][i])\)&#xff0c;\(can[j][i]\)表示从j到i能否完全消除。现在考虑如何求出\(can[l][r]\)&#xff0c;还是区间dp&#xff0c;任何一个长度≥2的等…

NuStore使用说明

简介.net core 部署有两种方式&#xff0c;一种是独立式部署&#xff08;SCD&#xff09;&#xff0c;另一种是框架依赖式部署&#xff08;FDD&#xff09;。以SCD方式生成发布包时&#xff0c;dotnet会将所有依赖打包到一个文件夹内&#xff0c;并为应用程序生成可执行文件。以…

【DP】【高精】逆序对(jzoj 2014)

逆序对 jzoj 2014 题目大意&#xff1a; 有一个长为n的序列&#xff08;由1,2,3,……n组成&#xff09;&#xff0c;问经过某种调整之后&#xff0c;有k个逆序对&#xff08;即在前面的一个数大于后面的一个数这样的对&#xff09;的种数&#xff0c;有多组数据&#xff0c;…

Codeforces274B

Codeforces274B 做法&#xff1a;树形dp&#xff0c;\(up[u]\)至少加多少次, \(down[u]\) 至少减多少次可以消去u这棵子树 转移&#xff1a;首先\(up[u] max(up[v]), down[u] max(down[u])\)&#xff0c;因为为了消除整颗子树一定要选最多的次数才能消完&#xff0c;那么现在…

HttpClientFactory与Steeltoe结合来完成服务发现

前言上一篇说了一下用HttpClientFactory实现了简单的熔断降级。这篇就来简单说说用HttpClientFactory来实现服务发现。由于标题已经好明显的说了Steeltoe因此这里会要求有Spring Clound的相关环境&#xff0c;本文也默认各位对这里有些许了解&#xff0c;所以不会涉及搭建过程的…

P4149-[IOI2011]Race【点分治】

正题 题目链接:https://www.luogu.com.cn/problem/P4149 题目大意 nnn个点的一棵树&#xff0c;求一条边最少的权值和为kkk的路径。 解题思路 直接点分治&#xff0c;然后用mapmapmap记录每个权值和的最小边数转移即可。 时间复杂度O(nlog⁡2n)O(n\log^2 n)O(nlog2n) codecod…

【并查集】【最小生成树】【贪心】给水(jzoj 2015)

给水 jzoj 2015 题目大意&#xff1a; 有n个草地&#xff0c;可以在某些草地各安装一个水井&#xff0c;代价是aia_iai​&#xff0c;或者从别的草地运水过来&#xff0c;代价是pijp_{ij}pij​&#xff0c;现在问要让所有草地都有水&#xff0c;代价最少是多少 样例输入 4…

业务流程、长周期服务和微服务

在近期于伦敦Skills Matter举行的DDD eXchange 2018会议上&#xff0c;Martin Schimak认为在最近几年间&#xff0c;领域事件引发了越来越多的讨论&#xff0c;但是我们对命令也应如此&#xff0c;在这次会议上他讨论了微服务领域的事件、命令以及长周期的服务&#xff0c;以及…

Gym100187I

Gym100187I 做法&#xff1a;倒着构造&#xff0c;根据下一个数确定正负&#xff0c;本身这个位置确定升降&#xff0c;正就从1开始&#xff0c;负就从-1开始。最终序列从1e9开始&#xff0c;特殊处理一下&#xff0c;中间判是否越界即可。 水吧。。。然后就爆炸了&#xff0c;…

P3708-koishi的数学题【差分】

正题 题目链接:https://www.luogu.com.cn/problem/P3708 题目大意 定义f(x)∑i1nx%if(x)\sum_{i1}^nx\% if(x)∑i1n​x%i 求每个f(i)f(i)f(i) 解题思路 考虑枚举模数iii&#xff0c;对与每个xxx会产生x%ix\% ix%i的贡献&#xff0c;也就是对与连续的一段是0,1,2,3,...i−10…

纪中C组模拟赛总结(2019.7.6)

成绩&#xff1a; 注&#xff1a;rankrankrank是有算其他dalaodalaodalao的 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3T4T4T4222lyflyflyf120120120101010101010000100100100121212fyfyfy404040000404040000000121212wjjwjjwjj4040400002020200002020202828…

【数位DP】B-number(HDU 3652)

B-number HDU 3652 题目大意&#xff1a; 有一个数n&#xff0c;求出1~n中含‘13’且能被13整除的数有多少个 输入样例 13 100 200 1000输出样例 1 1 2 2解题思路&#xff1a; 用数位DP枚举完每一位&#xff0c;同事也判断题目要求的条件 数据范围&#xff1a; 1 <…

#20071-[NOIP2020模拟赛B组Day6]礼物购买【二分】

正题 题目链接:http://noip.ybtoj.com.cn/contest/105/problem/1 题目大意 nnn个物品&#xff0c;每个价格为viv_ivi​有xix_ixi​个&#xff0c;mmm次&#xff0c;开始有wiw_iwi​元。每次选择能买的最贵的买&#xff0c;求能买多少。 解题思路 分两种情况讨论&#xff0c;如…