ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【考试总结】2022-06-21

2022-06-24 16:00:47  阅读:144  来源: 互联网

标签:le frac 21 sum pf 2022 06 2i 阀值


给国与地震

一种暴力的想法就是将所有当前可以合并的边扔到优先队列里面,每次取出来堆顶合并,然后扫描这条边两端点所在联通块当前没有被合并的所有出边,如果能合并就合并

看起来每次合并就把所有出边都扫描一遍非常亏,所以可以给每条边权为 \(w\) 的边设置一个 \(\frac{w-a_u-a_v}2\) 的阀值

那么只访问阀值小于增量的边并更新阀值为 \(w-sum_u-sum_v\)的一半即可,这里 \(sum_u\) 表示 \(u\) 所在联通块 \(a\) 的和

实现时,对于边 \((u,v)\) 如果在 \(u\) 这端改变阀值,可以不在 \(v\) 的记录出边的数据结构中删除具有原来阀值的边的信息,因为它会被较后处理到

当然在将边的信息插入数据结构的时候需要让阀值加上当前联通块 \(sum\)

给国与时光机

设 \(A\) 表示两端都被正常经过的点,\(L/R\) 表示 左/右 边被正常经过的点,\(N\) 表示两端都没有被经过的点,那么 \(N\) 之间可以任意配对

显然 \(A\) 会和 \(A\) 连边,那么 \(A\) 是奇数的时候无解;

在 \(m=2n+1\) 的档中发现让 \(A\) 每 \(4\) 个一组进行 \(13,24\) 配对就能遍历所有边,\(m\le 2n\) 时也尝试如法炮制

让每个 \(L\) 找到在其后面最靠左的 \(R\) 配对,如果 \(A\) 的数量是 \(4\) 的倍数那么所有元素都被配对了,得到答案

否则如果存在 ALR...A...LR 的结构(点表示省略了若干个 \(A\)),让内侧 \(RL\) 配对,外侧 \(LR\) 配对,选择两对夹着的一个 \(A\) 以及外面的一个 \(A\) 凑成一组四个

此时将 \(A\) 的数量又变成了 \(4\) 的倍数,使用上面的方法处理即可

给国与赌场

策略是将 \(\frac{a_1}{b_1}\) 写成二进制小数,每次选择最后一位 \(1\) 下注,这样也保证了递增

那么在小数位数有限时可以设 \(f_{i}\) 表示小数点后第 \(i\) 位向前进位的概率,答案是 \(f_1\)

如果第 \(i\) 位是 \(1\) 那么概率就是 \(f_{i+1}+p(1-f_{i+1})\);反之则为 \(pf_{i+1}\)

这个递推显然可以写成一次函数复合的形式,那么对于小数位数无限的情况就先处理出来循环部分无限次复合的结果再和不循环的部分复合,一次函数复合无限次的结果是 \(\displaystyle\sum_{i=0}^{+\infty}bk^i=\frac{b}{1-k}\)

关于将分数变成小数可以模拟除法竖式,\(x\) 下一个出现的是 \(2x-b_1\) 或者 \(2x\) ,取决于 \(2x\ge b_1\) 与否

附上题解中关于这个策略的证明

设 \(f(x,n)\) 表示从 \(x\) 赢到 \(2^n\) 的概率,此时下注只能是整数,设 \(c(i)\) 表示 \(i\) 的二进制表示中 \(1\) 的数量,\(q=1-p\),那么递推式为:

\[\displaystyle f(x,n)=qf(\lfloor\frac{x}2\rfloor,n-1)+pf(\lceil\frac{x}2\rceil,n-1)=\sum_{i=0}^{x-1}q^{c(i)}p^{n-c(i)} \]

这可以通过归纳得到,具体而言:

\[\begin{aligned}\displaystyle f(x,n)&=qf(\lfloor\frac{x}2\rfloor,n-1)+pf(\lceil\frac{x}2\rceil,n-1)\\&=\sum_{i=0}^{\lfloor\frac{x}2\rfloor-1}p^{n-1-c(i)}q^{c(i+1)}+\sum_{i=0}^{\lceil\frac{x}2\rceil-1}p^{n-c(i)}q^{c(i)}\\&=\sum_{i=0}^{\lfloor\frac{x}2\rfloor-1}p^{n-c(2i+1)}q^{c(2i+1)}+\sum_{i=0}^{\lceil\frac{x}2\rceil-1}p^{n-c(2i)}q^{c(2i)}&\end{aligned} \]

\(2i\) 作为原和式中的偶数,\(2i+1\) 作为原和式中的奇数

现在需要证明 \(\forall 0<k\le x,\ pf(x+k,n)+qf(x-k,n)\le qf(\lfloor\frac{x}2\rfloor,n-1)+pf(\lceil\frac{x}2\rceil,n-1)=f(x)\) ,也就是说没有任何一种其它在第一步下注的选择比按照上述策略优

先假定做完第一步之后采取上面说的策略更优,现在证明第一步中也执行这样的选择是最优的,那么将 \(f(x\pm k,n)\) 展开,简单和式变换可以得到

\[pf(x+k,n)-pf(x,n)\le qf(x)-qf(x-k,n)\\ \sum_{i=0}^{k-1}p^{n-c(x+i)+1}q^{c(x+i)}\le \sum_{i=0}^{k-1}p^{n-c(i+x-k)}q^{1+c(i+x-k)} \]

此时如果能找到一个 \([x,x+k-1]\to [x-k,x-1]\) 的双射 \(F\) 使得对位满足小于关系,也就是说满足 \(p^{c(i)-c(F(i))-1}\ge q^{c(i)-c(F(i))-1}\)

由于 \(p\le q\) 那么 \(c(i)\le c(F(i))+1\) ,注意到任意 \(x,p\) 都有 \(c(x)\le c(x-2^p)+1\) 所以直接找到 \(k\) 在二进制表示下的最高位 \(b\) ,让 \(y\in[x+k-2^b,x+k-1]\) 的 \(f(y)=y-2^b\) 然后迭代即可

标签:le,frac,21,sum,pf,2022,06,2i,阀值
来源: https://www.cnblogs.com/yspm/p/TestReview-2022-06-21.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有