P2796-Facer的程序【dp】
正题
题目大意:https://www.luogu.org/problem/P2796
题目大意
求一棵树中有多少个子树。
解题思路
考虑dpdpdp。
fif_ifi表示已iii这个点为根的子树个数。
动态转移方程fx=∏x−>y(fy+1)f_x=\prod_{x->y}(f_y+1)fx=x−>y∏(fy+1)
答案就是∑i=1nfi\sum_{i=1}^nf_ii=1∑nfi
codecodecode
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=110000,XJQ=1e9+7;
struct node{ll to,next;
}a[N*2];
ll n,ls[N],f[N],tot,ans;
void addl(ll x,ll y)
{a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;
}
void dp(ll x,ll fa)
{f[x]=1;for(ll i=ls[x];i;i=a[i].next){ll y=a[i].to;if(y==fa) continue;dp(y,x);f[x]=f[x]*(f[y]+1)%XJQ;}
}
int main()
{scanf("%lld",&n);for(ll i=1;i<n;i++){ll x,y;scanf("%lld%lld",&x,&y);addl(x,y);addl(y,x);}dp(1,0);for(ll i=1;i<=n;i++)(ans+=f[i])%=XJQ;printf("%lld",ans);
}
P2796-Facer的程序【dp】相关推荐
- 编程精粹 --Microsoft编写优质无错C程序秘诀
献给我的妻子Beth, 以及我的双亲Joseph和Julia Maguire ────为了他们的爱和支持 序 1986年,在为几家小公司咨询和工作了10年之后为了获得编写Macintosh应用程序的经 ...
- Leetcode动态规划部分典型题目分类及总结
参考内容 https://leetcode-cn.com/problems/longest-palindromic-substring/solution/zhong-xin-kuo-san-dong- ...
- 100道Java高频面试题(阿里面试官整理)
我分享文章的时候,有个读者回复说他去年就关注了我的微信公众号,打算看完我的所有文章,然后去面试,结果我后来很长时间不更新了...所以为了弥补一直等我的娃儿们,给大家的金三银四准备了100道花时间准备的 ...
- Maximum Tape Utilization Ratio
题目 设有n 个程序{1,2,-, n }要存放在长度为L的磁带上.程序i存放在磁带上的长度是li ,1 < = i < = n. 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, ...
- Swustoj(594)Maximum Tape Utilization Ratio(最容易懂的题解)
Maximum Tape Utilization Ratio 1000(ms) 65535(kb) 917 / 3074 Tags: 贪婪策略 设有n 个程序{1,2,-, n }要存放在长度为 ...
- POCO C++库学习和分析 -- 序
POCO C++库学习和分析 -- 序 1. POCO库概述: POCO是一个C++的开源库集.同一般的C++库相比,POCO的特点是提供了整一个应用框架.如果要做C++程序应用框架的快速开发,我觉得 ...
- 程序员面试金典 - 面试题 08.13. 堆箱子(DP)
1. 题目 堆箱子.给你一堆n个箱子,箱子宽 wi.深 di.高 hi. 箱子不能翻转,将箱子堆起来时,下面箱子的宽度.高度和深度必须大于上面的箱子. 实现一种方法,搭出最高的一堆箱子.箱堆的高度为每 ...
- 程序员面试金典 - 面试题 17.08. 马戏团人塔(最长上升子序 DP/二分查找)
文章目录 1. 题目 2. 解题 2.1 超时解 2.2 二分查找 1. 题目 有个马戏团正在设计叠罗汉的表演节目,一个人要站在另一人的肩膀上.出于实际和美观的考虑,在上面的人要比下面的人矮一点且轻一 ...
- Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)
文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...
最新文章
- ASP.NET2.0 遍历文件夹下所有图片【月儿原创】
- html语言星号,如何使HTML代码,输入的东西星号显示出来
- 92.芯片组 93.北桥 94.南桥
- 科大星云诗社动态20210822
- [scala-spark]1. Spark vs Hadoop 及 基础
- 深入了解asp.net框架。生命周期以及事件处理机制
- 哄骗DB2look 重新创立优化器访问筹划(3)
- 社交网络登录失败 当尝试用您的社交网络账号进行第三方登录时,发生了一个错误。
- 第一周小组博客作业——1701班5组
- 在Linux上启动oracle 11g OEM
- layui-弹出层中如何关闭窗口
- hello bash
- 威马汽车创始人沈晖:10万以下的不能叫智能电动汽车
- NSX控制平面和静态路由更新流程1
- 中功率继电器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 高考分数出来了,计算机专业选择那个方向更香?
- moss form验证 配置文件关键部分
- 有哪些让程序员受益终生的建议
- 统计方法在自然语言处理中的应用(统计自然语言处理宗成庆第二版完结)
- 云计算的应用解决方案
热门文章
- 面试避坑手册之 Java字节流和字符流总结IO流!
- kswapd0 挖矿_bioset linux_linux bioset 进程 腾讯云
- SimpleXMLRPC_python xmlrpclib SimpleXMLRPCServer 模块
- compress后的bytearray再decode变大_笔记本电脑风扇噪音变大的原因及其解决办法
- matlab编程数字信号,MATLAB--数字信号实验.doc
- spring的钩子_spring提供的钩子,你知道哪些
- 一文了解贪心算法和回溯算法在前端中的应用
- [汇编语言]实验二:字的传送
- [PAT乙级]1023 组个最小数
- LeetCode 1122 数组的相对排序-简单-unordered_map容器的应用