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地生活,文艺地思考
本文纯属整理自己零碎杂乱的思绪,和题目无关. 不知觉间,大学已经两年过去了,忙忙碌碌了两年,大一那年參加了学生会编 辑部和艺术团舞蹈队,课余时间的生活总是被舞蹈队排练.參演和编辑部 ...
随机推荐
- android studio: 让项目通过阿里云 maven jcenter 下载依赖资源
打开项目根目录下的 build.gradle(Project:项目名称一级的gradle),如下所示添加阿里 maven 库地址: // Top-level build file where you ...
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_03-用户认证-认证服务查询数据库-查询用户接口-接口定义
1.2.4 查询用户接口 完成用户中心根据账号查询用户信息接口功能. 在ucenter这个服务里面定义查询用户信息的接口 这个接口在auth的服务的loadUserByUserName这个方法里面被调 ...
- iOS 判断scrollView是否滑动到底部
判断scrollView有没有滚动到视图的底部,用来判断下拉刷新的时间.等 - (void)scrollViewDidScroll:(UIScrollView *)scrollView1 { CG ...
- CentOS 端口和防火墙操作
Centos 7 端口和防火墙命令: 查看已经开放的端口:firewall-cmd --list-ports 开启端口:firewall-cmd --zone=public --add-port=80 ...
- Node.jsp配环境更新中)
设置用户密码sudo passwd user1sudo passwd root 创建新用户sudo useradd -d /home/share -m sharesu share设置新用户密码sudo ...
- React16+配置打包目录
在学习react的时候,肯定最终都要用脚手架,对比了手写配置webpack(比较费劲).generator-react-webpack(打不开官方文档……),最终还是选择了react官方的create ...
- HTML5+CSS3系列教程——如何制作简单按钮笔记
1.按钮的制作方式 用图片(目前用的不多) 纯CSS a标签 input 图片二决定了input的类型 当input的type属性是submit button等这些的时候他呈现一个按钮 butto ...
- C# checked和unchecked 关键字详解
checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的:如果使用了checked发生数学运算溢出时会抛出OverflowException:如果使用了unchecked则不会 ...
- Memcached的安装与常用命令
一.概述 MSM:Memcached-Session-ManagerMemcached是一款高性能.分布式的内存对象缓存系统 二.安装Memcached 在安装Memcached之前,我们需要先安装上 ...
- 49.Django起步学习
django起步 django安装 pip install django==2.0.4(版本号) pip install django 默认安装最新版本 创建项目 django-admin start ...