Codeforces Round #263 (Div. 2) D. Appleman and Tree 树形dp

链接:

http://codeforces.com/contest/462/problem/D

题意:

给定n个点的树,

0为根,下面n-1行表示每个点的父节点

最后一行n个数 表示每个点的颜色,0为白色,1为黑色。

把树分成若干个联通块使得每个联通块有且仅有一个黑点,问有多少种分法(结果mod1e9+7)

题解:

树形dp,每个点有2个状态,已经归属于某个黑点和未归属于某个黑点。

代码:

31 int n;
32 int x[MAXN];
33 VI G[MAXN];
34 ll dp[MAXN][2];
35 
36 void dfs(int u) {
37     if (x[u]) dp[u][1] = 1;
38     else dp[u][0] = 1;
39     rep(i, 0, G[u].size()) {
40         int v = G[u][i];
41         dfs(v);
42         ll old[2] = { dp[u][0], dp[u][1] };
43         dp[u][0] = (old[0] * dp[v][1] + old[0] * dp[v][0]) % MOD;
44         dp[u][1] = (old[1] * dp[v][1] + old[1] * dp[v][0] + old[0] * dp[v][1]) % MOD;
45     }
46 }
47 
48 int main() {
49     ios::sync_with_stdio(false), cin.tie(0);
50     cin >> n;
51     rep(i, 1, n) {
52         int p;
53         cin >> p;
54         G[p].pb(i);
55     }
56     rep(i, 0, n) cin >> x[i];
57     dfs(0);
58     cout << dp[0][1] << endl;
59     return 0;
60 }

 

转载于:https://www.cnblogs.com/baocong/p/7288245.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【星·企业】竞逐卫星互联网“新基建”,「九天微星」完成2.7亿元B 轮融资

图为九天微星一箭七星“瓢虫系列”主星示意图来源&#xff1a;中科创星据了解&#xff0c;「九天微星」将用此轮融资在河北唐山和四川宜宾分别建设互联网卫星平台、载荷自动化产线&#xff0c;同时强化宽带通信系统研发能力&#xff0c;加速地面终端产品投产。九天微星卫星工厂…

java kafka搭建,Apache Kafka 安装步骤

概览安装过程总共分为 3 大块&#xff0c;第一 Java 环境不必多说&#xff0c;第二 Zookeeper 安装&#xff0c;第三 Kafka 安装。概念了解Kafka 有几个重要的概念需要先了解一下名词解释broker可以理解为 Kafka 所在的服务器ZooKeeper分布式服务框架在 Kafka 中的作用主要负责…

Java的for-each循环

for (循环变量类型 循环变量名称 : 要被遍历的对象) 例&#xff1a; for (String string:str) for(int i0;i<str.size();i){   String string str[i];} 上面代码简单点来描述就是把str里的内容依次遍历给string转载于:https://www.cnblogs.com/CYG7/p/7289497.html

3D原子映射有助于研究生命的起源

Chi Ma/Royal Ontario Museum来源&#xff1a;IEEE电气电子工程师一种相对较新的研究原子的技术可能会对地球上生命的起源提供更多的线索。科学家利用三维原子图&#xff08;特别是原子探针层析成像&#xff09;发现&#xff0c;太阳系中最古老的分子流体本可以支持氨基酸的发展…

java7 uri,细数Java8中那些让人纵享丝滑的文件操作

在丑陋的 Java I/O 编程方式诞生多年以后&#xff0c;Java终于简化了文件读写的基本操作。打开并读取文件对于大多数编程语言来是非常常用的&#xff0c;由于 I/O 糟糕的设计以至于很少有人能够在不依赖其他参考代码的情况下完成打开文件的操作。在 Java7 中对此引入了巨大的改…

混合现实未来的八大应用场景

来源&#xff1a;诚迈科技近日&#xff0c;福布斯发布了一篇关于混合现实未来的八个值得关注的领域和应用场景。文中提到&#xff1a;随着时间的推移&#xff0c;技术永远在不断进展&#xff0c;而未来技术中很可能是AR和VR的结合形式。有报告显示&#xff1a;2024年&#xff0…

也来分析为什么支付宝要做社交

也来分析为什么支付宝要做社交 近期。身边的同事和朋友似乎对使用支付宝有点“走火入魔”了。常常有人在支付宝里面请求加我为好友。大家在食堂吃饭的时候也在讨论今天加了谁谁谁为好友。一问才知道。原来假设加入好友达到一定的数量&#xff0c;将有机会在春节期间抢支付宝发出…

4个重要的量子理论实验综述

文章原载于&#xff1a;大数据01 量子理论量子理论是一个容易让人迷惑的理论&#xff0c;因此&#xff0c;如果我们想准确地了解其概况&#xff0c;就需要非常谨慎。与大多数自牛顿著作和其他17世纪晚期科学家著作问世以来出现的物理学成果一样&#xff0c;量子理论是一个以数学…

