http://acm.fzu.edu.cn/problem.php?pid=2169

思路:建立一个邻接表,利用搜索中回溯把走过的路标记为1,然后把这些标记为1的值全部加起来。

Problem 2169 shadow

Accept: 97    Submit: 274 Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem Description

YL是shadow国的国王,shadow国有N个城市。为了节省开支,shadow国只有N-1条道路,这N-1条道路使得N个城市连通。某一年,shadow国发生了叛乱,叛军占领了多个城市,王都岌岌可危。王都为编号为1的城市,除了王都外有K个城市有YL的军队。现在这K支军队要向王都进军,并且消灭沿途经过的城市中的叛军。现给出N个城市的道路情况以及城市的叛军数量,问总共需要消灭多少叛军?

Input

第一行输入两个整数N,K,接下来输入N(1<=N<=100000)个整数Ai(0<=Ai<=10000),表示第i个城市的叛军数量。接下来输入K个大于等于1且小于等于N的整数,表示有军队的城市的编号。数据保证王都以及有军队的城市没有叛军。接下来输入N-1行,每行两个整数u、v,表示连接u和v的一条道路。每支军队只能沿着道路走,并且是其所在城市与王都之间的最短路线走。

Output

输出一行一个整数表示消灭的叛军数量。

Sample Input

4 2
0 3 0 0
3 4
1 2
2 3
2 4

Sample Output

3
#include<stdio.h>
#include<string.h>
int len,dp[100005],head[200005],vis[200005];
int val[200005];
struct node
{int now,next;
}tree[200000];
void add(int x,int y)
{tree[len].now=y;tree[len].next=head[x];head[x]=len++;
}
void dfs(int root,int p)
{int i,son;for(i=head[root];i!=-1;i=tree[i].next){son=tree[i].now;if(son==p)continue;dfs(son,root);if(vis[son]){vis[root]=1;}}
}
int main()
{int n,k,i,x,y,sum,a;while(~scanf("%d%d",&n,&k)){sum=0;memset(dp,0,sizeof(dp));memset(head,-1,sizeof(head));memset(vis,0,sizeof(vis));len=0;for(i=1;i<=n;i++)scanf("%d",&val[i]);for(i=1;i<=k;i++){scanf("%d",&a);vis[a]=1;}for(i=1;i<=n-1;i++){scanf("%d%d",&x,&y);add(x,y);add(y,x);}//vis[1]=1;dfs(1,-1);for(i=1;i<=n;i++){if(vis[i]==1)sum+=val[i];}printf("%d\n",sum);}return 0;}/*
9 3
0 3 0 50 5 1 1 6 45
2 5 6
1 2
2 3
2 4
1 5
5 6
5 7
7 8
7 9
*/

转载于:https://www.cnblogs.com/cancangood/p/3699698.html

福州大学 Problem 2169 shadow相关推荐

  1. FZU 2169 shadow (用了一次邻接表存边,树形DP)

    Accept: 28 Submit: 97 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description YL是shadow国的国 ...

  2. Problem 2091 播放器 模拟问题 I never stop loving you, but I just don't want anybody to see it any more.

                                                 Problem 2091 播放器 Accept: 251    Submit: 853 Time Limit: ...

  3. [转]Nvidia 的Shadow 文章收集

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://phoenixzz.blogbus.com/logs/121660419.html Shadowing is a key ...

  4. Ext JS的4.1.0的RC 1的发行说明

    Ext JS的 - JavaScript框架 Ext JS的4.1.0的RC 1的发行说明 发行日期:2012年3月13, 版本号:4.1.0的RC 1 修正的错误 钮 EXTJSIV-5129 按钮 ...

  5. CVPR 2011 全部论文标题和摘要

    CVPR 2011 Tian, Yuandong; Narasimhan, Srinivasa G.; , ■Rectification and 3D reconstruction of curved ...

  6. 福州大学acm Problem 2207 以撒的结合

    Problem 2207 以撒的结合 Accept: 72    Submit: 239 Time Limit: 1000 mSec    Memory Limit : 32768 KB Proble ...

  7. Shadow of Survival

    Shadow of Survival 题目链接:http://dutacm.club:7217/codesheaven/problem.php?id=1083 题目大意:给出一个由圆台构成的塔和一个点 ...

  8. GPU Gems1 - 14 透视阴影贴图(Perspective Shadow Maps: Care and Feeding)

    开篇先说,这文章好难懂啊,到现在也没完全弄明白,有大佬的话欢迎指点.这篇大体意思是对Perspective Shadow Maps进行部分优化.GEMS这书这点是真挺蛋疼,很多文章都是对某项技术的优化 ...

  9. Common Techniques to Improve Shadow Depth Maps

    Shadow maps, first introduced in 1978, are a common technique for adding shadows to games. Three dec ...

  10. 纯CSS菜单样式,及其Shadow DOM,Json接口 实现

    先声明,要看懂这篇博客要求你具备少量基础CSS知识, 当然如果你只是要用的话就随便了,不用了解任何知识 先放一张效果图         Part 1:纯CSS菜单样式 先放样式代码 1 <sty ...

最新文章

  1. 鸿蒙系统吹的厉害实际一般,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  2. 编程题:顺时针打印矩阵(不一定是方阵)
  3. N*N匹马,N个赛道,求出最快N匹马的解法
  4. 在Java中模拟求和类型的巧妙解决方法
  5. ffmpeg-从flv文件中提取AAC音频数据保存为文件
  6. Leetcode--781.森林中的兔子
  7. web服务器检测工具
  8. android dialog的封装,Android系统Dialog的简单封装
  9. java循环队列_Java版-数据结构-队列(循环队列)
  10. ubuntu ble c语言编程,c – 如何在ubuntu上安装bluez进行开发?
  11. web期末作业设计网页:动漫网站设计——蜡笔小新(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 动漫网页设计作业 web网页设计与开发 html实训大作业
  12. Java-用类描述人之间的血缘关系
  13. linux系统分区支持ntfs吗,如何使Linux支持NTFS分区
  14. 分布式限流的解决方案
  15. 计算机识别不了佳能打印机,佳能IP4200打印机“无法识别墨水盒”解决办法
  16. 邮件服务中550、553和禁止中继错误原因和解决方法
  17. 诸葛亮,我去你的“ 天命有归,不可以智力争也”
  18. java-net-php-python-springboot健身房管理系统计算机毕业设计程序
  19. 视频处理-按帧或者按秒截取图像
  20. 简易计时闹钟设计verilog语言实现

热门文章

  1. 深度理解“CPU内部寻址方式”
  2. [CodeForces - 276A] Lunch Rush
  3. Silverlight Blend动画设计系列二:旋转动画(RotateTransform)
  4. 关于SpringMVC中model的attribute无法指定别名的解决方案
  5. 苹果谈iPhone遭CIA攻击:强烈要求用户升级系统
  6. 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
  7. 基于SourceTree 下的 Git Flow 模型
  8. 基于yaf+yar微服务解决方案教程
  9. PHP设计模式——简单工厂
  10. leetcode的Hot100系列--155. 最小栈