最短路的优先队列做法:

#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. 过河 2005年NOIP全国联赛提高组(离散化+dp)

    1105 过河 2005年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description 在河上有一 ...

  2. codevs3162抄书问题(划分型dp)

    3162 抄书问题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 现在要把M本有顺序的书分给K个人复制(抄写),每 ...

  3. Centos7基本命令

    shell基本命令 linux命令行的组成结构 linux系统命令操作语法格式 命令 空格 参数 空格 文件路径或者需要处理的内容 rm   -rf   /tmp/* ls   -la   /home ...

  4. setjmp和longjmp函数

    关于setjmp函数和longjmp函数有话要说,是UNIX高级环境变成看到了10.10信号那章用到了,研究一下,这里作为补充. setjmp(jmp_buf env_buf) 函数可以将当前的运行环 ...

  5. Android Market google play store帐号注册方法流程 及发布应用注意事项【转载】

    [转载]http://www.cnblogs.com/zdz8207/archive/2012/07/09/google-play-store-registered.html Android Mark ...

  6. mybatis中打印sql语句

    在mybatis-config.xml中properties节点下,配置一个settings节点 <settings> <setting name="cacheEnable ...

  7. Unity学习-预制(四)

    预制即克隆 比如要模拟一个下雨的场景,天下掉下来一颗一颗的雨滴.如果此时,我们给每一个雨滴创建一个对象的话,那会很浪费资源,而且也没必要,因为所有的雨滴是相同的.这个时候就使用到了预制,一种可以被重复 ...

  8. mailto的使用

    用mailto会使用Windows自带的邮件进行发送邮件 方式一,代码如下: [注意:一下表单元素中的 name的值不能改变] <form action="mailto:lisi@12 ...

  9. phpstorm如何在同一个文件夹打开多个目录

    phpstorm默认一个窗口只显示一个项目,如果新建一个项目,他会给你个选项卡,问你是在新窗口打开新项目还是在本窗口打开. 能不能在一个窗口打开多个项目呢?就像sublime text那样,其实是可以 ...

  10. php中的抽象方法和抽象类

    1.什么是抽象方法?    我们在类里面定义的没有方法提的方法就是抽象方法.所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方 ...