BZOJ5056 OI游戏 最短路+组合数学
正解:最短路+小学奥数 乘法原理
解题报告:
首先读懂题意(,,,我觉得我吃枣死于语文太差读不懂题目QAQ
大意就是港,要求从第一个点到其他各点的长度都是最短的方案有多少个(ummm,,,不知道表述清楚辽没有QAQ
那理解了大意就简单辣,不就是个小学奥数乘法原理嘛,然后剩下的实现过程和原理我昨儿写了一下直接贴过来辽
先跑一遍最短路,得到到每个点的dis
然后一个个点地看,看从它的邻点到它是最短路的有几个,然后ans*=个数
理解一下?
因为我有这么多个点过来,我就可以任取他们中的一条边留下其他的删了,然后根据小学奥数知识可以得到这相当于是分阶段那当然是乘法原理咯,乘一下就出来了
over
#include<bits/stdc++.h> #define N 57 #define M 2507 #define mod 1000000007 #define ll long long #define inf 1000000007 #define P pair<ll,ll> #define rp(i,x,y) for(register ll i=x;i<=y;++i) #define mp make_pair using namespace std; ll n,head[N],dis[N],tot; struct ed{ll to,next,wei;}edge[M]; bool vis[N]; priority_queue< P,vector< P >,greater< P > >Q; inline ll read() { ;; '))ch=getchar(); ; )+(x<<)+(ch^'),ch=getchar(); return y?x:-x; } inline void add(ll x,ll y,ll z){edge[++tot].to=x;edge[tot].next=head[y];edge[tot].wei=z;head[y]=tot;} inline void dij() { memset(dis,/,,));vis[]=;dis[]=; while(!Q.empty()) { ll t=Q.top().second;Q.pop(); ;i=edge[i].next) if(dis[edge[i].to]>dis[t]+edge[i].wei) { dis[edge[i].to]=dis[t]+edge[i].wei; ; } } } int main() { n=read(); rp(i,,n) rp(j,,n){');} dij(); ll ans=; ;i<=n;i++) { ll tott=; ;j=edge[j].next) { int t1=edge[j].to,t2=edge[j].wei; if (dis[i]==dis[t1]+t2) tott++; } ans=(ans*tott)%mod; } printf("%lld",ans); }
哭辽?为什么我的代码这么丑别的大佬代码那么帅啊QAQ
这个还是,比较新手村的?overrrr
完美结束yeah
BZOJ5056 OI游戏 最短路+组合数学的更多相关文章
- 【BZOJ5056】OI游戏 最短路+有向图生成树计数
[BZOJ5056]OI游戏 Description 小Van的CP最喜欢玩与OI有关的游戏啦~小Van为了讨好她,于是冥思苦想,终于创造了一个新游戏. 下面是小Van的OI游戏规则: 给定一个无向连 ...
- 【bzoj5056】OI游戏 最短路+矩阵树定理
题目描述 给出一张无向图,求满足 0号点到所有点的路径长等于原图中它们之间最短路 的生成树的个数. 输入 第一行一个整数N,代表原图结点. 接下来N行,每行N个字符,描绘了一个邻接矩阵.邻接矩阵中, ...
- BZOJ5056 OI游戏[最短路树]
有生以来做过的bzoj比A+B还简单的最水的题.(确信) 不解释. UPD:据说这题正解应当是矩阵树定理?但是这个不是用来最小生成树计数的么?有生之年会补的. #include<iostream ...
- bzoj 5056: OI游戏
5056: OI游戏 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 204 Solved: 162[Submit][Status][Discuss] D ...
- bzoj 5056: OI游戏 最短路树的计数
OI游戏 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 196 Solved: 159[Submit][Status][Discuss] Descrip ...
- codevs 1269 匈牙利游戏——次短路(spfa)
欢迎来到匈牙利游戏!布达佩斯(匈牙利首都)的街道形成了一个弯曲的单向网络. 你被强制要求参加一个赛跑作为一个TV秀的一部分节目,比赛中你需要穿越这些街道,从s开始,到t结束. 很自然的,你想要尽快的完 ...
- bzoj2464: 中山市选[2009]小明的游戏(最短路)
2464: 中山市选[2009]小明的游戏 题目:传送门 题解: 最短路的裸题... 代码: #include<cstdio> #include<cstring> #inclu ...
- BZOJ 刷题总结(持续更新)
本篇博客按照题号排序(带*为推荐题目) 1008 [HNOI2008]越狱 很经典的题了..龟速乘,龟速幂裸题,, 1010 [HNOI2008]玩具装箱toy* 斜率优化 基本算是裸题. 1012 ...
- 【退役记】CSP2019 退役记
Day -1 机房自习,因为一些奇怪原因心不在焉 我可能太在意csp了 晚上有点扛不住去七楼阳台思考人生,得到了一些惊人的结论想下来由于某种原因继续跑到七楼思考人生 然后晚自习下课仰天大笑出门去,我辈 ...
随机推荐
- HttpClient(五)-- 模拟表单上传文件
1.maven依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId ...
- LinQ的初步学习与总结
嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...
- ajax和promise的结合使用
在需要依赖完成的ajax请求可使用promise保证执行顺序 在第一个请求正确返回后再发送第二个请求 /* 定义一个使用promise的ajax请求,这里依赖jquery 参数中请求url为必填参数 ...
- php_admin_value open_basedir 引起的上传文件失败解决方法
为了安全,我们通常会在虚拟主机设置中,加入这一行php_admin_value open_basedir "/usr/local/apache/htdocs/www"但这会导致mo ...
- 【大数据系列】在hadoop2.8.0下配置SecondaryNameNode
修改namenode上的hdfs-site.xml configuration> <property> <name>dfs.replication</name> ...
- css笔记 - 张鑫旭css课程笔记之 vertical-align 篇
支持负值的属性: margin letter-spacing word-spacing vertical-align 元素vertical-align垂直对齐的位置与前后元素都没有关系元素vertic ...
- css笔记 - 张鑫旭css课程笔记之 border 篇
border地址 border特性: 能形成BFC但是不能清除浮动.但是bfc也是把子元素的margin包裹进来,但是拿自己的margin穿透没办法的. 边框宽度不支持百分比 透明border可以突破 ...
- 【JavaScript】如何判断一个对象是未定义的?(已解决)
JavaScript中,如果使用了一个未定义的变量,会有这样的错误提示:XXX未定义. 代码中,怎样才能判定一个对象是否定义了呢? 使用 typeof 示例: if("undefined& ...
- Toast 自定义
转:http://www.cnblogs.com/salam/archive/2010/11/10/1873654.html 1.默认效果 代码 Toast.makeText(getApplicati ...
- sendfile Linux函数
现在流行的 web 服务器里面都提供sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢? sendfile 实际上是 Linux 2.0+ 以后的推出的一个系 ...