题意

求逆序对为\(k\)的\(n\)排列中,生成的笛卡尔数,每个位置的深度和。\(n\le 300\)

做法

设\(f_{k}\)为\(n\)排列中逆序对为\(k\)的个数,其生成函数为:\[\prod\limits_{i=0}^{n-1}(\sum\limits_{j=0}^i x^i)\]

把统计深度转换为统计祖先个数\(+1\)
考虑\(i,j(i<j)\),\(i\)为\(j\)的祖先,充要条件为在区间\([i,j]\)\(i\)是最小的

然后我们忘掉证明这个生成函数最简单的方式,也就是从小到大推的那种
考虑一段区间\([i,j]\),先做这里的生成函数,然后再做前面的,再做后面的,不需要数的大小了,任意数都能产生所有的可能

也就是说,枚举\(i,j\),只考虑换掉原来生成函数的一项即可,然后讨论钦定哪一个为祖先,这时候是明确逆序对个数贡献的

复杂度\(O(n^2+nk)\)

[USACO19DEC]Tree Depth P的更多相关文章

  1. 洛谷 P5853 - [USACO19DEC]Tree Depth P(生成函数+背包)

    洛谷题面传送门 神仙题. 首先考虑一个点的深度是什么,注意到对于笛卡尔树而言直接从序列的角度计算一个点的深度是不容易的,因为这样会牵扯到序列中多个元素,需要 fixed 的东西太多,计算起来太复杂了. ...

  2. 【HEVC帧间预测论文】P1.9 Coding Tree Depth Estimation for Complexity Reduction of HEVC

    Coding Tree Depth Estimation for Complexity Reduction of HEVC <HEVC标准介绍.HEVC帧间预测论文笔记>系列博客,目录见: ...

  3. 泛函编程(8)-数据结构-Tree

    上节介绍了泛函数据结构List及相关的泛函编程函数设计使用,还附带了少许多态类型(Polymorphic Type)及变形(Type Variance)的介绍.有关Polymorphism的详细介绍会 ...

  4. (转)Decision Tree

    Decision Tree:Analysis 大家有没有玩过猜猜看(Twenty Questions)的游戏?我在心里想一件物体,你可以用一些问题来确定我心里想的这个物体:如是不是植物?是否会飞?能游 ...

  5. Tree - Decision Tree with sklearn source code

    After talking about Information theory, now let's come to one of its application - Decision Tree! No ...

  6. USACO19DEC题解

    Bronze A Cow Gymnastics 题目:https://www.luogu.com.cn/problem/P5831 题解:用数组存一下出现位置,O(n^2)枚举一下就好. 代码: #i ...

  7. 【机器学习】决策树(Decision Tree) 学习笔记

    [机器学习]决策树(decision tree) 学习笔记 标签(空格分隔): 机器学习 决策树简介 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树).其每个非叶节点表示一个 ...

  8. 【12-26】go.js

    var $ = go.GraphObject.make; // for conciseness in defining templates function buildAlarm(row,column ...

  9. 机器学习实战笔记(Python实现)-02-决策树

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

随机推荐

  1. ThreadLocalRandom ---- 提升Random在大并发下的效率

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 随机数 随机数在科学研究与工程实际中有着极其重要的应用! ...

  2. CCF_201612-3_炉石传说

    http://115.28.138.223/view.page?gpid=T45 模拟. #include<iostream> #include<cstring> #inclu ...

  3. 登录sql sever

    MSSQLSEVER是默认的实例名,一台计算机可以安装多个实例名,相当于多个服务器,互不影响. workbench是MySQL 服务器的一个图形化管理客户端,功能类似于MySQL Command 安装 ...

  4. JDK11和JDK8类加载器的区别

    如下代码: public class Test07 { public static void main(String[] args) throws ClassNotFoundException { / ...

  5. TensorFlow中使用GPU

    TensorFlow默认会占用设备上所有的GPU以及每个GPU的所有显存:如果指定了某块GPU,也会默认一次性占用该GPU的所有显存.可以通过以下方式解决: 1 Python代码中设置环境变量,指定G ...

  6. 二、Mongodb常用命令

    #进入admin数据库 use admin #进行权限认证 db.auth('userAdmin', '123456') #查询所有用户 db.system.users.find() #更新用户 db ...

  7. node - 简单的爬虫案例

    cherrio模块 安装 cnpm install cherrio 使用方法 const cheerio = require('cheerio') const $ = cheerio.load('&l ...

  8. javascript A*算法 寻路算法 获取最短路径算法

    //A算法 自动寻路 路径 class GetAutoPath{ constructor(id, map, sPos, ePos, mapArr){ //this.type = id.type; th ...

  9. saltstack集合

    saltstack集合 saltstack(一):   saltstack简介 saltstack(二):   saltstack安装及配置 saltstack(三):   saltstack远程执行 ...

  10. Waymo-自动驾驶长尾问题挑战(2019)

    尽管Waymo已经在开放道路上积累超过10 Million Miles,Waymo的工程师们仍然发现有层出不穷的新自动驾驶场景待解决. 1.自动驾驶长尾场景举例 场景一:一个骑自行车的人手中拿着一个S ...