[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 ...
随机推荐
- C#实现二分法查找算法
/// <summary> /// 二分法查找 /// </summary> /// <param name="arr"></param& ...
- 在 React 中使用 JSX 的好处
优点: 1.允许使用熟悉的语法来定义 HTML 元素树: 2.提供更加语义化且移动的标签: 3.程序结构更容易被直观化: 4.抽象了 React Element 的创建过程: 5.可以随时掌控 HTM ...
- 网络基础tcp/ip协议一
计算机网络: 硬件方面:通过线缆将网络设备和计算机连接起来 软件方面:操作系统,应用软件,应用程序通过通信线路互连 实现资源共享,信息传递 计算机网络的功能: 数据通信 资源共享 增加可靠性 提高系统 ...
- ffmpeg结构体以及函数介绍(三)
1 AVPacket typedef struct AVPacket { /** * Presentation timestamp in AVStream->time_base units; t ...
- apache配置,禁止ip访问web站点
由于一台服务器上面部署了好几个应用,对应不同的域名,如果用户知道ip地址的话,直接用户ip地址访问,会显示第一个虚拟主机的页面(更改了虚拟主机的顺序,每次都是显示第一个).这样对用户造成不好的印象,所 ...
- Java中private、protected和public作用域的异同
Java中private.protected和public作用域的异同 说明:(1)private的作用范围为当前类,protected的作用范围哦不能超过其他包: (2)区别不同的作用域的不同作用范 ...
- 基于stm32的can总线彻底研究
1.CAN总线的初始化 void can_init(void){ CAN_InitTypeDef CAN_InitStructure; CAN_FilterInitT ...
- Linux查看系统中的每个进程
Linux查看系统中的每个进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -A PID TTY TIME CMD 1 ? 00:00:01 init ...
- Unity开发之实现更换鼠标图片
在玩游戏的时候,感觉游戏里的鼠标图片特酷炫,23333,今天我就总结了两种方法! 我是做Unity开发的,所以方法仅针对于Unity平台........ 方法如下: 1.Unity客户端直接更改,步骤 ...
- hdu5923 Prediction
jxt的思路 先膜一发 先处理 T这棵树上每个点到祖先这条链的点所生成的并查集 每个点的并查集都得分开来存 这个dfs做就好了 最后询问的时候 将k 个点的并查集合并就是这个询问的连通图 易得答案 # ...