思路:
只有兩種糖果,列舉其中一種糖果的數量就可以得到乙個可行解;
但總有一種糖果的數量是較少的,並且該數量小於sqrt(c);
簡單證明:
1。若有任一糖果的質量大於sqrt(c),則必定有一糖果的數量小於sqrt(c);
2。若兩種糖果質量均小於sqrt(c),則可能存在兩種糖果數量均大於sqrt(c)的解,但對於這種情況,可以做如下轉換:
因為兩種糖果質量均小於sqrt(c),則必定可以找到乙個數公倍數k(k以上與最優解無關,但可以用sqrt(c)的時間複雜度列舉出所有解的值,以得到最大值。
1548 歐姆諾姆和糖果 51NOD
一天,歐姆諾諾姆來到了朋友家裡,他發現了許多糖果。有藍色和紅色兩種。他知道每顆紅色糖果重wr克,每顆藍色糖果重wb克。吃一顆藍色糖果會給他帶來hb的歡樂值,吃一顆紅色糖果會給他帶來hr的歡樂值。歐姆諾姆最多只能吃c克的糖果,而且每一顆糖果不能只吃一半。現在他想通過吃藍色和紅色的糖果來獲得最大的歡樂值...
51nod1554 歐姆諾姆和項鍊
1554 歐姆諾姆和項鍊 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 有一天,歐姆諾姆發現了一串長度為n的寶石串,上面有五顏六色的寶石。他決定摘取前面若干個寶石來做成乙個漂亮的項鍊。他對漂亮的項鍊是這樣定義的,現在有一條項鍊s,當s a ...
51nod1554 歐姆諾姆和項鍊 kmp
有一天,歐姆諾姆發現了一串長度為n的寶石串,上面有五顏六色的寶石。他決定摘取前面若干個寶石來做成乙個漂亮的項鍊。他對漂亮的項鍊是這樣定義的,現在有一條項鍊s,當s a b a b a a b a的時候是漂亮的,這兒a,b是一些寶石串,表示連線操作。s中有k 1個a和k個b組成。a和b可能是空串。現在...