最短路的优先队列做法:

#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. 02_jni_hello_c函数介绍

    介绍NDK平台都有哪些工具.通过NDK这套工具做安卓下的JNI开发. 可能有一些需求更适合通过C去做,有一些功能要通过C去实现.一个安卓程序,它本身还是一个Java应用.有一些功能/方法不通过Java ...

  2. Mechanize抓取数据【Ruby】

    创建: 2017/08/05 更新: 2018/01/08 修正: ele_inner_text -> ele.inner_text                           补充: ...

  3. FTP FtpWebRequest 异步上传文件

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  4. Java经典算法之选择排序(Select Sort)

    思路:就是把所有数据项扫描一遍,挑出最小的那个和最左边的交换位置,即放到0位置.现在最左边的就是有序得了,不需要在交换位置,再次扫描数据时就是从1开始,还是寻找最小的和1交换位置,直到所有数据都是有序 ...

  5. 分享两篇关于ActionBar样式设置的博客

    http://www.open-open.com/lib/view/open1373981182669.html http://blog.csdn.net/xyz_lmn/article/detail ...

  6. Horspool和BM算法解析

    最近算法中学到了Horspool,KMP,BM三种算法.接下来给大家做个分享. Horspool算法: 算法思路: 1.分为匹配串,原串 2.从右往左依次匹配: 一旦遇到不匹配的,原串相对于匹配串 移 ...

  7. 简单入门构建spark1.6.1源码环境

    能有源码的辅助,加上自身的修炼,能起到很好的作用! 对于初学者,不建议,一上来看源码. 下载 http://archive.apache.org/dist/spark/spark-1.6.1/

  8. fcc 响应式框架Bootstrap 练习3

    class="container-fluid"控制宽度100% <div class="container-fluid"> <h3 class ...

  9. Java中常用的操作PDF的类库

    iText iText是一个能够快速产生PDF文件的java类库.iText的java类对于那些要产生包含文本,表格,图形的只读文档是很有用的.它的类库尤其与java Servlet有很好的给合.使用 ...

  10. IC验证概念总结

    一份代码,在写完之后,一定要再经过一次或多次整理和打磨,才能算完成的:一份代码,一定要把其有效代码行,精简.锤炼到最少.最短.最有效,才能算完成的.   下面这些问题和回答是忘记是在哪里看到的了,参考 ...