小總結 快速冪 貪心 Bit Mask

2022-02-16 02:02:02 字數 949 閱讀 1929

傳送門:

preview:

bitstream:a flow of data in binary form.

in bit-wise expression:用位表示。

her face was a cold blank mask.  她裝出一副冰冷冷毫無表情的樣子。

perform a bit-wise and operation. 

in bit-wise expression, mask is a common term.

輸入3個數 n,l,u,問你能否找出乙個數m,在滿足 l <= m <= u的情況下。使得m|n最大,如果有多個數都能使得m|n最大,那麼輸出最小的那個數。

分析:這題用貪心來寫。。我們知道或操作。只要有1進行或操作後會變成1。。

所以在進行貪心的時候。我們只要考慮n為1的位置盡量用0去填,n為0的位置盡量用1去填。

不過在這之前要進行乙個判斷。就是如果當前一位如果填上1,會超過上界r,則只能填0.如果當前一位填上了0,會使得即使後面每位都填上1也到不了下界l,則只能填1.

然後由於n最大為2^32。。本來想用位運算的結果悲劇了。。最後自己寫了個快速冪去把乙個數拆解成01的二進位制數。

#includeusing namespace std;

typedef long long ll;

ll n,l,r;

int vis[33];

ll num;

ll mi(ll a,ll b) //快速冪

return ans;

} int main()

else vis[i]=0;

} num=0;

for(int i=31;i>=0;i--)

{

if(mi(2,i)+num>r) continue; //如果填1超過上界

else if(mi(2,i)-1+numresorce:

漲薪 貪心 快速冪

link description 一共有n個數,第i個數的值為a ia i ai 可以進行m輪操作 選擇其中x個數乘3,其中y個數乘2,對於每個a ia i ai 在每一輪不可以被選擇兩次。如果乙個數連續兩輪沒被選擇,就直接淘汰 求最終剩下的數的總和最大為多少,答案模1e9 7 解題思路 貪心 快速...

貪心小總結

這一周學習了貪心演算法。總的來說,貪心演算法在聽的時候感覺並沒有這麼的難,總體思路就是在每一步取最優解,之後總的就取到最優解。但在寫的時候感覺並沒有這麼簡單,因為在貪心演算法來說,思路首先是是最重要的,之後才會考慮優化 本週貪心演算法的第一題,我寫了三天之後才有大概的方向。第一次的的總思路用到了棧,...

快速冪學習總結

a b c a c b c 上面的是乙個公式,接下來將介紹另乙個公式,在介紹公式之前,先來看乙個有關二進位制的東西,那10進製數 11 來說 把11轉為二進位制1011,也就是2 3 2 1 2 0 在介紹乙個初中的公式,a a1 a2 a3 an a a1 a a2 a a3 a an 好有了這些...