正题

题目链接:https://jzoj.net/senior/#main/show/3890


题目大意

nnn个点mmm条边的图,询问是否有111到nnn长度为TTT的路径。


解题思路

让WWW等于连接111的最小权值的两倍,然后用fi,jf_{i,j}fi,j​表示到第iii个点是否有权值%W=j\%W=j%W=j。然后用fi,T%Wf_{i,T\%W}fi,T%W​判断就好了。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define ll long long
using namespace std;
const ll N=55;
struct edge_node{ll to,next,w;
}a[N*4];
ll n,m,k,T,tot,W,ls[N*21000];
queue<int> q,qw;
bool v[N][21000];
void addl(ll x,ll y,ll w)
{a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;a[tot].w=w;
}
void SPFA(){memset(v,0,sizeof(v));q.push(1);qw.push(0);v[1][0]=1;while(!q.empty()){ll x=q.front(),w=qw.front();q.pop();qw.pop();for(ll i=ls[x];i;i=a[i].next){ll y=a[i].to,yw=(w+a[i].w)%W;if(!v[y][yw]){v[y][yw]=1;q.push(y);qw.push(yw);}}}
}
int main()
{scanf("%lld",&T);while(T--){tot=0;W=2147483647;memset(ls,0,sizeof(ls));scanf("%lld%lld%lld",&n,&m,&k);for(ll i=1;i<=m;i++){ll x,y,w;scanf("%lld%lld%lld",&x,&y,&w);x++;y++;addl(x,y,w);addl(y,x,w);}for(ll i=ls[1];i;i=a[i].next)W=min(W,a[i].w*2);SPFA();if(v[n][k%W]) printf("Possible\n");else printf("Impossible\n");}
}

jzoj3890-长途旅行【同余最短路】相关推荐

  1. 【算法笔记】一步一步推出来的同余最短路优化思路(千字长文,超详细)

    整理的算法模板合集: ACM模板 目录 同余最短路 例题1:luogu P3403 跳楼机 例题2:luogu P2371 [国家集训队]墨墨的等式 例题3:luogu P2662 牛场围栏 同余最短 ...

  2. 牛客 - Yuki with emofunc and playf(同余最短路)

    题目链接:点击查看 题目大意:初始时给出一个数字 y=1y=1y=1 和一个辅助数字 xxx,每回合可以执行两种操作中的一种: y=y∗10y=y*10y=y∗10 y=y+x−1y=y+x-1y=y ...

  3. P2662 牛场围栏(同余最短路)

    P2662 牛场围栏 思路 假设我们已经知道同余最短路是什么了,这里就不再过多赘述. 我们要尽可能地得到更多地课建成地边,那么我们必然要选一个basebasebase相对小的,因此我们可以对所有的棍子 ...

  4. 同余最短路(P3403 跳楼机)

    同余最短路 前置 给定m个数,这m个数可以重复取,问最大的这m个数不能拼成的数,或者给定一定范围,范围里有多少个数是这m个数可以拼成的,对于这种问题我们可以考虑同余最短路的算法. P3403 跳楼机 ...

  5. 湖南大学第十六届程序设计竞赛 B Yuki with emofunc and playf 同余最短路

    传送门 文章目录 题意: 思路: 题意: 初始有一个数111,你每次可以将其∗10*10∗10或者+(x−1)+(x-1)+(x−1),现在给你xxx,问最少经过多少步能到达nnn. 1≤n≤1e6, ...

  6. HDU - 6071 Lazy Running 同余最短路 + 分层

    传送门 题意: 给定四个点构成一个环,给出四个点之间的距离,让后从222号点出发,最终回到222号点,求经过的距离>=k>=k>=k的最小距离. 思路: 由于从222开始,最终在22 ...

  7. P2371 [国家集训队]墨墨的等式 同余最短路

    传送门 题意: 思路: 一个同于最短路的板子题,初始的时候值为0,所以设dis[0]=0dis[0]=0dis[0]=0,让后选择一个最小的a[i]a[i]a[i]作为basebasebase,跑一遍 ...

  8. 【学习笔记】同余最短路

    同余最短路是用来解决一类 ∑i=1naixi∈[L,R]\sum_{i=1}^n a_ix_i\in[L,R]∑i=1n​ai​xi​∈[L,R] 问题的方法. 其中 L,RL,RL,R 值非常大,而 ...

  9. c++回到起点旅行商问题_不要犯同样的错,提C型房车回渝上牌长途旅行的心路历程...

    视频版看这里➡️ 第一次驾驶三吨重房车到成功在村道脱险,这段旅程值得回顾 我们俩房车旅行近两年,为了更好的迎接新一年的到来,我们来简单回顾一下这一年多的房车旅程. 我们俩的旅行口号是:奔跑的影视工作室 ...

  10. 为实现电动车长途旅行,特斯拉超级充电站将大幅升级

    现在的特斯拉超级充电站功率都为120千瓦,升级后将达到350千瓦. 近日,特斯拉CEO埃隆·马斯克在Twitter上回复网友问题时表示,未来特斯拉超级充电站将不仅配备太阳能面板,还会在第三代超级充电站 ...

最新文章

  1. 什么是用户对计算机进行配置的重要工具,《计算机常用工具软件》试题1
  2. spring beans源码解读之--BeanFactory的注册
  3. jQuery easyUI--下拉菜单的制作
  4. scala中给集合创建懒加载view视图
  5. 在VS2019发布独立程序与单一执行程序
  6. flink读取不到文件_日处理数据量超10亿:友信金服基于Flink构建实时用户画像系统的实践...
  7. Windows下Android开发环境 搭建
  8. PWN-PRACTICE-BUUCTF-16
  9. 阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略
  10. 2011 - 12 - 12记录2011 - 12 - 11
  11. IT人员必学最基础知识(一)——总括
  12. C#播放视频时与暴风影音冲突的问题
  13. Linux如何增加SSH端口号
  14. 效率直接起飞的PPT技巧,你知道吗
  15. takes 1 positional argument but 2 were given
  16. 3D模型欣赏:永恒之王异形机甲风
  17. 【零基础教学】Unet局域网联机的实现——最基础的Unity联网实现方式(2)
  18. 微信小程序中使用Base64编码解码
  19. 不经意间的疏忽:Kb/KB与Kbps/KBps
  20. mac mysql php_Mac下搭建Apache+PHP+MySql运行环境

热门文章

  1. ios把数据传递到另一个页面_iOS 委托 页面之间传递数值
  2. 你真的知道Java同步锁何时释放?
  3. php cbd架构,CBD模式
  4. krc 编辑 linux,Linux网络编程
  5. 算法题目——爬楼梯(动态规划)
  6. 辅助类BinaryTreeNode(二叉树节点)
  7. Power Network POJ - 1459(EK算法模板+详解)
  8. mysql 5.74安装教程_MySQL安装、基本账户安全(5.0以后版本)
  9. linux源码_从linux源码看epoll及epoll实战揭秘
  10. 李洪超 硬件工程师_西安职位|各类工程师,软件开发等多岗位招募,轻松月入过万,全程视频面试...