HNOI2006 鬼谷子的錢袋

2022-07-16 19:36:11 字數 502 閱讀 8093

做法和二進位制劃分很像,,,原來我的二進位制劃分一直有點問題(之前我是列舉2的n次方然後減,逃)。。。

我們舉20這個例子,假如我們要表示20以內的數,那麼一定要取10,然後再表示出1到10之內的數,加上10也就表示出了11到20之內的數。同理,不斷往下推,我們發現將m不斷二分,每次得到的結果一定可以表示m以內的數,還可以使得用來表示的數最少,大約是log(m)。

1 #include2 #include3

using

namespace

std;

4int a[35

],cnt;

5int

main()

12 printf("

%d\n

",cnt);

13 sort(a+1,a+cnt+1

);14

for(int i=1;i<=cnt;++i)

18return0;

19 }

ac**

HNOI2006 鬼谷子的錢袋

time limit 10 sec memory limit 162 mb submit 5784 solved 3880 submit status discuss description 鬼谷子非常聰明,正因為這樣,他非常繁忙,經常有各諸侯車的特派員前來向他諮詢時政。有一天,他在咸陽遊歷的時候,...

HNOI2006 鬼谷子的錢袋

嘟嘟嘟 這題學過多重揹包二進位制優化都知道用二進位制拆分就行,然而題中說兩數不能相同,比如9,拆分後就是1 2 2 4,不符合,所以遇到a i a i 1 的情況,就a i a i 1 就行。1 include2 include3 include4 include5 include6 include...

HNOI2006 鬼谷子的錢袋

鬼谷子的錢袋 鬼谷子非常聰明,正因為這樣,他非常繁忙,經常有各諸侯車的特派員前來向他諮詢時政。有一天,他在咸陽遊歷的時候,朋友告訴他在咸陽最大的拍賣行 聚寶商行 將要舉行一場拍賣會,其中有一件寶物引起了他極大的興趣,那就是無字天書。但是,他的行程安排得很滿,他他已經買好了去邯鄲的長途馬車標,不巧的是...