codevs3311 起床困難綜合症

2021-08-09 07:38:30 字數 874 閱讀 3465

題目←

wwq:這題你居然沒一眼切?!

嗯……二進位制列舉……

判斷不超過m的二進位制數的每一位是1更優還是0更優

顯然同時滿足我們要放0

為了便於判斷大小,從高位到低位列舉

複雜度 2*n*log(m)

#include

#include

#include

#include

#define ll long long

using

namespace

std;

const ll maxn = 100000 + 50;

ll n,m;

struct zt

ope[maxn];

string x;

ll len;

ll ans;

ll check(ll loc,ll v)

else

if(ope[i].ch == 2)

else

if(ope[i].ch == 3)

}return v;

}ll now,maxn;

int main()

else

if(x == "or")

else

if(x == "xor")

scanf("%d",&ope[i].num);

maxn = max(maxn,ope[i].num);

}len = log2(maxn);

for(ll i = len;i >= 0;i --)

else

if(tmp1 > tmp2)

}printf("%lld",ans);

}

bzoj3668 Noi2014 起床困難綜合症

21 世紀,許多人得了一種奇怪的病 起床困難綜合症,其臨床表現為 起床難,起床後精神不佳。作為一名青春陽光好少年,atm 一直堅持與起床困難綜合症作鬥爭。通過研究相關文獻,他找到了該病的發病原因 在深邃的太平洋海底中,出現了一條名為 drd 的巨龍,它掌握著睡眠之精髓,能隨意延長大家的睡眠時間。正是...

NOI2014 起床困難症

題意 有n個關卡,你有乙個初始攻擊值,這個值初始不能超過m,每個關卡有乙個攻擊型別op 位運算 和引數t 現在問你通過這些關卡最後你的攻擊值最大是多少。最開始直接看到這道題直接就先打了o nm 的暴力列舉,m 2 30.所以顯然知道自己過不了,依舊抱著好玩的態度去水了30分暴力,然後想正解。最開始是...

998 起床困難綜合症

本題是讓我們選擇 0,m 之間的乙個整數x,經過給定的n次位運算,使結果ans最大。位運算的主要特點之一是在二進位制表示下不進製。正因為如此,在x可以任意選擇的情況下從,參與位運算的各個位 bit 之間是獨立無關的。換言之,對於任意的k 0 k 30 ans的第k位是幾 只與 x的第k位是幾 有關,...