最短路的优先队列做法:

#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的更多相关文章

  1. hdu 4707 Pet(DFS水过)

    http://acm.hdu.edu.cn/showproblem.php?pid=4707 [题目大意]: Lin Ji 的宠物鼠丢了,在校园里寻找,已知Lin Ji 在0的位置,输入N D,N表示 ...

  2. HDU 4707 Pet(BFS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707 题目大意:在一个无环的,从0开始发散状的地图里,找出各个距离0大于d的点的个数 Sample I ...

  3. HDU 4707 Pet 邻接表实现

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707 解题报告:题目大意是在无向图G中有n个点,分别从0 到n-1编号,然后在这些点之间有n-1条边, ...

  4. hdu 4707 Pet【BFS求树的深度】

    Pet                                                          Time Limit: 4000/2000 MS (Java/Others)  ...

  5. HDU 4707 DFS

    Problem Description One day, Lin Ji wake up in the morning and found that his pethamster escaped. He ...

  6. HDU 4707:Pet

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  7. Pet(hdu 4707 BFS)

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. hdu 4707 Pet hdu 2013 Asia Regional Online —— Warmup

    一道简单的搜索题目,建一个树,根节点是 0 ,连接的两个节点的距离是 1 ,求 到 根节点长度是2的节点的个数. #include<stdio.h> #include<string. ...

  9. hdu 4707 搜索 目前做的最水的搜索

    直接深搜  ,水啊 #include<cstdio> #include<cstring> #include<algorithm> using namespace s ...

随机推荐

  1. 63.ExtJs事件(自定义事件、on、eventManager)示例

    转自:https://blog.csdn.net/leadergg/article/details/5927614?utm_source=blogxgwz5 ExtJs事件(自定义事件.on.even ...

  2. [Swift通天遁地]七、数据与安全-(8)创建普通PDF文档和加密PDF文档

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. C 语言程序员必读的 5 本书,你读过几本?

    你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...

  4. ACM_ZHANGZHANG喜欢手表

    ZHANGZHANG喜欢手表 Time Limit: 2000/1000ms (Java/Others) Problem Description: ZHANGZHANG刚过生日,收到了好朋友NENGN ...

  5. html5——2D转换

    transform 属性 1.向元素应用 2D 或 3D 转换 2.该属性允许我们对元素进行旋转.缩放.移动或倾斜. 缩放与位移 transform: scale(, 0.5);//水平缩放,垂直缩放 ...

  6. HDU_1079_思维题

    Calendar Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. Style在Android中的继承关系

    Style在Android中的继承关系 Android的Styles(样式)和Themes(主题)非常类似Web开发里的CSS,方便开发者将页面内容和布局呈现分开.Style和Theme在Androi ...

  8. PHP操作Redis相关函数

    String数据类型 $redis->set('key','TK'); $redis->set('number','1'); //设置值 $redis->setex('key',5, ...

  9. python开发 面试题

    一.简述列表与元组的区别 答: 元组tuple与列表List相同点 元组tuple与列表List都是序列类型的容器对象,可以存放任何类型的数据.支持切片.迭代等操作. 元组tuple与列表List区别 ...

  10. Mysql命令mysql:连接Mysql数据库

    mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p, ...