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 ...
随机推荐
- Kafka详解与总结(五)
Kafka持久化 1. 概述 Kafka大量依赖文件系统去存储和缓存消息.对于硬盘有个传统的观念是硬盘总是很慢,这使很多人怀疑基于文件系统的架构能否提供优异的性能.实际上硬盘的快慢完全取决于使用它的方 ...
- ASP.NET MVC5 之 Log4Net 的学习和使用
最近在学习 log4Net 插件,在博客园找到了好多资料,但是实现起来还是有点麻烦. 现在记录下学习的过程,期间可能加载着借鉴和转载的代码. 1.配置文件的设置: 新建config文件夹下 log4n ...
- “浪潮杯”第九届山东省ACM大学生程序设计竞赛重现赛 C-Cities
题目描述:There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirec ...
- WIN 10家庭版没有Hyper-V
新建文件Hyper-V.cmd 内容如下 pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum > ...
- C++ Primer(第4版)-学习笔记-第2部分:容器和算法
第9章 顺序容器 顺序容器和关联容器 顺序容器内的元素按其位置存储和访问. 关联容器,其元素按键(key)排序. 顺序容器(sequential container). 顺序容器的元素排列次序与元素值 ...
- python框架之Flask基础篇(四)-------- 其他操作
1.蓝图 要用蓝图管理项目,需要导入的包是:from flask import Buleprint 具体大致分为三步: 1.先在子模块中导入蓝图包,然后再创建蓝图对象. 2.然后将子模块中的视图函数存 ...
- Java&Xml教程(六)使用JDOM解析XML文件
JDOM 提供了非常优秀的Java XML API来更方便的读取.修改.生成XML文档.JDOM还提供了包装类供用户从SAX.DOM.STAX事件解析.STAX流解析中选择具体的实现. 在本教程中,我 ...
- Echarts 出现不明竖线解决方案
Echarts出现了不明竖线,百思不得其解.去查相应的解决方案也没有找到. 后来自己点来点去,突然感觉像是上一个Echarts遗留的. 然后去Echarts官网看到了 clear()方法,这个方法可以 ...
- Storm 入门一:基本知识+网上资源链接
Strom首页:http://storm.apache.org/ 下载地址:http://www.apache.org/dyn/closer.lua/storm/apache-storm-1.1.0/ ...
- 如何设置“用eclipse开发时自动在顶端产生import”?
eclipse新版本中的默认设置可能导致自动在生成import时是在代码中,而大多数时间我们需要自动生成import在代码顶端,按照如下设置即可纠正