HDU 4849 Wow! Such City!

题目链接

题意:依照题目中的公式构造出临接矩阵后。求出1到2 - n最短路%M的最小值

思路:就依据题目中方法构造矩阵,然后写一个dijkstra,利用d数组取求答案就可以

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;const long long INF = 100000000000000LL;
const int N = 1005;
typedef long long ll;
long long n, m, X0, X1, Y0, Y1;
long long a[N * N], b[N * N], c[N * N], g[N][N], d[N];
int vis[N * N];void build() {memset(vis, 0, sizeof(vis));a[0] = X0; a[1] = X1;b[0] = Y0; b[1] = Y1;g[1][2] = (a[1] * 90123 % 8475871 + b[1]) % 8475871 + 1;for (int i = 2; i < n * n; i++) {a[i] = (12345 + a[i - 1] * 23456 % 5837501 + a[i - 2] * 34567 % 5837501 + a[i - 1] * a[i - 2] % 5837501 * 45678 % 5837501) % 5837501;b[i] = (56789 + b[i - 1] * 67890 % 9860381 + b[i - 2] * 78901 % 9860381 + b[i - 1] * b[i - 2] % 9860381 * 89012 % 9860381) % 9860381;g[i / n + 1][i % n + 1] = (a[i] * 90123 % 8475871 + b[i]) % 8475871 + 1;}for (int i = 1; i <= n; i++)g[i][i] = 0;
}void dijk() {int v[N];memset(v, 0, sizeof(v));for (int i = 1; i <= n; i++)d[i] = INF;d[1] = 0;for (int i = 0; i < n; i++) {int x; long long m = INF;for (int y = 1; y <= n; y++) if (!v[y] && d[y] <= m) {m = d[y]; x = y;}v[x] = 1;for (int y = 1; y <= n; y++) d[y] = min(d[y], d[x] + g[x][y]);}
}int main() {while (cin >> n >> m >> X0 >> X1 >> Y0 >> Y1) {build();dijk();for (int i = 2; i <= n; i++) {vis[d[i] % m] = 1;}long long ans_v = INF;for (long long i = 0; i < m; i++) {if (vis[i])ans_v = min(ans_v, i);}cout << ans_v << endl;}return 0;
}

HDU 4849 Wow! Such City!陕西邀请赛C(最短路)相关推荐

  1. HDU4809 Wow! Such City! Dijkstra算法

    点击打开链接 Wow! Such City! Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 102400/102400 K (Jav ...

  2. HDU - 4847 Wow! Such Doge!

    Problem Description Chen, Adrian (November 7, 2013). "Doge Is An Ac- tually Good Internet Meme. ...

  3. HDU 4850 Wow! Such String! 【欧拉回路】【一顿乱构造】

    link: http://acm.hdu.edu.cn/showproblem.php?pid=4850 题解: 每个长度为3的字符串当一个节点,每个节点连出26条边,代表给长度为3的字符串吼添加'a ...

  4. Wow! Such City! 最短路问题

    Doge, tired of being a popular image on internet, is considering moving to another city for a new wa ...

  5. 一类SG函数递推性质的深入分析——2018ACM陕西邀请赛H题

    题目描述 定义一种有根二叉树\(T(n)\)如下: (1)\(T(1)\)是一条长度为\(p\)的链: (2)\(T(2)\)是一条长度为\(q\)的链: (3)\(T(i)\)是一棵二叉树,它的左子 ...

  6. HDU 4893 - Wow! Such Sequence!(线段树)

    题意:给定 n 个数的序列(1 <= n <= 100000,且初始均为 0),m 个操作(1 <= m <= 100000),操作共分三种: 1.将第 k 个数加 d: 2. ...

  7. hdu 4588 Count The Carries 南京邀请赛

    题目意思:求a~b 之间数二进制的和 求  进了多少位. 比如  1-3     01+10+11=22   22->30->110 进了 2位 要寻找规律,发现  加到3的时候为22   ...

  8. HDU - 6183 Color it 2017广西邀请赛(线段树)

    题目链接 题意: 有四种操作 0操作 清空所有点 1操作 在(x,y)处插入一个带颜色的点 2 操作统计(1~x)(y1~y2)这个范围的不同的颜色数 3 结束 思路: 颜色数只有51个 我们可以建5 ...

  9. HDU 4893 Wow! Such Sequence!(2014年多校联合 第三场 G)(线段树)

    磨了一天的线段树,不能说完全搞清楚,只能说有一个大概的了解,靠着模板才把这道题A了,只能说太弱~~! 题意: 初始时有一字符串,全为0. 三种操作: 1 k d - add  把d加到第k个数上去 2 ...

  10. 最短路 + 搜索 + 剪枝 之 hdu 4848 Wow! Such Conquering!

    // [7/26/2014 Sjm] /* 此题要求的值是: the minimum sum of all arrival time to each Doge Planet.先用 Floyd 求任意两 ...

最新文章

  1. InputFormat到key-value生成流程,reduce写出数据流程
  2. java get方法报空指针_面试的哪些事儿之JAVA程序员面试笔试题(一)
  3. RocketMQ源码解析:Producer发送消息+Broker消息存储
  4. python解释器 pip安装_pip安装Python库时的问题及解决方法总结
  5. servlet和action的区别
  6. centos系统rpm命令
  7. Jquery 学习之基础一
  8. MMDetection的调试笔记
  9. 5G 时代,优酷推出的帧享究竟是什么?
  10. SCOM 2012知识分享-16:管理任务窗格
  11. RemObjects_SDK平台远程处理框架
  12. 超星阅读器pdz文件转为xps文件或pdf文件说明
  13. 软件测试加油站ic卡管理系统,加油站IC卡管理系统,加油机IC卡管理系统,加油站自助加油机功能介绍...
  14. k8s安装prometheus+grafana(第二弹:prometheus-operator)
  15. 用函数求最大公约数c语言,C语言求最大公约数公式分享
  16. 安全需求规范和管理指南
  17. android蓝牙传文件在哪里找,手机蓝牙传输的文件在哪里_华为手机蓝牙传输记录在哪-系统城...
  18. 基于微信小程序菜谱小程序毕业设计开题报告功能参考
  19. 【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
  20. 深度学习模型训练和关键参数调优详解

热门文章

  1. linux camera 存储,OpenCV调用摄像头录像并保存下来
  2. 热烈祝贺龙芯Loongarch OpenJDK8开源,已编译完成
  3. JDK windows加载字体文件的函数
  4. JDK8编译,JDK8运行错误
  5. Linux中如何判断一个另外进程是否活着
  6. 连文件搜索都不会用,也不自己反省一下?
  7. CSDN博客排名不更新,谈谈重构的做法
  8. 管理感悟:计划是给谁看的
  9. html用于信息展示的表格源码,Html表格
  10. C# pictureBox桌面大小自适应 大小自适应 窗体居中