php中intval函数用法,php intval函数用法总结

语法&#xff1a;int intval ( $var, $base )参数&#xff1a;此函数接受两个参数&#xff0c;其中一个是必需的&#xff0c;而另一个是可选的。参数如下所述&#xff1a;$var&#xff1a;这是一个必需参数&#xff0c;用作需要转换为整数值的变量。$base&#xff1a;它是一个可…

转:mysql group by 用法解析(详细)

group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计&#xff0c;最终得到一个分组汇总表。 SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。 某个员工信息表结构和数据如下&#xff1a; id name…

前沿|《细胞》:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!...

该文章内容转载自学术头条对于全球 5000 多万盲人来说&#xff0c;重见光明是一个遥不可及的梦想。而为了与盲人朋友进行交互&#xff0c;我们发明了盲文&#xff0c;用各种凸起的字符集合来表达各种意思。但这种通过手指触摸来识别的方式太过低效。随着脑科学研究的深入&#…

mysql error1045 yes,MySQLERROR1045(28000)错误的解决办法

错误现象&#xff1a;ERROR 1045 (28000): Access denied for userODBClocalhost(using password: NO)ERROR 1045 (28000): Access denied for userODBClocalhost(using password: YES)windows下&#xff0c;以上两个错误的解决方法&#xff0c;本人亲测有效&#xff0c;现分享…

软件测试常考面试题-软件测试面试宝典 ---面试过程中踩过的坑

问&#xff1a;你在测试中发现了一个 bug &#xff0c;但是开发经理认为这不是一个 bug &#xff0c;你应该怎样解决。 首先&#xff0c;将问题提交到缺陷管理库里面进行备案。 然后&#xff0c;要获取判断的依据和标准&#xff1a; 根据需求说明书、产品说明、设计文档等&am…

Soft robotics:造仿生昆虫机器人柔性骨骼新技术,只需2小时,成本不到7块!

来源&#xff1a;量子位原标题&#xff1a;只需2小时&#xff0c;成本不到7块&#xff0c;你我皆可制作的3D机器人机器人的骨架能像昆虫那般灵活、健壮吗&#xff1f;这个问题一直困扰着研究人员。以往&#xff0c;要么制作工艺太过复杂&#xff0c;耗的时间长&#xff1b;要么…

向量归一化的matlab程序,向量X的归一化及其Matlab简单示例

徐海蛟博士归一化是要把需要处理的数据经过处理后限制在一定范围内&#xff0c;例如&#xff1a;[-1,1]或[0,1]。归一化是为了后续数据处理的方便&#xff0c;也使得算法程序收敛加快。在Matlab里面&#xff0c;归一化的方法共有3种:(1)mapminmax% 范围映射(2)mapstd% 均值与偏…

vue中检测对象和数组值变化的问题

今天工作中遇到改变vue data中某个对象的值&#xff0c;却无法触发视图更新的问题。看了看官方文档&#xff0c;怎么解决的呢&#xff1f; 1、检测对象的变化 受现代 JavaScript 的限制&#xff08;以及废弃 Object.observe&#xff09;&#xff0c;Vue 不能检测到对象属性的添…

2019-2020年半导体行业深度报告

来源&#xff1a;华安证券新科技起点&#xff0c;不可缺芯半导体位于电子行业中游。通过集成电路、分立器件、被动器件在 PCB 上组合形 成模组&#xff0c;构成了手机、电脑、工业、航空航天、军事装备等电子产品的核心。这些产 品又直接影响到国家的发展、社会的进步以及个人的…

php tool pagination,php实现分页工具类分享

代码&#xff1a;/*** 把中间的看成一个可以滑动的固定长度的尺子** 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子&#xff0c;* 然后$this->_totalPages就是一个给定长度的木块&#xff0c;尺子在这个* 木块上滑动。情况两种&#xff1a;* 1. 尺子长度大于…

js题集15

1.CORS和JSONP区别&#xff1f; 2.如何规避同源策略&#xff1f; eg&#xff1a;访问iframe 3.如何实现 一个算法的不变的部分&#xff0c;并将可变的行为留给子类来实现 简单写一个demo转载于:https://www.cnblogs.com/tong24/p/7305772.html

5G 智慧城市安全参考架构概述

来源&#xff1a;安全内参2020年5月12日&#xff0c;IMT-2020(5G)推进组安全工作组发布了《5G智慧城市安全需求与架构白皮书》&#xff0c;本文节选自该白皮书&#xff0c;主要概述了5G 智慧城市安全参考框架。该框架是参考GB/T 37971-2019《信息安全技术 智慧城市安全体系框架…