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 ...
随机推荐
- 记录第一次在egret项目中使用Puremvc
这几天跟着另一个前端在做一个小游戏,使用的是egret引擎和puremvc框架,这对于我来说还是个比较大的突破吧,特此记录下. 因为在此项目中真是的用到了mvc及面向对象编程,值得学习 记录第一次在e ...
- PHP入门开发
1.下载开发工具phpstorm 地址:http://www.jetbrains.com/phpstorm/download/download-thanks.html?platform=windows ...
- 【Leetcode】474. Ones and Zeroes
Today, Leet weekly contest was hold on time. However, i was late about 15 minutes for checking out o ...
- java中使用String的replace方法替换html模板保存文件
在我们的D盘下有这样一个html模板,现在我们要做的就是解析news.template文件,从数据库中提取数据将数据添加到指定的模板位置上 <head> <title>{tit ...
- JS压缩图片(canvas),返回base64码
上传图片时总会遇到图片过大上传不上去的问题,本方法是在网上搜的压缩图片的例子,我测试过了,确实能用,但是照搬别人的代码,发现压缩后图片会失真,不清晰,现经修改图片清晰度还可以,不仔细看差别不大,so, ...
- linux最常用的快捷键
1.ctrl+alt+T 调出命令行界面 2.alt+f4 关闭当前窗口
- drf06 认证Authentication 权限Permissions 限流Throttling
为了方便接下来的学习,我们创建一个新的子应用 four python manage.py startapp four 因为接下来的功能中需要使用到登陆功能,所以我们使用django内置admin站点并 ...
- C语言数据结构链栈(创建、入栈、出栈、取栈顶元素、遍历链栈中的元素)
/**创建链栈*创建一个top指针代表head指针*采用链式存储结构*采用头插法创建链表*操作 创建 出栈 入栈 取栈顶元素*创建数据域的结构体*创建数据域的名称指针*使用随机函数对数据域的编号进行赋 ...
- JSON,对象..的数据格式
[此案例为自动产生的随机数] 对象: {a1:180,a2:721, a3:574} 序列化传值:将对象转化为Json字符串 public ActionResult Val2() { Random r ...
- idea中配置xml不自动提示解决方案
1.打开设置File-->Settings(或者Ctrl + Alt + S)--->Languages&Frameworks-->Schemas and DTDS 2.选择 ...