CF814E An unavoidable detour for home
考虑有每个最短路只有一条.
那么我们建出最短路树后,显然所有的非树边都是同层之间的横叉边。
那么我们考虑设\(f(i,j,k,z)\)为我们考虑到了第\(i\)个点,此时他被我们分配到了\(p\)层,而\(p-1\)层作为完整的层,其总共有\(j\)条向下的边,而\(p\)层有\(k\)个向下一边的点,\(z\)个向下两边的点。
那么我们考虑
从\(f(i,0,c1,c2)\)变为\(f(i,c1 + 2c2,0,0)\)即我们划分了一个新的层。
有\(f(i,c1 + 2c2,0,0) = \frac{(c1 + 2c2)!}{2^c2}f(i,0,c1,c2)\)
那只需要考虑\(i\)从\(i-1\)转移而来:
那么就需要枚举一下\(i\)和哪些点相连。
如果它不连:
则直接:
\(f(i,j-1,c1,c2) = f(i - 1,j,c1,c2)\)
如果它连一个
则有在\(c1 + c2\)个点里找一个点进行横叉边的链接:
连的是一个一度点:
\(f(i,j - 1,nc1 - 1,nc2) = c1f(i - 1,j,c1,c2)\)
连的是一个二度点:
\(f(i,j - 1,nc1 + 1,nc2 - 1) = c2f(i - 1,j,c1,c2)\)
如果它连了两个:
则如果它连的都是一度点:
有\(f(i,j - 1,nc1 - 2,nc2) = \binom{c1}{2}f(i - 1,j,c1,c2)\)
则如果它连的都是二度点:
有\(f(i,j - 1,nc1 + 2,nc2 - 2) = \binom{c2}{2}f(i - 1,j,c1,c2)\)
如果它连的一个是一度点,一个是二度点:
有\(f(i,j - 1,nc1,nc2 - 1) = c1c2f(i - 1,j,c1,c2)\)
是一个很暴力的\(O(n^4)\)的做法。
CF814E An unavoidable detour for home的更多相关文章
- codeforces 814E An unavoidable detour for home
题目链接 正解:$dp$. 感觉这道题就是中国象棋的加强版..我们要发现一些性质. 首先就是这个图肯定是一个按照$bfs$序分层的图,且每个点只往自己上面那一层连了一条边,每个点不可能向自己的上面超过 ...
- An unavoidable detour for home CodeForces - 814E (dp)
大意: 给定一棵树每个点的度数, 求所有满足条件的树的个数 每个点到$1$的最短路唯一 假设$l_i$为点$i$到$1$的最短距离, 那么$l_i\ge l_{i-1}$ 每个点度数范围$2\le d ...
- Noip前的大抱佛脚----赛前任务
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...
- Work at DP
转载请注明出处:http://www.cnblogs.com/TSHugh/p/8858805.html Prepared: (无notes的波兰题目的notes见我的波兰题目补全计划)BZOJ #3 ...
- codeforces round 418 div2 补题 CF 814 A-E
A An abandoned sentiment from past 水题 #include<bits/stdc++.h> using namespace std; int a[300], ...
- codeforces814E
https://lunch.blog.luogu.org/cf814e-an-unavoidable-detour-for-homedp-ji-shuo-post https://blog.csdn. ...
- Detour的简单使用
Detours的安装:下载部分:1.直接在百度搜"detour",进对应的网站下载.2.或以下链接https://www.microsoft.com/en-us/research/ ...
- Recast & Detour & TerrainExport Study Feeling
Recast Navigation和Terrain Export终于算是有点成果了.今天作一个简单的总结,顺便写一些话激励自己. 这个项目的成功对于我这个算法又烂,而又不懂3d图形学的人来说,感觉真是 ...
- How to change the implementation (detour) of an externally declared function
原文地址:http://stackoverflow.com/questions/6905287/how-to-change-the-implementation-detour-of-an-extern ...
随机推荐
- Python代码阅读(第21篇):将变量名称转换为蛇式命名风格
Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现将变量名称转换为蛇式命名风格(snake case)的功能. 本篇阅读的代码片段来自于30-second ...
- JuiceFS 如何帮助趣头条超大规模 HDFS 降负载
作者简介 王振华,趣头条大数据总监,趣头条大数据负责人. 王海胜,趣头条大数据工程师,10 年互联网工作经验,曾在 eBay.唯品会等公司从事大数据开发相关工作,有丰富的大数据落地经验. 高昌健,Ju ...
- OO_JAVA_JML系列作业_单元总结
OO_JAVA_JML系列作业_单元总结 (1)梳理JML语言的理论基础.应用工具链情况 简单梳理 以下三者是jml规格里的核心,对一个方法功能和属性的限制: requires子句:规定方法的前置条件 ...
- 零基础学习Linux所必备的七大习惯
对于很多Linux初学者来说,在刚开始使用linux系统时会感到很多的不适.这里为大家整理了自己以前linux入门时别人告诉我的七个习惯.我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安 ...
- 对dy和Δy的浅薄理解
一.导数定义 当函数y=f(x)的自变量x在一点x0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x0)或df(x0) ...
- web性能检测工具lighthouse
About Automated auditing, performance metrics, and best practices for the web. Lighthouse 可以自动检查Web页 ...
- 对JavaScript中局部变量、全局变量和闭包的理解
对js中局部变量.全局变量和闭包的理解 局部变量 对于局部变量,js给出的定义是这样的:在 JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域 ...
- C#写TXT文档
//C#写TXT文档 String strDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAs ...
- ARM 链接配置.lds文件学习<转>
本文由Jacky原创,来自http://blog.chinaunix.net/u1/58780/showart.php?id=462971 对于.lds文件,它定义了整个程序编译之后的连接过程,决定了 ...
- DeWeb部署
DeWeb部署 部署时需要runtime中的大部分文件 需要的目录有: apps,仅包括需要部署的dll即可 dist,必须.请勿改动 media,非必须,一般媒体文件存在于此目录 upload,必须 ...