test 0710 二分专题
T1 算术
得分情况
期望实际:100
题意
已知一个长度为 (N+2) 的序列 (A[0],A[1],cdots,A[N],A[N+1]), 这个数列满足如下条件:
(A[i] = (A[i-1] + A[i+1])/2 - D[i] (0 < i < N+1))
现在给出数列 (D,A[0],A[N+1]) , 请计算出 (A[1]) 的值,我们可以证明 (A[1]) 可能的取值存在且唯一(有唯一解)
正解
可以脑补一下,显然 (A[1]) 增大时 (A[N+1]) 同时增大(后来别人递推发现其实是是一个一次函数……)
直接二分答案即可
T2 比赛
得分情况
期望实际:0
改后:100
题意
(2^N) 名选手正在打石头剪刀布比赛,比赛的规则是两两进行 1v1 淘汰赛,并在 (N) 轮后决出唯一的胜利者。
每名选手有一个独一无二的实力分数,代表他在这 (2^N) 名选手中的排名(不存在并列的情况) 。
比赛的结果具有随机性,即:对于进行比赛的两名选手,如果两名选手的实力分数的差的绝对值小于等于某个给定的常数 (K),则两名选手都有可能获得比赛胜利。
否则,两名选手中分数较低(意味着排名更靠前)的选手一定会取得比赛的胜利。
也因此,比赛的最终胜利者不一定是实力分数最小(排名最靠前)的选手。
给出 (2^N) 与 (K) ,问:最少需要在这 (2^N) 个选手中排多少名(即实力分数最大),才有可能获得整个比赛的最终胜利者?
犯傻原因
一开始看错题了,后来直接跳了写别的题目去了
正解
二分答案
显然我们可以发现比赛可以抽象成一个完全二叉树
那么,当前节点为 &x&
那么我们可以贪心的找到当前大于等于 (x-k) 的最小值填入,然后就可以过了……
T3数字三角形
得分情况
期望实际:40
改后:100
题意
你有一个底部宽为 (2N-1) 的金字塔,除了底层以外,每一个位置的数都是下面三个数的中位数。求塔顶的数是多少?
犯傻原因
也是直接跳了……写了个暴力
正解
可以考虑二分答案,大于为 (1) 小于 为(0)
那么可以手玩一下,然后接可以找到规律
对于大于当前答案的设为 (1) 小于的设为 (0)
从中间开始往外面找
如果出现了第一个连续的 (00) 或者 (11) 显然就可以一直上传……
然后就可以过了
T4 digit
得分情况
期望:100
实际:50
改后:100
题意
问 (k) 进制下 (l) 位数到 (r) 位数中有多少个数的数位和为 (5) 的倍数或 (4) 的倍数或 (6) 的倍数。
犯傻原因
取模没取全…… (k) 忘记取模了……
正解
设 (f[x][a]) 为当前长度为 (x) 数位和模 (s) 时剩 (a) 。
此处 (s) 的取值只有 (4,5,6,12,20,30,60) 。
(f[1][a]=(k-1-i)/s + 1) 。
显然 (f[x][a]=sum_{i=0}^{i < s}([frac{k-1-(a-i+s)\%s}{s}]+1) imes f[x-1][i]) 。
所以矩阵乘法试试……
试试就逝世……
考试总结
可以手玩一些大样例避免出现取模的问题,然后还可以多思考思考,一开始就看出了这是二分专题,但是还是没能很好的想出怎么判断可行……