退位计划
全部颜色都选的限制很强,考虑对他容斥。
首先我们可以很容易求出
那么我们此时多算了某个颜色没选的答案,需要减掉他,于是答案就显然了。
单调栈
考虑一下对于一个
不难发现
转化一下第一个条件发现第三个条件是对于每个
现在我们得到了每个点与其他点的大小关系,发现形成森林。那自然设
树之间不影响所以最后扫一遍每个树的根统计一下答案即可。
Two Permutations
显然我们只关心
这个限制非常强,我们可以对其 DP。
设
传送
还没写
B
非常喜闻乐见的想到差分,那么区间取反就是头尾的 01 取反,区间翻转就是区间头和区间尾建边。
我们把所有操作建边,最短路就知道把任意两个 1 变成 0 的答案,这个可以预处理好。
枚举哪两个一起变,直接计算最小值。
取模
显然对
从序列中随便找三个数,必然有两个模数相同,枚举差的因数就可以找到这个模数。剩下的一个数减余数取个 gcd 看下是否有就可以了。时间复杂度是
quq
首先有贪心,把
那么对于一个数
在这个概率下,我需要选出这个。扭包含这个值的最小的扭蛋机,出他的期望次数就是值域。这个感性理解即可。
最后的答案把这些乘起来相加即可。
求排列(roast)
拆位。
找到最高的一位,这一位既有
那么把数按照这一位分成两个集合,集合内乱走是不会影响答案的,只有跨集合会影响答案。
则一个集合建字典序,一个集合查异或最小值,集合之间的边左右两边异或必然是这个最小值,否则走这个边就是不优的。
接下来就变成走路题了,需要保证任意时刻不走到割点。一个点是割点只能是所有去对面的边都挂在这个节点上了。
所以按照字典序贪心,先找合法起点,他要么不是割点,要么就是集合内唯一的点。向前走一步,如果集合还有点,就不能走割点,其他就在出边中找最小值。
走完一圈就得到答案了。
仙人
无脑圆方树。
变成树后对于每个子树进行DP。
对于
不过注意方点是没有
重设个
均摊时间复杂度
[5102IOSJ]最大公约数
福利题。
因为
枚举矩阵左下
先优化空间,我们发现可以去掉前两维,这样可以跑
然后我们发现,若
分析时间复杂度。当数据是随机的,一但我们找到任意一个数与当前集合内任意数互质,那么我们就会退出。发现这样集合大小期望不会很大,大概
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现