社区讨论

求问这题第二种询问单次时间复杂度是多少

P14977[USACO26JAN1] Lineup Queries S参与者 2已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@mkj8cmm5
此快照首次捕获于
2026/01/18 12:22
上个月
此快照最后确认于
2026/01/21 19:35
4 周前
查看原帖
rt,我用的是倍增处理移动奶牛倒退的过程。
CPP
ll p=x,nowt=t;
while(nowt>=0){
    REV(i,62,0){
        ll d=1ll<<i;
        if(d>nowt) continue;
        if(p+d<((nowt-d)>>1)) p+=d,nowt-=d;
    }
    while(p<((nowt)>>1)) ++p,--nowt;
    if(p>(nowt)>>1) break;
    p=0,--nowt;
}
cout<<p<<endl;

回复

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

正在加载回复...