• 【学习笔记】CF1770F Koxia and Sequence


    发现每个位置是等价的,这样如果 n n n为偶数那么答案是 0 0 0,否则为所有方案数中 a 1 a_1 a1的异或和

    发现题目设计的非常巧妙,加上 ( OR i = 1 n a i ) ⊆ y (\text{OR}_{i=1}^n a_i)\subseteq y (ORi=1nai)y 的限制过后,变量的取值就有了范围,我们可以利用这一条件对式子进行化简

    考虑钦定 a 1 a_1 a1的第 k k k位为 1 1 1,然后计算方案数为: ∑ ∑ a i = x − 2 k [ a 1 ⊆ y − 2 k ] [ a 2 ⊆ y ] . . . [ a n ⊆ y ] = ∑ ∑ a i = x − 2 k ( y − 2 k a 1 ) ( y a 2 ) . . . ( y a n ) = ( n y − 2 k x − 2 k ) = [ ( x − 2 k ) ⊆ ( n y − 2 k ) ]

    ai=x2k[a1y2k][a2y]...[any]=ai=x2k(y2ka1)(ya2)...(yan)=(ny2kx2k)=[(x2k)(ny2k)]" role="presentation" style="position: relative;">ai=x2k[a1y2k][a2y]...[any]=ai=x2k(y2ka1)(ya2)...(yan)=(ny2kx2k)=[(x2k)(ny2k)]
    ai=x2k[a1y2k][a2y]...[any]=ai=x2k(a1y2k)(a2y)...(any)=(x2kny2k)=[(x2k)(ny2k)]

    可以 O ( 1 ) O(1) O(1)计算。最后枚举 y y y的子集容斥计算即可。

    复杂度 O ( y log ⁡ y ) O(y\log y) O(ylogy)

    代码真的很短😂

    #include
    #define fi first
    #define se second
    #define pb push_back
    #define db double
    #define ll long long
    #define ull unsigned long long
    using namespace std;
    ll n,x,y,res;
    int main(){
        ios::sync_with_stdio(false);
        cin.tie(0),cout.tie(0);
        cin>>n>>x>>y;
        if(n%2==0){
            cout<<0;
            return 0;
        }
        for(ll i=y;i;i=(i-1)&y){
            for(int j=0;j<20;j++){
                if(i>>j&1){
                    ll a=x-(1<<j),b=n*i-(1<<j);
                    if(a>=0&&b>=0&&(a&b)==a){
                        res^=(1<<j);
                    }
                }
            }
        }cout<<res;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
  • 相关阅读:
    B+tree - B+树深度解析+C语言实现+opencv绘图助解
    【Unity3D日常开发】Unity3D中Quality的设置参考
    [seccon pwn] babyfile 复现
    王道3.3 栈的应用
    2022VLMo: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
    【死磕NIO】— 探索 SocketChannel 的核心原理
    你的下一个压测工具可以是nGrinder
    HTML_案例1_注册页面
    第一次工业革命
    Power BI vs Superset BI 调研报告
  • 原文地址:https://blog.csdn.net/cqbzlydd/article/details/132912082