CF1276 D. Tree Elimination
CF1276 D. Tree Elimination
传送门
Solution
考虑树型\(dp\),设\(f_{u,0/1/2/3}\)分别表示点\(u\)被自己父亲边之前的边覆盖了,被自己父亲覆盖了,被自己父亲边之后的边覆盖了以及没有覆盖.
那么这个怎么转移?
下面规定小于号就是出现在\(v\)前面的意思.
考虑一个点的\(f_{u,0}\)的转移:
显然对于选的那个儿子不能在选这条边之前被选(不然就选不了),那么就是\(f_{v,2/3}\).
这个儿子前面的儿子一定要选,不然这条前面儿子对应的边就不合法.
这个儿子后面的儿子可以选也可以不选,但是不能选父亲,因为父亲已经被匹配了.
综合起来就是:
\[
f_{u,0}=f_{v,2/3}*\prod_{p<v}f_{p,0/1}*\prod_{p>v}f_{p,0/2/3}
\]
\(f_{u,2}\)的转移类似.
考虑\(f_{u,1}\)的转移,那么有:
对于前面的儿子一定不能选2,3.
对于后面的儿子一定不能选父亲.
综合起来就是:
\[
f_{u,1}=\prod_{son<fa_u}f_{son,0/1}*\prod_{son>fa_u}f_{son,0/2/3}
\]
\(f_{u,3}\)则等价于前面的都不能选\(2/3\),所以转移就很明了了.
Code
CF1276 D. Tree Elimination的更多相关文章
- Codeforces 1276D/1259G Tree Elimination (树形DP)
题目链接 http://codeforces.com/contest/1276/problem/D 题解 我什么DP都不会做,吃枣药丸-- 设\(f_{u,j}\)表示\(u\)子树内,\(j=0\) ...
- Codeforces 1276D - Tree Elimination(树形 dp)
Codeforces 题面传送门 & 洛谷题面传送门 繁琐的简单树形 dp(大雾),要是现场肯定弃了去做 F 题 做了我一中午,写篇题解纪念下. 提供一种不太一样的思路. 首先碰到这样的题肯定 ...
- Codeforces Round #606 (Div. 1) Solution
从这里开始 比赛目录 我菜爆了. Problem A As Simple as One and Two 我会 AC 自动机上 dp. one 和 two 删掉中间的字符,twone 删掉中间的 o. ...
- Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) F. Tree Factory 构造题
F. Tree Factory Bytelandian Tree Factory produces trees for all kinds of industrial applications. Yo ...
- SPOJ 375. Query on a tree (树链剖分)
Query on a tree Time Limit: 5000ms Memory Limit: 262144KB This problem will be judged on SPOJ. Ori ...
- 【CF1146】Forethought Future Cup - Elimination Round
Forethought Future Cup - Elimination Round 窝也不知道这是个啥比赛QwQ A. Love "A" 给你一个串,你可以删去若干个元素,使得最 ...
- [PGM] Variable elimination and Belief propagation
内容范围如题.Lec 08-11的内容:https://www.youtube.com/watch?v=Qa04kw1gKHk&index=36&list=PLQiVpyxVlLkbp ...
- BNU 28887——A Simple Tree Problem——————【将多子树转化成线段树+区间更新】
A Simple Tree Problem Time Limit: 3000ms Memory Limit: 65536KB This problem will be judged on ZJU. O ...
- [数据结构]——二叉树(Binary Tree)、二叉搜索树(Binary Search Tree)及其衍生算法
二叉树(Binary Tree)是最简单的树形数据结构,然而却十分精妙.其衍生出各种算法,以致于占据了数据结构的半壁江山.STL中大名顶顶的关联容器--集合(set).映射(map)便是使用二叉树实现 ...
随机推荐
- Redis(一) redis安装、启停
Redis是开源的内存数据存储,常被用作为内存数据库.缓存.全局队列.计数器等等. Redis安装 Redis分为多种模式:单机模式.高可用模式.集群模式.这篇中主要简介单机版的安装方式. 源码构建式 ...
- C# vb .NET识别读取QR二维码
二维码比条形码具有更多优势,有些场合使用二维码比较多,比如支付.那么如何在C#,.Net平台代码里读取二维码呢?答案是使用SharpBarcode! SharpBarcode是C#快速高效.准确的条形 ...
- Android 中发送邮件
第一步.导入第三方jar包 Android实现发送邮件,首先需要依赖additional.jar.mail.jar和activation.jar这3个jar包. Google提供了下载地址:https ...
- 04——Solr学习之项目中使用solr
借鉴博客:https://blog.csdn.net/kisscatforever/article/details/76744768 完全可以跟着他这个来,清晰明了. 一.来说说怎么使用solr这玩意 ...
- windows docker 安装 Kitematic
在已经安装好docker for windows的基础上, 右键docker任务栏小图标, 选择Kitematic 然后放在docker的安装目录中C:\Program Files\Docker: 文 ...
- centos7安装mysql注意点
yum安装yum -y install mariadb-server 启动服务systemctl start mariadb.service 开机自动启动systemctl enable mariad ...
- scrapy-redis 0.6.8 配置信息
很多博客的db参数配置都不能用,所以记录一下该版本可用的配置 #启用Redis调度存储请求队列 SCHEDULER = "scrapy_redis.scheduler.Scheduler&q ...
- TP5.0整合webuploader实现多图片上传功能
在https://github.com/fex-team/webuploader 下载webuploader并解压,解压后放到public里面.其中我把解压缩后的文件夹改名为webuploader,放 ...
- angular6 使用daterangepicker的注意事项
具体使用方法可参考这篇博客:https://blog.csdn.net/qq_43225030/article/details/84973086 需要注意的地方是,在dateRangePicker函数 ...
- 部署LNMP应用平台
一.LNMP应用平台概述 1.概述:LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/ ...