這個題我很無語,一開始看綠題,還是數論,應該不會特別簡單,應該要動筆寫上好一會,過了一會旁邊
#祝神說這原來是個藍題,我頓時覺得十分迷茫。。。
結果看了這個題看了一會,仔細一想,woc,這題怕不是可以暴力出解,況且這個範圍確實也夠了啊,妥妥0ms出解。。就試著打了一下。。然後t兩個點。。。過了一會,發現2在進行乘的時候,如果n足夠大,會爆出int,所以改成longlong。
#include#include#include
#include
#include
#define re register
#define wc 0.0000000001
using
namespace
std;
long
long
k,n,s,x;
intmain()
}s=2
;
while(n>s)
s<<=1
; s-=n;
cout
<}
P1582 倒水(C 數論 進製)
一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 顯然在某些情況下cc無法達到目標,比如n 3,k 1。此時cc...
P1582 倒水(思維)
思路 首先如果乙個數等於2的n次方,那麼合併後一定是1個瓶子。而2的n次方中1的個數也是1個,13的二進位制1 1 0 1,二進位制1的個數3個,剛好13合併後是3個瓶子。我們可以得到乙個數二進位制1的個數就是這個數合併後的瓶子個數。我們在學樹狀陣列時有乙個lowbit函式 x x 就是取最後一位1...
P1582 倒水 題解
來水一發水題。題目鏈結。正解開始 首先,我們根據題意,可以得知這是乙個有關二進位制的題目 具體什麼關係,怎麼做,我們來具體分析 對於每個n,我們嘗試將其二進位制分解,也就是100101之類的形式 根據瓶子合併的特性,我們可以判定最後每乙個瓶子內的水都可以表示成2 i的形式 感性理解 對於每乙個數字上...