嘟嘟嘟
這題學過多重揹包二進位制優化都知道用二進位制拆分就行,然而題中說兩數不能相同,比如9,拆分後就是1 2 2 4,不符合,所以遇到a[i] == a[i + 1] 的情況,就a[i]--,a[i + 1]++就行。
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include11view codeusing
namespace
std;
12#define enter puts("")
13#define space putchar(' ')
14#define mem(a) memset(a, 0, sizeof(a))
15 typedef long
long
ll;16 typedef double
db;17
const
int inf = 0x3f3f3f3f;18
const db eps = 1e-8;19
const
int maxn = 105;20
inline ll read()
2125
while(isdigit(ch))
26if(last == '
-') ans = -ans;
27return
ans;28}
29 inline void
write(ll x)
3035
36ll m, cnt, a[maxn];
3738
intmain()
3948 a[++cnt] =m;
49write(cnt); enter;
50 sort(a + 1, a + cnt + 1
);51
for(int i = 1; i <= cnt; ++i)
5256
enter;
57 }
HNOI2006 鬼谷子的錢袋
time limit 10 sec memory limit 162 mb submit 5784 solved 3880 submit status discuss description 鬼谷子非常聰明,正因為這樣,他非常繁忙,經常有各諸侯車的特派員前來向他諮詢時政。有一天,他在咸陽遊歷的時候,...
HNOI2006 鬼谷子的錢袋
鬼谷子的錢袋 鬼谷子非常聰明,正因為這樣,他非常繁忙,經常有各諸侯車的特派員前來向他諮詢時政。有一天,他在咸陽遊歷的時候,朋友告訴他在咸陽最大的拍賣行 聚寶商行 將要舉行一場拍賣會,其中有一件寶物引起了他極大的興趣,那就是無字天書。但是,他的行程安排得很滿,他他已經買好了去邯鄲的長途馬車標,不巧的是...
HNOI2006 鬼谷子的錢袋
做法和二進位制劃分很像,原來我的二進位制劃分一直有點問題 之前我是列舉2的n次方然後減,逃 我們舉20這個例子,假如我們要表示20以內的數,那麼一定要取10,然後再表示出1到10之內的數,加上10也就表示出了11到20之內的數。同理,不斷往下推,我們發現將m不斷二分,每次得到的結果一定可以表示m以內...