[USACO2021DEC] HILO

Solution

参考自 官方题解 里提到的一篇 Obliteration.pdf,但是里面作者写出了极多错误。。。然后式子还错错得对了。

令 \(y=n-x\)。

我们考虑枚举每一对数的贡献,不妨设为 \(j,i\ (j\in [x+1,n],i\in [1,x])\):

\[\pi =\underbrace{\cdots}_{X} \ j\ \underbrace{\cdots}_{Y} \ i \underbrace{\cdots}_{Z}
\]
  • 对于 \(k\in [1,i)\),它们若位于 \(X,Z\) 则没有限制,位于 \(Y\) 则得满足它不是 "LO";

  • 对于 \(k\in [i+1,x]\),它们只能位于 \(Z\);

  • 对于 \(k\in [x+1,j)\),它们只能位于 \(Z\);

  • 对于 \(k\in [j+1,n]\),它们没有任何限制。

我们枚举第一类位于 \(X,Y\) 的个数 \(m\),限制是位于 \(X\) 中的 \(\max\) 大于 \(Y\) 中的 \(\max\),显然两者是对称的,所以方案数为 \(\binom{i-1}{m} \cdot \frac{(m+1)!+[m=0]}{2}\)。

接下来推式子:

\[\begin{aligned}ans&=\sum_{i\le x}\sum_{j\le y} n^{\underline{y-j}} \sum_{m}\binom{i-1}{m} \cdot \frac{(m+1)!+[m=0]}{2}\cdot (n-(y-j+1)-m-1)!\\&=\sum_{j\le y} n^{\underline{j-1}}\sum_{i\le x}\sum_{m}\binom{i-1}{m}\cdot \frac{(m+1)!+[m=0]}{2}\cdot (n-j-m-1)!\\&=\sum_{j\le y} n^{\underline{j-1}}\sum_{m}\binom{x}{m+1}\cdot \frac{(m+1)!+[m=0]}{2}\cdot (n-j-m-1)!\\&=\sum_{j\le y}\frac{n^{\underline{j-1}}}{2}\left(x(n-j-1)!+\sum_{m\ge 1}\frac{x!}{(x-m)!}(n-j-m)!\right)\\&=\sum_{j\le y}\frac{n^{\underline{j-1}}}{2}\left(x(n-j-1)!+x!(y-j)!\sum_{m\ge 1}\binom{n-j-m}{y-j}\right)\\&=\sum_{j\le y}\frac{n^{\underline{j-1}}}{2}\left(x(n-j-1)!+x!(y-j)!\binom{n-j}{y-j+1}\right)\\&=\sum_{j\le y}\frac{n^{\underline{j-1}}}{2}\left(x(n-j-1)!+\frac{x(n-j)!}{y-j+1}\right)\\&=\frac{n!}{2}\sum_{j\le y}\left(\frac{x}{(n-j)(n-j+1)}+\frac{x}{(n-j+1)(y-j+1)}\right)\\&=\frac{n!}{2}\sum_{j\le y}\left(\frac{x}{n-j}-\frac{x}{n-j+1}+\frac{1}{y-j+1}-\frac{1}{n-j+1}\right)\\&=\frac{n!}{2}\left(1-\frac{x}{n}+H_y-(H_n-H_{n-y})\right)\\&=\frac{n!}{2}\left(H_x+H_y-H_n+\frac{y}{n}\right)\end{aligned}
\]

其中 \(H_n\) 是调和级数前缀和。

于是我们得到了可以对 \(x=0\sim n\) 均 \(\mathcal O(1)\) 求解的线性做法。

时间复杂度 \(\mathcal O(n)\)。

