最新要闻
- 电影《长安三万里》票房破16亿 成为中国影史第二
- 印度登月最关键一步!月船三号今晚进入环月轨道
- 轿车从天而降电动车主被撞身亡 超速抢道所致:现场视频让网友吵翻
- 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元
- 北京门头沟:泡水车辆救援工作有序进行
- 跑分安卓第一!Redmi K60至尊版8月发布!卢伟冰:目标年度性能之王
- 法医秦明携新书《白卷》来汉分享 让善良的人提高警惕 让怀恶的人放下屠刀
- 女孩租房开2小时空调用完100元电费引热议:5级能耗惹不起 月薪过万电费也交不起
- 消息称迪士尼要拍真人版《魔发奇缘》:女主可能也找黑人演员
- 富祥药业08月04日被深股通减持29.34万股
- 小米13 Ultra同款!小米90W充电器套装上架:199元
- 容量越大越不坏?24万块硬盘故障率报告公布 这些产品零故障
- 电视尺寸和观看距离究竟有什么关系?多大尺寸最适合普通家庭
- 一加首款折叠手机OnePlus Open更多渲染图曝光
- 顶配24GB内存!一加Ace 2 Pro官宣联动《原神》派蒙:还有定制周边
- 鲁巷中学怎么样(鲁巷)
手机

顺络电子:董事长部分股权办理股票质押业务

