【学习笔记】ARC146/AGC020/
ARC146
Even XOR
我是sb我是sb我是sb
考虑从大小为 i i i的集合 S S S中添加一个数,使其仍然满足条件。
设添加的数为 X X X,则合法的充要条件是 S S S中不存在异或和为 X X X的大小为奇数的子集。
显然方案数 2 n − 2 i − 1 2^n-2^{i-1} 2n−2i−1
那么 d p i = d p i − 1 ( 2 n − 2 i − 2 ) dp_i=dp_{i-1}(2^n-2^{i-2}) dpi=dpi−1(2n−2i−2)
>=<
似乎不难。。。除了第一步???
首先转化限制。初始状态下 A = ( 1 , ⋯ , 1 ) A=(1,\cdots,1) A=(1,⋯,1)
然后考虑调整。形式化的说,限制是如:
1.1
1.1
1.1.如果
A
P
i
≤
X
i
−
1
A_{P_i}\le X_i-1
APi≤Xi−1,那么
A
Q
i
≤
Y
i
−
1
A_{Q_i}\le Y_i-1
AQi≤Yi−1
1.2
1.2
1.2.如果
A
P
i
≤
X
i
A_{P_i}\le X_i
APi≤Xi,那么
A
Q
i
≤
Y
i
A_{Q_i}\le Y_i
AQi≤Yi
跑 s p f a spfa spfa即可。复杂度 O ( n + K ) O(n+K) O(n+K) 。
AGC020
Min Max Repetition
答案是 ⌈ max ( a , b ) min ( a , b ) + 1 ⌉ \lceil\frac{\max(a,b)}{\min(a,b)+1}\rceil ⌈min(a,b)+1max(a,b)⌉。
我会构造!!乱搞万岁
考虑先二分前缀 A ⋯ A ⏟ k B \underbrace{A_\cdots A}_{k}B k A⋯AB的最大段数,再二分后缀 A B ⋯ B ⏟ k \underbrace{AB_\cdots B}_{k} k AB⋯B的最大段数,中间就是连续 A A A和 B B B。
证明略。AC Code
Median Sum
思维题。。
显然子集和其补集之和为定值,问题转化为求 ≥ ⌈ s u m 2 ⌉ \ge \lceil\frac{sum}{2}\rceil ≥⌈2sum⌉的最小的数。
bitset复杂度离谱
Arcs on a Circle
首先以最长的弧的左端点为原点,把环断开成链。
我们只关注小数部分的相对大小关系。考虑枚举其排列,并且显然每种排列是等概率的。
相当于数轴上有 0 ∼ n C 0\sim nC 0∼nC的整数点,其中 i i i的小数部分大小为 i m o d n i\bmod n imodn。并且每个区间的小数部分都不同。
现在问题转化为区间覆盖问题。设 d p [ i ] [ j ] [ S ] dp[i][j][S] dp[i][j][S]表示考虑了左端点 ≤ i \le i ≤i的区间,最远覆盖到 j j j,所选区间集合为 S S S的方案数。转移是 O ( 1 ) O(1) O(1)的。
复杂度 O ( ( n − 1 ) ! 2 n − 1 ( n C ) 2 ) O((n-1)!2^{n-1}(nC)^2) O((n−1)!2n−1(nC)2)。
__EOF__

本文链接:https://www.cnblogs.com/cqbzly/p/17530099.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2021-08-28 【题解】「JOISC 2021 Day1」饮食区