[USACO2021DEC] HILO 踩标做法的更多相关文章

  1. 【NFLSPC#4】嘉然今天吃什么(踩标做法)

    [NFLSPC#4]嘉然今天吃什么 感谢 @zhoukangyang 神仙的帮助. Solution 令 \(s_i\) 表示选了 \(i\) 个灯后仍然不合法的概率,那么 \(E(x)=\sum_{ ...

  2. 「ARC 139F」Many Xor Optimization Problems【线性做法,踩标】

    「ARC 139F」Many Xor Optimization Problems 对于一个长为 \(n\) 的序列 \(a\),我们记 \(f(a)\) 表示从 \(a\) 中选取若干数,可以得到的最 ...

  3. 【BZOJ-3673&3674】可持久化并查集 可持久化线段树 + 并查集

    3673: 可持久化并查集 by zky Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 1878  Solved: 846[Submit][Status ...

  4. ZJOI2019一轮停课刷题记录

    Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. ...

  5. SCOI 2018 划水记

    (此处不应有目录,省选爆零的过程得慢慢看) Day -n 一诊 说真的,在没看到“第一次诊断性考试”之前,一直以为是“一整”,真是可怕,初中教育都开始像UW中的最高祭司学习了. 感觉题目很gg.于是考 ...

  6. LOJ3048 「十二省联考 2019」异或粽子

    题意 题目描述 小粽是一个喜欢吃粽子的好孩子.今天她在家里自己做起了粽子. 小粽面前有 $n$ 种互不相同的粽子馅儿,小粽将它们摆放为了一排,并从左至右编号为 $1$ 到 $n$.第 $i$ 种馅儿具 ...

  7. NOIP练习赛题目4

    肥得更高 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 自2009年以来,A.B站的历史就已经步入了农业变革的黎明期.在两站的 ...

  8. 【数学】【P5150】 生日礼物

    Description 给定 \(n\),求 \[\sum_{i}~\sum_j~[lcm(i,j)~=~n]\] input 一行一个整数代表 \(n\) Output 一行一个整数代表答案 Hin ...

  9. Wolfycz的娱乐赛题解

    现在不会放题解的!比赛完了我会把题解放上来的 祝大家玩的愉快~ 等会,cnblogs不会显示更新时间?我禁赛我自己 UPD:2018.12.15 欢迎大家爆踩标程- painting 我们考虑转化题意 ...

随机推荐

  1. ServletContext介绍和用法总结

    ServletContext介绍和用法总结 学习总结 一.ServletContext 介绍 1. 概念 2. 作用 3. 获取 3.1 在实现类中获取 3.2 在 Spring 容器中获取 二.Se ...

  2. JavaScript实现按钮改变网页背景色

    运行效果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...

  3. Django中间件、csrf跨站请求、csrf装饰器、基于django中间件学习编程思想

    django中间件 中间件介绍 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出. ...

  4. css常见知识点总结

    CSS 中可继承与不可继承属性有哪些 可继承: 字体系列 font-family font-weight font-size 文本系列 color text-align line-height 可见系 ...

  5. 如何满足一个前端对 Mock 的全部幻想

    ​ 前端的痛苦 作为前端,最痛苦的是什么时候? 每个迭代,需求文档跟设计稿都出来了,静态页面唰唰两天就做完了.可是做前端又不是简单地把后端吐出来的数据放到页面上就完了,还有各种前端处理逻辑啊. 后端接 ...

  6. 函数 装饰器 python

    今日内容概要 1.闭包函数 2.闭包函数的实际应用 3.装饰器简介(重点加难点) 4.简易版本装饰器 5.进阶版本装饰器 6.完整版本装饰器 7.装饰器模板(拷贝使用即可) 8.装饰器语法糖 9.装饰 ...

  7. 纯css 实现动画的暂停和运动

    <template>   <div>     <input id="stop" type="radio" name="p ...

  8. Codeforces Round #719 (Div. 3) C. Not Adjacent Matrix

    地址 Problem - C - Codeforces 题意 每个格子,该格子和相邻的格子的值不能相同 题解 思维题, 先从1~n输出奇数,再输出偶数 代码 #include <iostream ...

  9. 2021.08.16 P1363 幻象迷宫(dfs,我感受到了出题人浓浓的恶意)

    2021.08.16 P1363 幻象迷宫(dfs,我感受到了出题人浓浓的恶意) P1363 幻象迷宫 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 幻象迷宫可以认为是无限 ...

  10. 用 DOM 获取页面的元素方法集合

    document.getElementById('id名')            // 获取页面设置指定 id 的元素 document.getElementsByTagName('标签名')    ...