「10.15」梦境(贪心)·玩具(神仙DP)·飘雪圣域(主席树\树状数组\莫队)
A. 梦境
没啥可说的原题....
贪心题的常见套路我们坐标以左端点为第一关键字,右端点为第二关键字
然后对于每个转折点,我们现在将梦境中左端点比他小的区间放进$multiset$里
然后找最近的右端点,
然后没了......
思路总结:
1.贪心套路,坐标排序,最优性选择
2.再有原题一定要赶紧打
B. 玩具
大神题,我考场再也不敢肝期望了kukuku
定义三个数组
$dp_{i,j}$表示当前森林中有$i$个点,然后有$j$个点在第一棵子树的概率
$f_{i,j}$表示当前树有$i$个点,深度小于等于$j$的概率
$g_{i,j}$表示当前森林有$i$个点,深度小于等于$j$的概率
然后我们开始转移意淫
首先$dp_{i,j}=dp_{i-1,j-1}\times inv_{i} \times (j-1)+dp_{i-1,j}\times inv_{i}\times (i-j)$
后面的$\times (i-j)$是因为有单独成树的情况
然后$f_{i,j}=g_{i-1,j-1}$这是直接转移的,因为只能这样连啊.....
对于$g_{i,j}=\sum_{k=1,n} f_{k,j}\times g_{i-k,j}\times dp_{i,k}$,
非常神仙的转移方程,我们让森林为一个子树和森林合成,枚举子树的点数,在乘上$i$个节点的树中第一个子树有
$k$的概率
C. 飘雪圣域
很值得反思的一道题,
考场推$T2$推到心态爆炸,$T3$没细心想想要用回滚莫队骗分,我数据结构学傻了吧..................
首先有个性质,联通块数等于点数减边数
所以考虑问题转化:
给定二元组$a,b$,问$L<=a<=R && L<=b<=R$的个数
做法很多
比较好实现的有
1.树状数组套$vector$
我们在树状数组中插入$a$,然后查询时在树状数组的每个节点中$lower\_bound$比$L$大的值
复杂度$O(nlog(n^2))$
2.莫队,
因为本题的特殊性,莫队可以$O(1)$转移
因为是树上的转移,我们可以记录每个节点的$sum_{x}$表示节点的孩子数
同时记录他的父亲,仔细想想可以$O(1)$转移
3.主席树
这个我没打......我好像太懒了.....
「10.15」梦境(贪心)·玩具(神仙DP)·飘雪圣域(主席树\树状数组\莫队)的更多相关文章
- LOJ #2538. 「PKUWC 2018」Slay the Spire (期望dp)
Update on 1.5 学了 zhou888 的写法,真是又短又快. 并且空间是 \(O(n)\) 的,速度十分优秀. 题意 LOJ #2538. 「PKUWC 2018」Slay the Spi ...
- 「10.12」木板(数学)·打扫卫生(神仙DP)
A. 木板 一个很简单的数学题,简单推一下就好,路丽姐姐教你学数学. 将式子化出我们发现只需求出$i\times i/n$的个数 那么我们将$n$质因数分解,可知因子个数 为了整除$n$,令$i==\ ...
- 「10.29」数列(exgxd)·数对(线段树优化DP)·最小距离(最短路,树上直径思想)
好久没碰到这么友好乱搞的题了.... A. 数列 考察的是exgcd的相关知识,最后的答案直接O(1)求即可 B. 数对 本来以为是原题,然后仔细看了看发现不是,发现不会只好乱搞骗分了 事实上直接按$ ...
- 「10.28」Dove 打扑克(链表)·Cicada 与排序(概率)·Cicada 拿衣服(各种数据结构)
A. Dove 打扑克 考场思考半天线段树树状数组,没有什么想法 打完暴力后突然想到此题用链表实现会很快. 因为只有$n$堆,所以设最多有$x$个不同的堆数,那么$x\times (x-1)/2==n ...
- 「10.19」最长不下降子序列(DP)·完全背包问题(spfa优化DP)·最近公共祖先(线段树+DFS序)
我又被虐了... A. 最长不下降子序列 考场打的错解,成功调了两个半小时还是没A, 事实上和正解的思路很近了,只是没有想到直接将前$D$个及后$D$个直接提出来 确实当时思路有些紊乱,打的时候只是将 ...
- 「10.14」小P的2048(模拟)·小P的单调数列(性质,DP)·小P的生成树(乱搞)
A. 小P的2048 模拟.....又没啥可说的,以后要认真打打模拟题了... B. 小P的单调数列 考场$n^2log(n)$的SB思路有人听吗 正解当然不是这样, 事实上我们每次选取的只有一段区间 ...
- 「10.13」毛一琛(meet in the middle)·毛二琛(DP)·毛三琛(二分+随机化???)
A. 毛一琛 考虑到直接枚举的话时间复杂度很高,我们运用$meet\ in\ the\ middle$的思想 一般这种思想看似主要用在搜索这类算法中 发现直接枚举时间复杂度过高考虑枚举一半另一半通过其 ...
- 「10.11」chess(DP,组合数学)·array(单调栈)·ants(莫队,并茶几)
菜鸡wwb因为想不出口胡题所以来写题解了 A. chess 昨天晚上考试,有点困 开考先花五分钟扫了一边题,好开始肝$T1$ 看了一眼$m$的范围很大,第一反应矩阵快速幂?? $n$很小,那么可以打$ ...
- 「10.8」simple「数学」·walk「树上直径」
A. Simple 本来以为很难,考场瞎推了推好像会了...... 想起小凯的诱惑,迷?? 首先$n$,$m$,$q$同除$gcd(n,m)$,显然$q$以内的数假如不是$gcd$的倍数,那么一定不能 ...
随机推荐
- 常用的 TCP KeepAlive 参数
转自:http://dola.xinfan.org/?p=359 我们知道 TCP 协议有检测连接状态的机制,当连接不活跃的时候,连接双方会通过一定的算法检测连接是否正常.这个机制就是 TCP 的 K ...
- 深入源码,深度解析Java 线程池的实现原理
java 系统的运行归根到底是程序的运行,程序的运行归根到底是代码的执行,代码的执行归根到底是虚拟机的执行,虚拟机的执行其实就是操作系统的线程在执行,并且会占用一定的系统资源,如CPU.内存.磁盘.网 ...
- [bug] SpringBoot 集成 jsp,访问时页面报Whitelabel Error Page
参考 https://bbs.csdn.net/topics/392187702
- [刷题] PTA 查验身份证
题目: 7-63 查验身份证 (15 分) 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5, ...
- Mysql数据库基础增删改查常用语句命令
Mysql增删改查常用语句命令 一.增删改查语句总览 创建: create(创建数据库) 增:insert(插入表数据) 删:drop.delete(删除表.删除表数据) 改:update.alter ...
- Linux 系统优化-workstation实践
Linux 系统优化 关闭SELinux [root@workstation ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/seli ...
- crontab 的简要介绍
1.概述: crontab 用于周期性被执行的指令,该指令从标准设备输入指令,并将指令存放在crontab文件中,供之后读取和执行. 与crontab相关的文件一共有三个: /etc/crontab ...
- 在 Kubernetes 集群在线部署 KubeSphere
https://github.com/kubesphere/ks-installer/blob/master/README_zh.md https://kubesphere.com.cn/docs/i ...
- Python中字符串转换列表
前言:在使用Python完成工作中一些任务的时候,常常要对数据类型进行转换,比如字符串转列表,列表转字符串,字符串转元组等等,下面分享一下常用的字符串转列表 字符串转列表 第一种字符串转列表: t_s ...
- ngx_lua模块
ngx_lua模块的原理: 1.每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM:2.将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问:3.每个 ...