码迷,mamicode.com
首页 > 其他好文 > 详细

2012 Dhaka

时间:2018-09-07 01:01:35      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:prot   splay   字符串处理   答案   inline   结果   概率   开始   hack   

2012 Dhaka

Problem A. ASCII Puzzle

题目描述:完成一个拼图。

solution
暴搜,但好像挺难打的,但听说因为题目限制比较多,其实很多奇怪的情况都不存在。

Problem B. Bonus Cards

题目描述:有\(n\)张票,两种买票方式\(A, B\),选票流程:每轮决定一张票给谁,\(A\)方式抽中的概率是\(B\)方式的两倍。所有票都抽完,或者所有人都有票则选票结束。给出\(A, B\)方式各有多少人,问你用\(A\)方式能拿到票的概率以及\(B\)方式能拿到票的概率。

solution
\(f[i][j]\)表示经过了\(i\)轮,有\(j\)个用\(A\)方式的人已经拿到票的概率。
转移方程:
\[f[i+1][j]+=f[i][j]*2*(A-j)/((B-(i-j))+2*(A-j)+2)\]
\[f[i+1][j]+=f[i][j]*(B-(i-j))/((B-(i-j))+2*(A-j)+2)\]
更新答案:
\[ans+=f[i][j]*2/((B-(i-j))+2*(A-j)+2)\]

\(B\)方式的也类似。

时间复杂度:\(O(n^2)\)

Problem F. Fraud Busters

solution
模拟。

Problem H. Hack Protection

题目描述:给定一个序列\(a_i\),求有多少个区间满足区间内的数的异或和等于与的值。

solution
枚举区间左端点\(L\),然后求出每个二进制位\(L\)以后最早出现\(0\)的是哪一位,从小到大排序,设\(num=2^{30}\),每遇到一个出现\(0\)的位置,\(num\)对应二进制位就变成\(0\),直到下一个出现\(0\)的位置为止,所有区间的与值都是\(num\),然后求出这段区间有多少个作为右端点时异或和等于\(num\)即可,这个可以求异或和的前缀和,然后排一下序,到时候二分就可以求答案了。

时间复杂度:\(O(30nlogn)\)

Problem I. Interactive Interception

题目描述:交互题。已知有一架飞机一开始在数轴\([0, p]\)之间,速度在\([0, v]\)之间,每次可以询问飞机是否在一段区间内,询问后飞机的坐标就会加速度。先需要你在某一时刻能确定飞机的位置。

solution
二分,每次询问可行区间的一半,然后根据得到的结果缩小位置的区间以及速度的区间。
不太会,待更。

Problem J. Join the Conversation

solution
字符串处理+最长路。

2012 Dhaka

标签:prot   splay   字符串处理   答案   inline   结果   概率   开始   hack   

原文地址:https://www.cnblogs.com/GerynOhenz/p/9602066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!