1. 程式人生 > >二分法 | poj 1064 Cable master

二分法 | poj 1064 Cable master

整數 nbsp min 二分 截取 poj += 簡化 長度

1.題意:

給定一系列長度的電纜,需要截取成等長的K份,求所能截取的最大長度值

2.題目思路:

這道題很明顯是需要處理精度,二位小數,把問題簡化,乘100化成整數,0.01變成1,求答案時只需要再除以100

所能截取的最大長度值原本是在1.00~max(這裏的max值是給定一系列長度的電纜的電纜長度最大值)ps:由於這裏的精度是0.01,則這裏長度的增量為0.01

乘以100後,長度的增量為1  

使用二分法:

min=1,max,mid=(min+max)/2;

在長度裏面找件數,看件數是否達標

尋找件數的代碼:int t=0;//t為件數

for(int i=0;i<n;i++)//n件物品

{

t+=a[i]/mid;

}

二分法 | poj 1064 Cable master