博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU - 6305 RMQ Similar Sequence(笛卡尔树)
阅读量:6938 次
发布时间:2019-06-27

本文共 936 字,大约阅读时间需要 3 分钟。

题目

 对于A,B两个序列,任意的l,r,如果RMQ(A,l,r)=RMQ(B,l,r),B序列里的数为[0,1]的实数,B的重量为B的所有元素的和,否则为0。问你B的期望重量是多少。

分析

 准备知识:笛卡尔树

RMQ-Similar实际上就是A和B的笛卡尔树一样。于是这个题就是笛卡尔树同构的问题,假设A的笛卡尔树的子树大小为sz[u],那么序列B与A同构的概率为,因为B中的数满足均匀分布(因为B中的元素为[0,1]中的任意实数),所以每个位置的期望值为(0+1)/2,那么B的重量总和为n/2,所以B的重量的期望值为

实际上对这题我还没完全懂,暂且记录一下吧。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const int maxn=1e6+10;const int inf=0x3f3f3f3f;const int mod=1e9+7;stack
st;ll inv[maxn];int n;struct node{ int val,sz; int l,r,par;}t[maxn];void init(){ for(int i=0;i<=n;i++) t[i].l=0,t[i].r=0,t[i].par=0,t[i].sz=0;//初始化 t[0].val=inf; while(!st.empty()) st.pop(); st.push(0);}void build(){ for(int i=1;i<=n;i++){ while(!st.empty()&&t[st.top()].val

 

转载于:https://www.cnblogs.com/fht-litost/p/9551231.html

你可能感兴趣的文章
软件分发、补丁推送排错
查看>>
如何把VHD转换成VHDX
查看>>
毕业只是开始:你准备好了吗?
查看>>
交互式自动化脚本模板
查看>>
顺丰和菜鸟对用户数据寸土不让 战争平息需监管层
查看>>
fatal error: libavutil/avconfig.h: No such file...
查看>>
spring集成activemq
查看>>
上网不掉钱
查看>>
我的友情链接
查看>>
Intruder reporting tool (for ssh remote login)
查看>>
创建cocopods库(swift版)
查看>>
linux启动不了,无法进入rescure模式,Mount: could not find filesystem '/dev/root
查看>>
TCP拥塞控制机制
查看>>
hdfs运维中遇到的问题记录
查看>>
手机屏幕适配
查看>>
软件测试LR通用性能分析流程
查看>>
如何升级phpmyadmin
查看>>
解决 phpmyadmin #2002 无法登录 MySQL 服务器
查看>>
hibernate添加时间问题
查看>>
要看的
查看>>