正睿csp-s 7连测 day4

注:未登录正睿OI账号则看不了题目。

day 4

A

难度:蓝-紫
考虑贪心。
考虑优先选当前能连到了最小的点,但是这样会被样例卡疯。
考虑加一点策略。首先,若当前选到的点权大于其儿子的点权,那肯定把儿子也选上了,不然就不优了。
然后树上就会出现一些团。现在假设一个点下面连着两个团,考虑优先选那个团。

假设一个团A有两个点,点权为\((a_1,a_2)\);还有一个团B有三个点,点权为\((b_1,b_2,b_3)\)
先选A再选B,结果为\(x_1=a_1*i+a_2*(i+1)+b_1*(i+2)+b_2*(i+3)+b_3*(i+4)\)
先选B再选A,结果为\(x_2=b_1*i+b_2*(i+1)+b_3*(i+2)+a_1*(i+3)+a_2*(i+4)\)
\(x_1>x_2\),则有\(3(a_1+a_2)<2(b_1+b_2+b_3)\)

推广一下,若A有 \(s_1\) 个点,点权和为 \(m_1\);B有 \(s_2\) 个点,点权和为 \(m_2\);则比较 \(s_1*m_2\)\(s_2*m_1\) 的大小来判断优劣。
合并用并查集维护一下,就做完了。
时间复杂度约 \(O(kn\log n)\)

B

难度:黄-绿
傻逼数学题。
\(p<q\) 时直接输出 \(-1\)
\(p=q\) 时特判 \(1\),然后输出。
\(p>q\) 时考虑二分。
计算 \(0\sim mid\) 里不同非负整数的数量 \(x\)。这里有一个式子:\(x=\lceil \frac{(mid+1)q}{p}\rceil-1\),可以手推一下。
然后+1-1这种细节记得处理一下。

C

难度:黄
弱智找规律题。
容易发现 \(>k\) 时方案数为 \((n-k)^{n-k}\)\(\leq k\) 时暴搜记录就行了,方案数为 \(k^{k-1}\)
还有一点要注意的是底数记得先取模。

D

难度:蓝-紫
傻逼阅读理解题,内含OI特色长难句和谜语人题面。
题面翻译:给出一个长度为 \(m\) 的序列 \(a\),请你求出有多少种 \(1...n\) 的排列 \(S\),满足 \(a\) 是它的唯一最长上升子序列。
考虑状压dp。
对于每一位,有三种状态:不在排列 \(S\) 中;在排列 \(S\) 中且不在排列 \(a\) 中;在排列 \(S\) 中且在排列 \(a\) 中。搞三进制状压dp即可。

posted @   nagato__yuki  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示