【Topcoder 10107】TeamManagement
Topcoder 10107
题意:给定一棵树,其中有些点是忠诚的,现在要选k个点,每个选择的联通块都必须包含一个忠诚的点,求包含某个点的概率。
思路:考虑树型\(dp\),\(dp(i,j,0/1,0/1)\)表示\(i\)号节点为根的子树中选择\(j\)个,\(i\)选不选,是所有选择的联通块都是含有忠诚的点,还是只有\(i\)所在的联通块不含。状态转移方程:
\(dp(u,i+j,0,1)=dp(u,i,0,1)\times(dp(v,j,0,1)+dp(v,j,1,1))\)
\(dp(u,i+j,1,0)=dp(u,i,1,0)\times(dp(v,j,0,1)+dp(v,j,1,0))\)
\(dp(u,i+j,1,1)=dp(u,i,1,0)\times dp(v,j,1,1)+dp(u,i,1,1)\times(dp(v,j,0,1)+dp(v,j,1,0)+dp(v,j,1,1))\)
解释:\(v\)是\(u\)的儿子,\(i\)、\(j\)是枚举的\(u\)在\(v\)之前的儿子所构成的子树和\(v\)所挂的子树中所选的数量。为什么没有\(dp(i,j,0,0)\)?因为如果这个节点根本不选,就不可能有这个点所在的联通块。
反思:这个方程重写了几次才写对。属思路不明确。
【Topcoder 10107】TeamManagement的更多相关文章
- 【Topcoder 10384】KingdomMap
Topcoder 10384 题意:给你一个森林,求是否能将这个森林的点集分成两部分,每部分放在一列中,要求边是直的并且不能交叉,问最少删哪几条边. 思路:我们考虑森林中的一棵树,以\(u\)为根,将 ...
- 【Topcoder 10524】BrickPuzzle
Topcoder 10524 题意:给一个\(n\times m\)的棋盘,上面有一些格子是白色的,需要被一些俄罗斯方块们覆盖,俄罗斯方块有\(4\)种: 然后这些图案不能重叠或超出边界,并且每一个图 ...
- 【Topcoder 1879】Scheduling
题意:给一个\(dag\),每一个点有一个访问时间. 现在可以同时访问两个点,但当连向这个点的所有点都被访问完成后才可以访问这个点. 问最短访问时间. 思路:一眼贪心.可惜是错的. 第二眼暴搜.就这么 ...
- 【Topcoder 10689】TheSoccerDivOne
题意:给\(n\)个队伍的积分,它们要踢足球,每个队伍剩下4场没有踢. 问踢完后\(0\)队伍最高排名. 思路:首先想了贪心,可惜不对. 那么老实dp. 首先:每个队伍具体和哪个人踢了没有关系. 那么 ...
- 【Topcoder 8572】TheLuckySum
题意:给一个数\(n\),要把它分成lucky numbers的和. 问个数最少.字典序最小的方案. 思路:果断搜索.个数最少,所以迭代加深.枚举要的个数\(m\). 首先我们看\(n\)的个位.它肯 ...
- 【Topcoder 1643】PossibleOrders
题意:给一些等价关系,问把所有的数按照大小排序的种类数. 思路:首先并查集维护等价类,然后设有\(n\)个等价类. 那么就可以\(dp\)了. 考虑\(dp(i)\)表示还剩下\(i\)个等价类,答案 ...
- 【topcoder SRM 702 DIV 2 250】TestTaking
Problem Statement Recently, Alice had to take a test. The test consisted of a sequence of true/false ...
- 【AR实验室】mulberryAR : ORBSLAM2+VVSION
本文转载请注明出处 —— polobymulberry-博客园 0x00 - 前言 mulberryAR是我业余时间弄的一个AR引擎,目前主要支持单目视觉SLAM+3D渲染,并且支持iOS端,但是该引 ...
- 【.net 深呼吸】细说CodeDom(1):结构大观
CodeDom 是啥东东?Html Dom听过吧,XML Dom听过吧.DOM一般可翻译为 文档对象模型,那 Code + DOM呢,自然是指代码文档模型了.如果你从来没接触过 CodeDom,你大概 ...
随机推荐
- docker构建自定义镜像
docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...
- ServletConfig与ServletContext对象详解
一.ServletConfig对象 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数.(配置在某个servlet标签或者整个w ...
- HTML5 template元素
前言 转自http://www.zhangxinxu.com/wordpress/2014/07/hello-html5-template-tag/ 在单页面应用,我们对页面的无刷新有了更高的要求,H ...
- API输出的时候是return还是echo?
写php API写的很少,最近才开始接口的写法,在框架里面一直用return,但是在api中retrun就失效了,为什么呢? 网友给出的答案: 1. return 一般用于函数或方法的返回. echo ...
- php7.27: export excel from mysql
https://stackoverflow.com/questions/15699301/export-mysql-data-to-excel-in-php https://github.com/PH ...
- 自封装node 的简单增删改查
1 首先引入的上篇node 链接mysql 里面的js var connect = require('./nodemysql.js'); 2 定义常量 const customerSQL = { qu ...
- python自动化开发-6-常用模块-续
python的常用模块(续) shelve模块:是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. configparser模块:对配置文件进行 ...
- iOS开发NSDate、NSString、时间戳之间的转化
//将UTCDate(世界标准时间)转化为当地时区的标准Date(钟表显示的时间) //NSDate *date = [NSDate date]; 2018-03-27 06:54:41 +0000 ...
- Java并发编程(十二)Callable、Future和FutureTask
一.Callable与Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: public interface Runnable { pu ...
- EasyUI报错 $(...).accordion is not a function
参考资料: https://stackoverflow.com/questions/9017634/accordion-is-not-a-function 原因:加载了2次jquery js文件