[SDOI2010] 魔法猪学院
Description
给定e和边权,求有多少条不同的道路能从1到n使得边权之和的和小于e
Solution
A*裸题 娘的要是SPFA再把dis写成to就剁手
// By YoungNeal
#include<queue>
#include<cstdio>
#include<cstring>
#define int long long
using namespace std;
double e;
int ans,INF;
];
];
];
int n,m,cnt1,cnt2;
],head2[];
struct Edge1{
int to,nxt;
double dis;
}edge1[];
struct Edge2{
int to,nxt;
double dis;
}edge2[];
void add1(int x,int y,double z){
edge1[++cnt1].to=y;
edge1[cnt1].dis=z;
edge1[cnt1].nxt=head1[x];
head1[x]=cnt1;
}
void add2(int x,int y,double z){
edge2[++cnt2].to=y;
edge2[cnt2].dis=z;
edge2[cnt2].nxt=head2[x];
head2[x]=cnt2;
}
struct Node{
int now;
double f,dis;
friend bool operator<(Node a,Node b){
return a.dis+a.f>b.dis+b.f;
}
};
queue<int> q;
priority_queue<Node> pq;
void spfa(int s){
dis[s]=;
q.push(s);
while(q.size()){
int u=q.front();q.pop();
b[u]=;
for(int i=head2[u];i;i=edge2[i].nxt){
int to=edge2[i].to;
if(dis[to]>dis[u]+edge2[i].dis){
dis[to]=dis[u]+edge2[i].dis;
if(!b[to]){
q.push(to);
b[to]=;
}
}
}
}
}
signed main(){
scanf("%lld%lld%lf",&n,&m,&e);
;i<=n;i++) dis[i]=;
;i<=m;i++){
int x,t;double q;
scanf("%lld%lld%lf",&x,&t,&q);
add1(x,t,q);add2(t,x,q);
}
spfa(n);
INF=e/dis[];
Node start;
start.now=,start.f=dis[],start.dis=;
pq.push(start);
while(pq.size()){
Node now=pq.top();pq.pop();
if(now.now==n){
e-=now.dis;
){
printf("%lld",ans);
;
}
ans++;
continue;
}
for(int i=head1[now.now];i;i=edge1[i].nxt){
Node nxt;
nxt.now=edge1[i].to;
nxt.dis=now.dis+edge1[i].dis;
nxt.f=dis[nxt.now];
pq.push(nxt);
}
}
}
[SDOI2010] 魔法猪学院的更多相关文章
- Bzoj 1975: [Sdoi2010]魔法猪学院 dijkstra,堆,A*,K短路
1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1357 Solved: 446[Submit][Statu ...
- bzoj 1975: [Sdoi2010]魔法猪学院 [k短路]
1975: [Sdoi2010]魔法猪学院 裸题... 被double坑死了 #include <iostream> #include <cstdio> #include &l ...
- BZOJ_1975_[Sdoi2010]魔法猪学院_A*
BZOJ_1975_[Sdoi2010]魔法猪学院_A* Description iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPi ...
- K短路 (A*算法) [Usaco2008 Mar]牛跑步&[Sdoi2010]魔法猪学院
A*属于搜索的一种,启发式搜索,即:每次搜索时加一个估价函数 这个算法可以用来解决K短路问题,常用的估价函数是:已经走过的距离+期望上最短的距离 通常和Dijkstra一起解决K短路 BZOJ1598 ...
- bzoj 1975 [Sdoi2010]魔法猪学院
1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1758 Solved: 557[Submit][Statu ...
- P2483 [SDOI2010]魔法猪学院
P2483 [SDOI2010]魔法猪学院 摘要 --> 题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世 ...
- [BZOJ1975][SDOI2010]魔法猪学院(k短路,A*)
1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2748 Solved: 883[Submit][Statu ...
- 【BZOJ1975】[Sdoi2010]魔法猪学院 A*
[BZOJ1975][Sdoi2010]魔法猪学院 Description iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig对猪 ...
- bzoj1975: [Sdoi2010]魔法猪学院【k短路&A*算法】
1975: [Sdoi2010]魔法猪学院 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2446 Solved: 770[Submit][Statu ...
- [SDOI2010]魔法猪学院(A*,最短路)
[SDOI2010]魔法猪学院(luogu) Description 题目描述 iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练.经过了一周理论知识和一周基本魔法的学习之后,iPig ...
随机推荐
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
1.form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...
- 关于druid的配置说明
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"> & ...
- 笔记+R︱信用风险建模中神经网络激活函数与感知器简述
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...
- VxWorks启动流程
镜像种类不同,VxWorks的启动过程会有所不同. 我们项目中使用的是加载型VxWorks镜像 函数 函数功能 所在文件 bootTask() (a) 通过createBootLineFromF ...
- 用DataRelation给多个DataTable建立关系并显示到TreeView
DataRelation 对象执行两种功能: 它可使与正使用的记录相关的记录可用.如果在父记录 (GetChildRows) 中,则它提供子记录:如果正使用子记录 (GetParentRow),则它提 ...
- INS-30011 输入的ADMIN口令不符合Oracle建议的标准
1.错误描述 2.错误原因 由于在设置密码时,首个字符为数字,导致出错 a.必须以字母开头 b.长度不超过30个字符 c.只能包含字母.数字和_.$.# d.不能使用关键字和保留字 3.解决办法 重新 ...
- asp.net URL重新实例
void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 RegisterRoutes(); } // 页面存放目录 ...
- CSS3动画效果示例
CSS3动画遵循@kwyframes规则,规定了动画的名称.时长. 1.示例代码 <!DOCTYPE html><html lang="en"><he ...
- CentOS 7.0 启动多个MySQL实例(mysql-5.7.21)
Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我 ...
- 数列分块总结——题目总版(hzwer分块九题及其他题目)(分块)
闲话 莫队算法似乎还是需要一点分块思想的......于是我就先来搞分块啦! 膜拜hzwer学长神犇%%%Orz 这九道题,每一道都堪称经典,强力打Call!点这里进入 算法简述 每一次考试被炸得体无完 ...