2013 NEERC
2013 NEERC
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\)方式的人已经拿到票的概率。
转移方程:
更新答案:
用\(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
字符串处理+最长路。