社区讨论

警示后人

P5972[PA 2019] Desant参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mizb7dse
此快照首次捕获于
2025/12/10 09:07
2 个月前
此快照最后确认于
2025/12/12 21:10
2 个月前
查看原帖
冷知识(其实如果你打过 csps2023 的话应当知道的,但是我忘了。):pair / 结构体会自动对齐,例如 pair<int,long long> 实际占用 1616 字节。
可以通过 cout<<sizeof(pair<int,long long>) 检验这件事。
所以在本题中推荐把逆序对数和方案数压进一个 long long 里,例如:
CPP
struct soupo{
    unsigned long long x;
    inline unsigned val()const{return x>>48;}
    inline unsigned long long cnt()const{return x&((1ull<<48)-1);}
    void operator+=(const soupo&o){
        if(val()!=o.val())x=min(x,o.x);
        else x+=o.cnt();
    }
    soupo operator*(const unsigned long long&o)const{
        return (soupo){x+(o<<48)};
    }
};

回复

1 条回复,欢迎继续交流。

正在加载回复...