【学习笔记】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} 2n2i1

那么 d p i = d p i − 1 ( 2 n − 2 i − 2 ) dp_i=dp_{i-1}(2^n-2^{i-2}) dpi=dpi1(2n2i2)

AC Code

>=<

似乎不难。。。除了第一步???

首先转化限制。初始状态下 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 APiXi1,那么 A Q i ≤ Y i − 1 A_{Q_i}\le Y_i-1 AQiYi1
1.2 1.2 1.2.如果 A P i ≤ X i A_{P_i}\le X_i APiXi,那么 A Q i ≤ Y i A_{Q_i}\le Y_i AQiYi

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 AAB的最大段数,再二分后缀 A B ⋯ B ⏟ k \underbrace{AB_\cdots B}_{k} k ABB的最大段数,中间就是连续 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 0nC的整数点,其中 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((n1)!2n1(nC)2)


__EOF__

本文作者仰望星空的蚂蚁
本文链接https://www.cnblogs.com/cqbzly/p/17530099.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(9)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2021-08-28 【题解】「JOISC 2021 Day1」饮食区
点击右上角即可分享
微信分享提示