2023牛客寒假算法基础集训营4 信心赛
A
仔细看题发现是比较\(x^y,y^x\)大小 取ln求导就行了 3是最优的。
B
容易利用\(c_i\)来构造\(a_i,b_i\)值得注意的是m等于2的情况 需要特殊构造。
C
对每个物品都dp一遍用最大值比较即可。
D
利用前后缀dp来优化C
E
简单的模拟 简单计算一下。
F
发现规律除了根剩下的点与其子树为完全二叉树。
子树大小可以用深度来计算。
且左子树所有点大于父亲节点 右子树相反
从上往下跳即可。
G
考虑先对自由人bfs一遍。
枚举另外一个人的步数得到位置判断相遇。
H
二分步数 需要倍增来判断位置 或者直接分类讨论环和链的情况。
进一步的不必二分直接倍增。
I
注意到有限步数为\(2\cdot 10^6\)这恰好为\(2\cdot n\sqrt n\)
从而想到用莫队来做 利用莫队的某一方向单调对准不能用的反方向即可。
J
先求出每个数字多少比它小
一个数字在i这个位置当前紧当 i-1个数比它小 n-i个数都比这个位置要大。
K
先把已知的有两个相同的翻开。
这样接下来的操作只有两种 一种是随便翻两个未知的一种是翻一个已知一个未知。
注意到题目要求是在最优策略下的期望。
如果我们知道最优策略便可直接dp求期望。
能否直接边dp边取min来保证最优 ,这是不行的因为结果期望对模数取余难以比较大小。
可以先写一个浮点数的dfs来看一下哪种策略最优。
通过感性理解与发现可以知道除了2,2这个局面其余局面直接每次翻两个未知最优。
这样就可以进行dp了 需要使用倒序dp,但是直接记忆化搜索也是可行的。
L
直接解方程即可 注意判断三角形是否存在。
M
直接构造数列 1 2 3 1 2 3....即可。