RE:ゼロから始める AFO 生活
新建这篇博客的时候发现自己在NOI之后只发过两三篇博客,而且都基本上没什么实质性内容。
果然是巨大混混人啊。
本文承接上篇(不过好像烂尾了),旨在记录一些有趣(?)的内容。
12.23
北大集训过去好些天了。
对退役这件事情几乎无感,IOI也并非自己所坚信的道路。
但这也只是逃避的说辞罢了。
不过有一说一,退役二字本身还是很让人沮丧的。至少不能够把这种挫败感带到机房传染给学弟们。
以后还是会做点题什么的,毕竟在近一两年里总还是会被打上,或者说需要依赖于这引以为傲的OIer标签的。
当然也会有些别的计划,在此就不多提及了。
下午补了USACO的题。T3那个数数题在北大集训前鼠就跟我讲过但好像当时......根本没有脑子?
「USACO 2019.12 Platinum」Greedy Pie Eaters
首先可以认为每个区间都对应一头牛(若不存在可以认为牛的体重为\(0\)),记\(A_{l,r}\)表示区间\([l,r]\)对应的牛的体重,显然最终会选出恰好\(n\)头牛,每头牛吃恰好一个派。
考虑区间dp。枚举区间\([l,r]\),并枚举区间内最后一个被吃掉的派\(k\)。
\(f_{l,r}=\max_{l \le k \le r}\{f_{l,k-1}+f_{k+1,r}+g_{l,k,r}\}\),其中\(g_{l,k,r}=\max_{l \le x \le k \le y \le r}A_{x,y}\)。
\(g\)可以和\(f\)一起算,即\(g_{l,k,r}=\max\{g_{l+1,k,r},g_{l,k,r-1},A_{l,r}\}\),可以把其中一维用滚动数组优化掉。
code
「USACO 2019.12 Platinum」Bessie's Snow Cow
直接用\(\text{std::set}\)维护每种颜色的子树并,再安排个树状数组支持区间加区间求和就完事了!!1
code
「USACO 2019.12 Platinum」Tree Depth
一件(众所周知的)事情是设\(f_{n,k}\)表示逆序对数为\(k\)的\(n\)阶排列的数量,那么其生成函数\(F_n(x)=\sum_{k\ge 0}f_{n,k}x^k\)满足
\[F_n(x)=\prod_{i=0}^{n-1}\sum_{j=0}^{i}x^j=\prod_{i=1}^{n}\frac{1-x^i}{1-x}\]
大致含义是考虑排列的生成方式,每次在一个\(i\)阶排列的末尾添加一个新的数字,根据新添加的数字与原数的大小关系可以得到逆序对数的增量。
另一件(众所周知的)事情是在考虑排列中某个位置在对应的笛卡尔树上的期望深度时,常常根据期望的线性性,转化成考虑其余每个位置在笛卡尔树上作为这个位置的祖先的概率。具体的,一个\(n\)阶排列中,\(i\)作为\(j\)在笛卡尔树上的祖先的充要条件为:\(p_i\)是区间\([i,j]\)(或区间\([j,i]\))中的最小值,而这个概率显然是\(\frac{1}{|i-j|+1}\)。
回到原问题。考虑枚举\(i,j\),计算有多少逆序对数为\(k\)的排列满足\(i\)是\(j\)在笛卡尔树上的祖先。相当于是在插入\(i\)位置时强制其为当前最小,也即对于上述的生成函数\(F_n(x)\),把\(\prod\)中\(\sum_{k=0}^{|i-j|}x^k\)项改为\(1\)或者\(x^{|i-j|}\)(根据\(i,j\)的大小关系,会发现当\(i<j\)时插入\(i\)不会贡献逆序对,\(i>j\)会贡献恰好\(i-j\)个逆序对)。
只需要计算出\(F_n(x)\),然后每次除掉一个\(\frac{1-x^i}{1-x}\)即可。
晚上口胡了下PKUWC。jlsnb!
RE:ゼロから始める AFO 生活的更多相关文章
- CSP2019-终章:afo生活的开始
出分了...退役了...449...afo了... 曾经立志不少于500的我...竟然450都没上... Orz初中的神仙学弟考了596... 接下来,是一种生活的结束,也是另一种生活的开始... 我 ...
- RE:ゼロから始める文化課生活
觉得有必要在NOI之前开一篇学习内容记录. 至于为什么要取这个标题呢?也许并没有什么特殊的借口吧. 5.23 在LOJ上搬了三道原题给大家考了考,然后大家都在考试就我一个人在划水. SSerxhs 和 ...
- 关于我的OI生涯(AFO){NOIP2016 后}
这篇我就随意写啦~不用统一的“题解”形式.♪(^∀^●)ノ 也分好几次慢慢更吧~ 对于NOIP2016的总结,我本想善始善终back回,但是心情不足以支撑我,那就只能有始有终了......下面进入我的 ...
- IT男的”幸福”生活"续6
新的一年飘了一下,就过来了. 在过去的一年,大家都找到了自已的幸福吗? 时间在继续,人生得幸福.. 看了前面大家的回复,感觉挺开心的.像我们code Man,不可能总是coding.总得要一些生活调味 ...
- xml在此生活
小编尾随学习的步伐.今天小编简要概述xml在此生活,xml她的百度百科这一解释:可扩展标记语言 (ExtensibleMarkup Language, XML).用于标记电子文件使其具有结构性的标记语 ...
- 开展project
正常的生活之路
相对刚走出学校的学生在其他行业工作,竞争力的薪酬,同时.并不断地不仅学习更新专业知识让你感到生活的充实,更满足了你那不让外人知的虚荣心.在刚出校门的几年中,你常常回头看看被你落在后面的同学们,在内心怜 ...
- 成也DP,败也DP(AFO?)
不知道想说什么.. 从来没写过博客,markdown什么的也不会,凑合着看一下吧. 初中的时候开始搞OI,学了两个月后普及组爆零就退赛了. 初三直升的时候说每个人都要选竞赛,抱着混一混的心态选了信息, ...
- 茶馆小人书 (AFO)
茶馆小人书 ——AFO 乌云重重地压住了整个天际,阴风凛冽袭人,随着远方穹顶上的几声闷响,豆大的雨点便开始清洗这座城市.北方的雨,就是这么突然.任性,恰似北方人的性情,豪放不羁,一旦开始便不可收拾 ...
- Geek地生活,文艺地思考
本文纯属整理自己零碎杂乱的思绪,和题目无关. 不知觉间,大学已经两年过去了,忙忙碌碌了两年,大一那年參加了学生会编 辑部和艺术团舞蹈队,课余时间的生活总是被舞蹈队排练.參演和编辑部 ...
随机推荐
- PorterDuffXfermode之PorterDuff.Mode.MULTIPLY
package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.B ...
- python读取csv文件、excel文件并封装成dict类型的list,直接看代码
# coding=UTF-8import csvimport xlrd class ReaderFile(): """ 读取csv文件 filePath:文件路径 &qu ...
- MS SQL查询所有表行数,获取所有数据库名,表名,字段名
1.获取所有数据库名 --SELECT Name FROM Master..SysDatabases ORDER BY Name -- 2.获取所有表名: --SELECT Name NAMEtemp ...
- 【c# 学习笔记】索引器
当一个类包含数组成员时,索引器 的使用将大大地简化对类中数组成员的访问.索引器的定义类似于属性,也具有GET访问器和set访问器,如下: [修饰符] 数据类型 this[索引类型 index] { g ...
- Demo客户端相关规范 v1.0
目录 开发环境 开发工具 代码管理 项目代码 分支管理 名称管理 打包管理 存储路径 存储结构 测试包 正式包 名称管理 依赖组件 内部组件 外部组件 解决方案结构 解决方案命名 解决方案文件夹 项目 ...
- golang 日志模块(log)
log 日志 log 模块可以自定义log 对象, 也可以使用log默认对象的日志方法 func New 创建log对象 func New(out io.Writer, prefix string, ...
- eclipse 解决POM文件错误:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
解决方案: 更新eclipse中的maven插件 1.1 Help -> Install New Software -> Add 1.2 Location中输入 http://repo1. ...
- selenium3 web自动化测试框架 四:Unittest介绍及项目实战中的运用
unittest介绍及运用,可以参考之前写的文章,除了未结合web自动化演示,基础知识都有了 https://www.cnblogs.com/wuzhiming/p/8858305.html unit ...
- Arduino图形化编程软件ArduBlock的安装过程
ArduBlock是一款图形编程插件,接下来我们在Windows10上进行安装 注意ArduBlock虽然能安装在1.83版本的Ardunio上,但在载入程序时会报错,用本身的IDE不会出现这种情况. ...
- 前端接收 post 请求返回的文件
坐标过多无法用Get请求,只能用post下载. 但发现ajax发送的post请求没有触发下载,返回的流媒体会存在于接口返回的response中. 查询发现AJAX并不会唤起浏览器的下载窗口,AJAX设 ...