Luogu 4932 浏览器

这道题是某次 Luogu 月赛的题目。关于这道题的代码,非常神奇的是,这是比赛时某学长看到管理员提交记录的编译信息中含有一句神奇的内建函数 __builtin_popcount() ,然后根据那句话反推出来的。(喂喂喂这算作弊吧) 下面是 GNU 对这个函数的定义

    
    — Built-in Function: 
    int __builtin_popcount (unsigned int x)
    Returns the number of 1-bits in x.

然后是代码

    
    // luogu-judger-enable-o2
    #include <iostream>
    #include <cstdio>                                                       
    using namespace std; //define                                           
    unsigned long long ans[3],n,a,b,c,d,x; //main
    int main(){
        ios::sync_with_stdio(false);
        cin>>n>>a>>b>>c>>d>>x;                                                      
        for(int i=1;i<=n;i++){
            x=(a%d*(x%d*x%d)+b*x%d+c)%d;ans[__builtin_popcount(x)&1]++;
        }
        cout<<ans[0]*ans[1]<<endl;
        return 0;
    }

Comments

xkzzzz: 大家好我是传说中的学长