链接

点击跳转

题解

出题人的做法被hack了,不过幸亏他写了spj,数据可以保证是对的

这题的同余最短路做法是对的,而且还挺裸

关于同于最短路看这里

代码

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define iinf 0x3f3f3f3f
#define linf (1ll<<60)
#define eps 1e-8
#define maxn 1000010
#define maxe 1000010
#define cl(x) memset(x,0,sizeof(x))
#define rep(i,a,b) for(i=a;i<=b;i++)
#define drep(i,a,b) for(i=a;i>=b;i--)
#define em(x) emplace(x)
#define emb(x) emplace_back(x)
#define emf(x) emplace_front(x)
#define fi first
#define se second
#define de(x) cerr<<#x<<" = "<<x<<endl
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll read(ll x=0)
{ll c, f(1);for(c=getchar();!isdigit(c);c=getchar())if(c=='-')f=-f;for(;isdigit(c);c=getchar())x=x*10+c-0x30;return f*x;
}
ll dis[maxn], p;
pll ans[maxn];
void dijkstra(vector<ll> v)
{priority_queue< pair<ll,ll>, vector< pair<ll,ll> >, greater< pair<ll,ll> > > heap;ll i;rep(i,1,p-1)dis[i]=linf;heap.em( make_pair( dis[0], 0 ) );ans[0] = {0,0};while(!heap.empty()){auto pr = heap.top(); heap.pop();if(pr.fi>dis[pr.se])continue;for(int i=0;i<v.size();i++){auto to = (pr.se+v[i])%p;if(dis[to]>pr.fi+v[i]){dis[to] = pr.fi+v[i];ans[to] = {ans[pr.se].fi+!i,ans[pr.se].se+i};heap.em( make_pair(dis[to],to) );}}}
}
int main()
{ll a, b, c, k;cin >> a >> b >> c >> k;p = a;dijkstra({b,c});ll x, y=ans[k%a].fi, z=ans[k%a].se;cout << (k-b*y-c*z)/a << ' ' << y << ' ' << z;return 0;
}

牛客练习赛60 D斩杀线计算大师相关推荐

  1. 牛客练习赛 60(待补E-长链剖分或者dsu)

    A.大吉大利 位运算有独立性,按位计算对答案的贡献即可. #define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GC ...

  2. 牛客练习赛60 C—操作集锦

    整理的算法模板:ACM算法模板总结(分类详细版) 链接:https://ac.nowcoder.com/acm/contest/4853/C 来源:牛客网 题目描述 有一款自走棋有26种操作,每种操作 ...

  3. 牛客练习赛60 ~ 斩杀线计算大师

    题目传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge, 64bit IO Format: %lld 题目描述 算 ...

  4. 操作集锦【牛客网】 牛客练习赛60

    题目传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 有一款自走棋有26种操作,每种操 ...

  5. 大吉大利【牛客网】(牛客练习赛60)

    传送 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format:%lld 题目描述 输入描述: 第一行一个整数n. 第二行 ...

  6. 斩杀线计算大师 三元一次方程解

    https://ac.nowcoder.com/acm/contest/4853/D 已知a b c k 求出x y z. 考虑ax+by+cz=k,那么我们移项得ax+by=k-cz,如果k在剪掉c ...

  7. 妄想集合(牛客练习赛90)

    妄想集合(牛客练习赛90) 题意: 开始有 n 个可重集合,开始时每一个集合中都有一个数,有 m 个操作. Quant l r x\text{Quant l r x}Quant l r x:往编号在 ...

  8. 牛客练习赛29 题解

    牛客练习赛29 A. 可持久化动态图上树状数组维护01背包 题解 这题跟标题没有任何关系- 贪心的使得负数删除的时候下标尽可能大,然后正数的时候下标尽可能小. 观察到每个数下标最大的时候就是它的初始下 ...

  9. 最小生成树--牛客练习赛43-C

    牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 ​ 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...

最新文章

  1. Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver 驱动问题处理办法
  2. aws lambda_如何为AWS Lambda实施日志聚合
  3. Go Web编程--应用数据库
  4. SLAM无人车 map_server在代码中切换地图,地图保存
  5. 超好用的代码格式化工具Astyle使用
  6. 模糊 K 均值聚类算法
  7. 百度离线地图-加载地图(一)
  8. mysql+美团点评_美团点评Mysql高可用架构:MGR
  9. 【多目标优化】3. 基于分解的多目标进化算法 —(MOEA/D)
  10. http解析库http-parser
  11. 华为芯片设计面试题_华为公司面试硬件工程师笔试题
  12. centos 架设虚拟服务器,centos虚拟主机搭建(centos搭建网站)
  13. linux下终端分屏使用
  14. vscode使用ssh连接远程Ubuntu服务器(记录)
  15. php语言开始和结束分别为,PHP语言参考
  16. 在线计算机手册,1. 计算机应用基础学习手册.pdf
  17. 写给大家看的PPT设计书
  18. 《比尔总动员》删档测验正式敞开,开端你的地球捍卫之旅吧
  19. 将Qt Designer的ui文件转换为PySide2使用的.py文件
  20. 3.JavaWeb基础知识总结

热门文章

  1. 天猫无线内容运营总监教你如何做好内容营销
  2. winscp如何查看隐藏文件
  3. C# 合并PDF文件
  4. python abaqus二次开发 模拟3维裂纹扩展
  5. 2020-12-22 PMP 群内练习题 - 光环
  6. Qt QSetting 生成*.ini.lock和*.ini.shn126阻塞程序的问题
  7. 聊天室(chatRoom)
  8. R语言和医学统计学(9):多重检验
  9. 外向的人为何却喜欢孤独
  10. Qt 中的动画(Animations)