hdu 4707 bellman
最短路的优先队列做法:
#include<stdio.h>
#include<queue>
#include<string.h>
#define N 100010
#define inf 0x3fffffff
using namespace std;
int first[N],next[N],u[N],v[N],w[N],d[N];
int main()
{
int t,i,e,cnt,dis,n;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&dis);
for(i=0;i<n;i++)
first[i]=-1;
for(i=0;i<n-1;i++)
{
scanf("%d%d",&u[i],&v[i]);
w[i]=1;
next[i]=first[u[i]];
first[u[i]]=i;
}
priority_queue<int ,vector<int>,greater<int> >q;
int done[N];
for(i=0;i<n;i++)
d[i]=(i==0?0:inf);
memset(done ,0,sizeof(done));
q.push(0);
while(!q.empty())
{
int u=q.top();
q.pop();
if(done[u]) continue;
done[u]=1;
for(e=first[u];e!=-1;e=next[e])
if(d[v[e]]>d[u]+w[e])
{
d[v[e]]=d[u]+w[e];
q.push(v[e]);
}
}
cnt=0;
for(i=0;i<n;i++)
{
if(d[i]>dis)
cnt++;
}
printf("%d\n",cnt);
}
return 0;
}
bellman-ford()写法,普通的队列写法:
#include<stdio.h>
#include<queue>
#include<string.h>
#define N 100010
#define inf 0x3fffffff
using namespace std;
int first[N],next[N],u[N],v[N],w[N],d[N];
int main()
{
int t,i,e,cnt,dis,n;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&dis);
for(i=0;i<n;i++)
first[i]=-1;
for(i=0;i<n-1;i++)
{
scanf("%d%d",&u[i],&v[i]);
w[i]=1;
next[i]=first[u[i]];
first[u[i]]=i;
}
queue<int>q;
int done[N];
for(i=0;i<n;i++)
d[i]=(i==0?0:inf);
memset(done ,0,sizeof(done));
q.push(0);
while(!q.empty())
{
int u=q.front();
q.pop();
done[u]=0;
for(e=first[u];e!=-1;e=next[e])
if(d[v[e]]>d[u]+w[e])
{
d[v[e]]=d[u]+w[e];
if(!done[v[e]])
{
done[v[e]]=1;
q.push(v[e]);
}
}
}
cnt=0;
for(i=0;i<n;i++)
{
if(d[i]>dis)
cnt++;
}
printf("%d\n",cnt);
}
return 0;
}
hdu 4707 bellman的更多相关文章
- hdu 4707 Pet(DFS水过)
http://acm.hdu.edu.cn/showproblem.php?pid=4707 [题目大意]: Lin Ji 的宠物鼠丢了,在校园里寻找,已知Lin Ji 在0的位置,输入N D,N表示 ...
- HDU 4707 Pet(BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707 题目大意:在一个无环的,从0开始发散状的地图里,找出各个距离0大于d的点的个数 Sample I ...
- HDU 4707 Pet 邻接表实现
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707 解题报告:题目大意是在无向图G中有n个点,分别从0 到n-1编号,然后在这些点之间有n-1条边, ...
- hdu 4707 Pet【BFS求树的深度】
Pet Time Limit: 4000/2000 MS (Java/Others) ...
- HDU 4707 DFS
Problem Description One day, Lin Ji wake up in the morning and found that his pethamster escaped. He ...
- HDU 4707:Pet
Pet Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- Pet(hdu 4707 BFS)
Pet Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 4707 Pet hdu 2013 Asia Regional Online —— Warmup
一道简单的搜索题目,建一个树,根节点是 0 ,连接的两个节点的距离是 1 ,求 到 根节点长度是2的节点的个数. #include<stdio.h> #include<string. ...
- hdu 4707 搜索 目前做的最水的搜索
直接深搜 ,水啊 #include<cstdio> #include<cstring> #include<algorithm> using namespace s ...
随机推荐
- 【RAID在数据库存储上的应用 】
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...
- 2017北京国庆刷题Day1 morning T2
T2火柴棒 (stick) Time Limit:1000ms Memory Limit:128MB 题目描述 众所周知的是,火柴棒可以拼成各种各样的数字.具体可以看下图: 通过2根火柴棒可以拼出 ...
- vuejs {{}},v-text 和 v-html的区别
<div id="app"> <p>{{message}}</p> <!-- 输出:<span>通过双括号绑定</spa ...
- $CF41D\ Pawn$
\(problem\) 与这题 灰常的相似 然后内存可能过大 开个滚动数组 因为数塔问题总是 只需要上面一行的两个状态(这题就是数塔问题) 下面的代码与原题不符.(原题要输出路径)想抄的可以走了 输出 ...
- $P5269 欧稳欧再次学车$
\(problem\) 哇 看各位巨佬都来发\(T1\)的题解 我也来发一篇.(别的题目不会别瞎bb) 题目大意就是 \(T\) 秒 能走多少路程 第一行六个整数 \(T,N,L,R,X,K\) 接下 ...
- NS2学习笔记(五)
对无线网络,生成nam文件要使用namtrace-all-wireless, 而不是namtrace-all: set nf [open test_1.nam w] $ns_ namtrace-all ...
- ACM_迟到的祝福(四)
迟到的祝福(四) Time Limit: 2000/1000ms (Java/Others) Problem Description: 据说前几天是雁来师姐的生日,作为一个15级的小鲜肉A,没及时给师 ...
- Criteria 查询
Criteria.Criterion接口和Expression类组成,他支持在运行时动态生成查询语句. Criteria查询是Hibernate提供的一种查询方式 Hibernate检索方式: PO ...
- java攻城狮之路--复习JDBC
1.JDBC中如何获取数据库链接Connection? Driver 是一个接口: 数据库厂商必须提供实现的接口. 能从其中获取数据库连接. 可以通过 Driver 的实现类对象获取数据库连接. 1. ...
- CSS学习笔记----选择器
用过css的同志们都知道,选择器是非常重要的,如果选择器使用不当,即使你的css写的再好,但是不知道要用在哪个元素上,这不是英雄无用武之地吗? css,用过的都说好! 最基本的选择器,id选择器,类选 ...