題目大概意思就是我們有n個自然段,每個自然段有ai個字元,手機螢幕寬w,長h,讓我們字元可設定的最大字型號s,比如字型號為s,則一行只能顯示【w/s】向下取整個字元,乙個頁只能嫻熟【h/s】行,最終所有自然段顯示的頁面不超過p頁。
每乙個自然段都重新的一行開始顯示,自然段之間沒有空餘的行。
基本思路就是當s定下來的時候,統計所有自然段用了多少行,然後總行數處於一頁能顯示的行數得到頁數,然後與輸入p進行比較,沒超過p的話就可以嘗試加大s。
最簡單的思路就是把s從1開始列舉直到使用頁超過p頁為止,則最後乙個滿足條件的s就是答案,但是可以看到因為s是單調遞增的,可以用二分法來優化搜尋過程。
下面是**
#include
#include
#include
using
namespace
std;
int main()
int s=1;
int max_s = min(w,h);
int ans_s=1;
while(s<=max_s)
usep = ceil(1.0*useline/row);//計算用到多少頁
if(usep > p)else
}cout
0;}
hiho 1139 二分 bfs搜尋
題目 實現 include include include include include include include include include include include includeusing namespace std struct edge 邊的個數,開始的時候陣列開的長度為...
hiho38 二分 二分答案
在上一回和上上回里我們知道nettle在玩 艦 nettle在整理好艦隊之後終於準備出海撈船和敵軍交戰了。在這個遊戲裡面,海域是n個戰略點 編號1.n 組成,如下圖所示 其中紅色的點表示有敵人駐紮,貓頭像的的點表示該地圖敵軍主力艦隊 boss 的駐紮點,虛線表示各個戰略點之間的航線 無向邊 在遊戲中...
hiho 1128 二分 二分查詢
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...