Wow! Such City!

   题意:题面很难理解,幸亏给出了提示,敲了一发板子过了。给出x数组y数组和z数组的求法,并给出x、y的前几项,然后直接利用所给条件构造出z数组再构造出C数组即可,Cij表示i点到j点的路长,然后再跑个dij就可以求出0点到其他点的最短路,然后将这些最短路对M取余求所有取余值的最小值。需要注意的是Cij=Z(i*n+j),也就是X、Y、Z数组都要开到(n-1)*n+n。理解了其实也就是水题了,题意这样东扯西扯真是迷。。
const int N=1e6+1000;
ll w[1001][1001],d[1001];
ll z[N],x[N],y[N];
int v[N],vis[N];
int n,m;
void init()
{
int fuck=(n-1)*n+n;
for(int i=2; i<fuck; i++)
{
x[i]=(12345+x[i-1]*23456+x[i-2]*34567+x[i-1]*x[i-2]*45678)%5837501;
y[i]=(56789 +y[i-1]*67890 +y[i-2]*78901+y[i-1]*y[i-2]*89012)%9860381;
}
for(int i=0;i<fuck;i++) z[i]=(x[i]*90123+y[i])%8475871+1;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
w[i][j]=i==j?0:z[i*n+j];
// for(int i=0; i<fuck ; i++)
// printf("%8d",i);
// puts("");
// for(int i=0; i<fuck ; i++)
// printf("%8I64d",x[i]);
// puts("");
// for(int i=0; i<fuck ; i++)
// printf("%8I64d",y[i]);
// puts("");
// for(int i=0; i<fuck ; i++)
// printf("%8I64d",z[i]);
// puts("\n");
// for(int i=0; i<n; i++)
// {
// for(int j=0; j<n; j++)
// printf("%8I64d",w[i][j]);
// puts("");
// }
// puts("");
}
void dij()
{
memset(v,0,sizeof(v));
memset(vis,0,sizeof(vis));
int ans=INF;
for(int i=0; i<n; i++) d[i]=i==0?0:INF;
for(int i=0; i<n; i++)
{
int x,mm=INF;
for(int j=0; j<n; j++)
if(!vis[j]&&mm>=d[j])
mm=d[x=j];
vis[x]=1;
for(int j=0; j<n; j++)
d[j]=min(d[j],d[x]+w[x][j]);
}
// puts("");
// for(int i=1; i<n; i++)
// {
// printf("%8I64d",d[i]);
// int tmp=d[i]%m;
// v[tmp]++;
// }
// puts("");
for(int i=1; i<n; i++)
{
int tmp=d[i]%m;
ans=min(ans,tmp);
}
printf("%d\n",ans);
}
int main()
{
while(~scanf("%d%d%I64d%I64d%I64d%I64d",&n,&m,&x[0],&x[1],&y[0],&y[1]))
{
init();//生成Z数组,W数组
dij();
}
return 0;
}

HDU-4849 Wow! Such City!,最短路!的更多相关文章

  1. HDU 4849 Wow! Such City!陕西邀请赛C(最短路)

    HDU 4849 Wow! Such City! 题目链接 题意:依照题目中的公式构造出临接矩阵后.求出1到2 - n最短路%M的最小值 思路:就依据题目中方法构造矩阵,然后写一个dijkstra,利 ...

  2. HDU 4849 - Wow! Such City!

    Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)   Input There ar ...

  3. hdu4849 Wow! Such City!(最短路dijkstra)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:pid=4849">http://acm.hdu.edu ...

  4. hdu 4850 Wow! Such String! 欧拉回路

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4080264.html 题目链接:hdu 4850 Wow! Such String! 欧拉回 ...

  5. hdu 4893 Wow! Such Sequence!(线段树)

    题目链接:hdu 4983 Wow! Such Sequence! 题目大意:就是三种操作 1 k d, 改动k的为值添加d 2 l r, 查询l到r的区间和 3 l r. 间l到r区间上的所以数变成 ...

  6. Hdu 5352 MZL's City (多重匹配)

    题目链接: Hdu 5352 MZL's City 题目描述: 有n各节点,m个操作.刚开始的时候节点都是相互独立的,一共有三种操作: 1:把所有和x在一个连通块内的未重建过的点全部重建. 2:建立一 ...

  7. HDU 4850 Wow! Such String!(欧拉道路)

    HDU 4850 Wow! Such String! 题目链接 题意:求50W内的字符串.要求长度大于等于4的子串,仅仅出现一次 思路:须要推理.考虑4个字母的字符串,一共同拥有26^4种,这些由这些 ...

  8. hdu 4849 最短路 西安邀请赛 Wow! Such City!

    http://acm.hdu.edu.cn/showproblem.php?pid=4849 会有非常多奇怪的Wa的题.当初在西安就不知道为什么wa,昨晚做了,由于一些Sb错误也wa了非常久.这会儿怎 ...

  9. HDU-4849 Wow! Such City! (单源最短路)

    Problem Description Doge, tired of being a popular image on internet, is considering moving to anoth ...

随机推荐

  1. html的meta总结

    引子 之前的我的博客中对于meta有个介绍,例如:http://www.haorooms.com/post/liulanq_think_ie 浏览器安全性想到的这篇文章,中间介绍了meta下面IE的一 ...

  2. url各部分组成分解

    url各部分组成分解介绍:关于url可能大家都不陌生,第一印象就是网址.但是深究起来,不少朋友并明白里面的一些细节,下面就来进行一下分解.scheme://host:port/path?query#f ...

  3. CPU性能的评价

    人们通常用benchmark 来衡量CPU的性能,常见的benchmark有dhrystone和coremark. 由于dhrystone 受编译器影响比较大,所以,结果不是很准确,现在大多采用cor ...

  4. CodeForces 219D Choosing Capital for Treeland (树形DP)

    题意:给一个树形图,n个节点,n-1条有向边,要求选一个节点作为根,使需要改变方向的边的数目最少.并输出所有可能作为根的点. 思路: 先随便一个点进行DFS,计算将每棵子树的边全部往下时,所需要的费用 ...

  5. 算法马拉松13 A-E解题报告

    A题意(取余最长路): 佳佳有一个n*m的带权矩阵,她想从(1,1)出发走到(n,m)且只能往右往下移动,她能得到的娱乐值为所经过的位置的权的总和. 有一天,她被下了恶毒的诅咒,这个诅咒的作用是将她的 ...

  6. 闭包和OC的block的本质

    “闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域). http://blog.csdn ...

  7. 一条SQL语句在MySQL中是如何执行的

    概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架构分析 mysql主要分为Server层和存储 ...

  8. [Vue warn]: Failed to mount component: template or render function not defined.解决方案

    命名视图 vue router 里有一个 模式叫做 命名视图 本来一个页面里面只能有一个路由视图 对应 一个组件,现在可以多个路由视图 对应 多个组件. 出错点 点击标签之后,<router-v ...

  9. SimpleWeather APP

    参考 iOS 7 Best Practices; A Weather App Case Study: Part 1/2 iOS 7 Best Practices; A Weather App Case ...

  10. iOS开发--使用OpenSSL生成私钥和公钥的方法

    最近要在新项目中使用支付宝钱包进行支付,所以要调研对接支付宝的接口,支付宝开放平台采用了RSA安全签名机制,开发者可以通过支付宝   公钥验证消息来源,同时可使用自己的私钥对信息进行加密,所以需要在本 ...