[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 ...
随机推荐
- nginx笔记5-双机热备原理
1动静分离演示: 将笔记3的Demo改造一下,如图所示: 改造完成后,其实就是在网页上显示一张图片 现在启动Tomcat运行起来,如图: 可以看到图片的请求是请求Tomcat下的图片. 现在,通过把静 ...
- Web渗透测试(sql注入 access,mssql,mysql,oracle,)
Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...
- 关于HC04超声波模块测距的思考(51版)
之前写过一篇HC04的使用文章,当时是使用stm32来实现的,原文链接. 后来又多次使用51来驱动这个模块,有时候有测距需要,使用了几次,总是感觉我上次那个程序不是很好, 所以这次对它进行了改进.虽然 ...
- 如何构造一个简单的USB过滤驱动程序
本文分三部分来介绍如何构造一个简单的USB过滤驱动程序,包括"基本原理"."程序的实现"."使用INF安装".此文的目的在于希望读者了解基本 ...
- (二十九)java条件控制语句培训笔记
java结构控制语句示例:if,if else,switch case 定义三个变量: :在这个例子中,if并列,则每一次都会进行判断,条件为true则输出里边的内容 ,因此,这里会输出one和fou ...
- axure 7.0 注册码
Axure RP 7.0注册码: 用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+tqEV4LG ...
- SecurityError:Error:#2148
1.错误描述 SecurityError:Error:#2148:SWF文件http://localhost:8888/UploadDownload/Flash/ReadLocalFile.swf/[ ...
- C# md5加密方法
public static string md5(string str, int code) { if (code == 16) //16位MD5加密(取32位加密的9~25字符) { return ...
- Codeforces Round #424 Div2 E. Cards Sorting
我只能说真的看不懂题解的做法 我的做法就是线段树维护,毕竟每个数的顺序不变嘛 那么单点维护 区间剩余卡片和最小值 每次知道最小值之后,怎么知道需要修改的位置呢 直接从每种数维护的set找到现在需要修改 ...
- 异常-----Can't convert the date to string, because it is not known which parts of the date variable are in use. Use ?date, ?time or ?datetime built-in, or ?string.\u003Cformat> or ?string(format) built-
1.错误描述 五月 27, 2014 12:07:05 上午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...