深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 顺络电子:董事长部分股权办理股票质押业务
- 深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 最新洪水形势如何?时隔多年为何又见洪水?解答来了!
- 李明俊在调研白龟湖科创新城和环湖路建设工作时强调 勇于担当负责 善于创新突破 着力打造群众满意的放心工程
- 遮天:东荒两大家族登场,庞博成为妖王,妖族公主颜如玉绝美登场
- 京运通: 我司自扩产硅片业务以来,所有单晶炉均为自供
家电
FJOI 树的重心题解
从零开始暴切省选题
题意简述
给定一个 \(n\) 个点的树,每个点的编号从 \(1\) 至 \(n\),问这个树有多少不同的连通子树,和这个树有相同的重心。
(相关资料图)
分析
1 求重心
首先要明确重心的定义。题目中给出:删掉某点 \(i\) 后,若剩余 \(k\) 个连通分量,那么定义 \(d(i)\) 为这些连通分量中点的个数的最大值,所谓重心,就是使得 \(d(i)\) 最小的点 \(i\)。这句话翻译成人话就是:给定一棵无根树,令任意 \(u\) 为根,使得最大子树最小的 \(u\) 即为该树的重心。由这个定义,我们可以明确重心的求法。先假设节点 \(1\) 为根,对于每一个节点 \(u\),求它的所有子树大小,并取其最大值,与已存储的根的最大子树比较,如果节点 \(u\) 的最大子树更小,那么更新根节点 \(rt\leftarrow u\)。这在搜索回溯时处理即可。特别注意的是,搜索时因为程序需要钦定 \(1\) 为根节点,因此在递归至其他节点时要注意:如果以 \(u\) 为根,则还有一棵大小为 \(n-size_u\) 的子树(\(n\) 为节点数),这也要计入子树中。
inline void getr(int u, int fa) { siz[u] = 1; dp[u] = 0; for(auto v : G[u]) { if(v != fa) { getr(v, u); siz[u] += siz[v]; dp[u] = max(dp[u], siz[v]); } } dp[u] = max(dp[u], n - siz[u]); if(dp[rt] > dp[u] or rt == 0) { rt = u; }}
2 分类
求出重心后注意到题目提示 基于以上定义,一个树的重心可能会有一个或者两个
。这提示我们要进行分类讨论。那么分类的标准是什么呢?注意到上文提到的重心的定义中出现了最大子树最小这一 \(min-max\) 条件,稍加推导就可以得出重心的一条重要性质:点 \(u\) 是树的重心 \(\Leftrightarrow\) \(u\) 的所有子树大小不超过 \(\lfloor\dfrac{n}{2}\rfloor\)(证明···自己找,网上很多的)。
然后就可以发现,如果有两个重心,那个两个重心所在的子树大小相等,均为 \(\dfrac{n}{2}\),所以设已求得的重心为 \(rt\),如果满足 \(size_rt\times2==n\),则树有两个重心;否则树只有一个重心。
3 DP与转移
根据题中求联通子树个数这个要求及答案对 \(1e4+7\) 取模可以猜测,解法应为树上 \(DP\)。因此考虑状态。在已知两个子树的情况下,如果要合并答案可以知道,应该用乘法原理令两个子树选取的节点数相乘再求和,所以 \(f\) 状态要能够记录选取的节点数这一关键信息。于是发现可以定义状态 \(f_{u,i}\) 表示以 \(u\) 为根的子树,取 \(i\) 个节点的方案数。其中取 \(i\) 个节点可以解释为这棵联通子树里有 \(i\) 个节点。
考虑在 \(dfs\) 过程中求解 \(f_{u,i}\)(以下默认 \(u\) 为当前子树的根节点)。先求 \(size\) 数组,可知现在已合并到 \(u\) 的子树里的节点个数最多为 \(size_u\),设要合并的子树根节点为 \(v\),则节点最多有 \(size_v\) 个。由上文的分析不妨把子树 \(u\) 和子树 \(v\) 分开枚举,分别枚举 \(i\) 和 \(j\),则可以更新 \(f_{u,i+j}\) 的答案。注意到由于更新时要用到原 \(f\) 数组的数据,于是用一个 \(res\) 数组暂存结果,等到全部转移完再复制到 \(f_u\) 中。
由乘法原理可得对于 \(res_{i+j}\) 有如下式子:
\[res_{i+j}=\sum_{i=1}^{size_u}\sum_{j=0}^{size_v}f_{u,i}\times f_{v,j}\]而初始化条件即为 \(f_{u,0}=f_{u,1}=1\)。
4 答案求解
由 \(2\) 中的分类,以重心数量为依据分开处理。
- 如果重心有两个则较为简单。首先求重心时已求得一个重心,考虑到重心性质:如果有两个重心则两个重心相邻,可以直接枚举与 \(rt\) 相邻的节点 \(v\),如果 \(size_v=size_rt=\dfrac{n}{2}\),则 \(v\) 为另一个重心。定义 \(3\) 中的 \(dfs\) 为 \(dfs(u,fa)\), \(u\) 为当前节点,\(fa\) 为父节点,则直接 \(dfs(rt,v),dfs(v,rt)\) 就可以求出对于两个子树分别成立的 \(f\) 数组。然后在 \(1\sim n\) 枚举所有可能的树大小, \(ans\) 就可以快速地求出了:
inline void dfsdptwort(int u, int v) { memset(ddp, 0, sizeof ddp); dfs1(u, v); dfs1(v, u); for(int i = 1; i <= n; i++) { ans = (ans + ddp[u][i] * ddp[v][i]) % mod; }}
- 如果只有有一个重心,则枚举每个可能的树大小再重复一遍 \(dfs\) 中的求解过程就可以了。
inline void dfsdponlyrt(int u) { memset(ddp, 0, sizeof ddp); dfs1(u, 0); for(int i = 1; i <= n; i++) { memset(ddp[u], 0, sizeof ddp[u]); s[u] = 1; ddp[u][0] = ddp[u][1] = 1; for(auto v : G[u]) { for(int j = 1; j <= s[u] + s[v]; j++) { tmp[j] = 0; } for(int j = 1; j <= s[u]; j++) { for(int k = 0; k <= s[v]; k++) { if(k * 2 >= i) { break; } tmp[j + k] = (tmp[j + k] + ddp[u][j] * ddp[v][k] % mod) % mod; } } s[u] += s[v]; for(int j = 1; j <= s[u]; j++) { ddp[u][j] = tmp[j]; } } ans = (ans + ddp[u][i]) % mod; }}
注意,由于有多组数据,每次数组和临时数据都要清空,尤其是用 \(vector\) 存储的邻接表用的 \(pushback\),尤其容易忘记。
总结
对于树上与子树或者数量有关问题,一般可以考虑树上 \(DP\),视情况可以在状态中存储子树大小,子树形态等信息,可以灵活运用计数原理,尤其在子树合并过程中。
关键词:
-
-
-
-
FJOI 树的重心题解
电影《长安三万里》票房破16亿 成为中国影史第二
印度登月最关键一步!月船三号今晚进入环月轨道
轿车从天而降电动车主被撞身亡 超速抢道所致:现场视频让网友吵翻
0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元
北京门头沟:泡水车辆救援工作有序进行
证券行业定向“降准” 预计将释放超300亿元资金
跑分安卓第一!Redmi K60至尊版8月发布!卢伟冰:目标年度性能之王
法医秦明携新书《白卷》来汉分享 让善良的人提高警惕 让怀恶的人放下屠刀
博弈论学习笔记
女孩租房开2小时空调用完100元电费引热议:5级能耗惹不起 月薪过万电费也交不起
消息称迪士尼要拍真人版《魔发奇缘》:女主可能也找黑人演员
富祥药业08月04日被深股通减持29.34万股
小米13 Ultra同款!小米90W充电器套装上架:199元
容量越大越不坏?24万块硬盘故障率报告公布 这些产品零故障
电视尺寸和观看距离究竟有什么关系?多大尺寸最适合普通家庭
一加首款折叠手机OnePlus Open更多渲染图曝光
顶配24GB内存!一加Ace 2 Pro官宣联动《原神》派蒙:还有定制周边
鲁巷中学怎么样(鲁巷)
独立看门狗IWDG
今日全球上映!中国主控首部深海怪兽大片《巨齿鲨2:深渊》六大看点
雷军宣布:小米电视2023上半年出货量中国第一!
Windows文件复制慢得发指!这几个工具快上2倍
价格香爆!一大批泡水车正在路上 但我劝你别买
绝无系统广告!蔚来手机正式入网 已拿下大批专利
热评丨记住落坡岭 记住挺身而出的你
保定市城管执法局项目中心赶赴涿州开展小区地下室积水抽排工作
安东尼奥:青岛海牛走在正确的路上 下场打榜首球队会更困难
小米颠覆时代了!Redmi Max 98英寸电视史低价:9999元到手
总票房突破14亿元!《封神》幕后纪录片:妲己素颜试戏镜头曝光
好莱坞编剧大罢工 华纳高层:已让公司省下超1亿美元花费
预售价15.80万元起 WEY VV6将于今晚上市
九头相柳的9个头怎么摆的?真心佩服中国古人的想象力
男子裤袋藏14条活蛇入境被查:含3条球蟒 全球濒危物种
山东商户连夜蒸了1万个大馒头驰援河北:就是这么实在
Ant Design Pro项目一初始化就报a标签嵌套a标签错误 cannot as a descendant of
python多进程编程常用到的方法
薪酬增幅超10%,员工加薪2万
理想L9入门版上市!相差3万 Pro与Max该如何选择
白菜价时代结束 厂商放言内存价格跌到底了:年底趋于平衡
苹果赚麻了!全球智能手机一大半利润都被它收走了
北斗加持 高德地图首发驾车巡航模式:红绿灯计时一目了然
连续11年中国市场第一 国产OS麒麟系统一下子卖出6万套
渤海租赁:决定对“18渤租05”展期
混响是什么 音响混响是什么
顺络电子:董事长部分股权办理股票质押业务
人民银行邹澜:延续实施普惠小微贷款支持工具至2024年末
上半年贵州茅台日赚近2亿,直销收入占比超45%,渠道改革已到临界点?
运力远超实际需求 重庆发布中心城区网约车投资经营风险提示
2023上半年四川蓬安县招聘教师选岗公告
中国乳都呼和浩特距离世界乳都还有多远?
廊坊广电·关注丨【坚决打赢防汛抢险救灾硬仗】记者探访固安县和安次区集中安置点
津膜科技: 公司章程修订对照表
深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
海南文昌房价为什么涨,龙楼壹号买房子别只瞪着房价!
居民撤离收费站仍挨个发卡 高速回应背后真相令人恍然大悟 具体是啥状况呢
成都大运会|田径——女子100米决赛赛况
ISP是什么 isp是什么服务提供商
美国初请失业金人数小幅升至22.7万 仍接近年内最低水平
最新洪水形势如何?时隔多年为何又见洪水?解答来了!
亚信科技(01675)公布2023年中期业绩 净利润同比增12.3%
小规模纳税人减免增值税政策延续至2027年底
民调:如定罪服刑,特朗普将遭过半数共和党支持者抛弃
疯狂火柴人2下载(疯狂火柴人2)
农业农村部:落实落细农业防汛救灾和灾后生产恢复措施
丰沙铁路3-4号隧道区间成功抢通
美的集团注册资本增加至70.22亿
只评古典乐·还行
appuploader不是开发者账号
8月4日 13:03分 宇信科技(300674)股价快速拉升
“落坡岭的老百姓,把家里所有吃的都拿出来了”
四川大学博物馆焕新归来
国创高新:参股公司与鄂中生态签订100万吨/年磷石膏浮选净化项目
反差萌无敌
appuploader不是开发者账号
临洮县养老金上调最新消息2023年 今年临洮县企退工资上涨多少?
美的集团注册资本增加至70.22亿
8月4日午间评论
柬埔寨多地遭遇洪涝灾害 大量民房校舍受损
Overstock美国网站正式更名为Bed Bath&Beyond
中国投资开发(00204.HK)与四川慧通云企业管理签订战略合作意向书
室温超导A股梦幻2.0:这次炒作不同以往
观众用“钱”投票?好莱坞大片遭国产片“碾压”!7月总票房破87亿 创多项纪录
国家防总针对台风“卡努”启动防汛防台风四级应急响应
百亿暑期档宣发战怎么打成了这样?|对话电影人关雅荻
直击河北涿州救援现场:直升机搭起救援“空中通道”
郑州:落实“认房不认贷”政策,暂停住房限售,鼓励下调存量房贷利率
A股晚间热点 | 如何活跃资本市场?一日之内3大官媒齐发声 降低印花税呼声高
养生馆“鬼手神针”做针灸,无证行医罚5万!
河北:转移安置群众 保障电力畅通
LPL种子争夺战前瞻:EDG卖票小子?JDG七擒LNG?
大中华区营收重回增长,阿迪达斯全球CEO:感谢中国团队带来的活力和正能量
山东新泰一轿车与多车相撞,致2死7伤
火参果的功效与作用(火参果的功效与作用禁忌)
小黄鸭德盈(02250):与公共投资基金签订备忘录
李明俊在调研白龟湖科创新城和环湖路建设工作时强调 勇于担当负责 善于创新突破 着力打造群众满意的放心工程
好样的!张文澳、梁朝辉包揽男子3米跳板金银牌
8月4日 13:01分 厚普股份(300471)股价快速拉升
将引导金融资源更多流向民营经济
北京房山法院:防范强降雨灾害引发的八类纠纷