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了 晚上有点扛不住去七楼阳台思考人生,得到了一些惊人的结论想下来由于某种原因继续跑到七楼思考人生 然后晚自习下课仰天大笑出门去,我辈 ...
随机推荐
- 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况
0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更 ...
- Nginx 访问控制
根据 IP 限制访问: location /admin/ { allow 192.168.1.1; allow 192.168.1.2; deny all; } 根据正则限制访问: location ...
- iOS - UITextView放在自定义cell里面-自适应高度
textView放在自定义cell里面-自适应高度 1,textView有个属性 scrollEnabled 要设置为NO; 2,设置tableview的时候 添加这两行代码: self.tabl ...
- Unicode编码转换汉字
Uri.UnescapeDataString(string) #region Unicode转换汉字 Console.WriteLine(Uri.UnescapeDataString("\u ...
- No.1 PyQt学习
由于项目的原因,要学PyQt了.以下是第一天的学习成果 # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore class ...
- linux计划任务之crontab
语法: crontab [ -u user ] file crontab [ -u user ] [ -i ] { -e | -l | -r } 说明: crontab命令 ...
- 深入理解 Neutron -- OpenStack 网络实现(3):VXLAN 模式
问题导读1.VXLAN 模式下,网络的架构跟 GRE 模式类似,他们的不同点在什么地方?2.网络节点的作用是什么?3.tap-xxx.qr-xxx是指什么? 接上篇:深入理解 Neutron -- O ...
- remote: fatal: could not read Username for 'http://spapa.wicp.net:3000': No such device ors
解决办法: git remote add origin https://{username}:{password}@github.com/{username}/project.git in my ca ...
- [转]Windows上搭建Kafka运行环境
[转]http://www.cnblogs.com/alvingofast/p/kafka_deployment_on_windows.html Windows上搭建Kafka运行环境 完整解决方 ...
- Modelsim SE 仿真 ALTERA FPGA IP
Modelsim SE 仿真 ALTERA FPGA IP 最近,有几个朋友问过我是不是有新版本的Modelsim altera,其原因是 Qii 升级为新版本的,但是没配套的modelsim,没办法 ...