日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

信息学奥赛一本通 1242:网线主管 | OpenJudge NOI 1.11 04:网线主管

發(fā)布時間:2025/3/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 信息学奥赛一本通 1242:网线主管 | OpenJudge NOI 1.11 04:网线主管 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【題目鏈接】

ybt 1242:網(wǎng)線主管
OpenJudge NOI 1.11 04:網(wǎng)線主管

【題目考點】

1. 二分答案

【解題思路】

看題目中的數(shù)據(jù)都帶小數(shù)點,似乎這是實數(shù)域上的問題。但仔細分析,該題的輸入數(shù)據(jù)精確到厘米,要求輸出結(jié)果精確到厘米,實際只要在處理過程中保持為以厘米為單位,那么該問題本質(zhì)上是整數(shù)域的問題。

用二分思想考慮該問題,題目問:要找最長的網(wǎng)線長度。對應的模板為:求滿足某一條件的最大值。
網(wǎng)線長度需要滿足的條件為:將庫存中的網(wǎng)線按該長度進行切割,得到的網(wǎng)線數(shù)量大于等于居民需要的網(wǎng)線數(shù)量。
假設要判斷為網(wǎng)線長度為x是否滿足條件,先遍歷所有庫存中網(wǎng)線長度,每條網(wǎng)線長度記為l,那么l/x(整除運算)即為這條庫存網(wǎng)線可以切出的成品網(wǎng)線的條數(shù),加和求出總條數(shù)。看處理得到的網(wǎng)線總條數(shù)是否大于等于居民需要的網(wǎng)線數(shù)量k,如果是,那么滿足條件,否則不滿足條件。

注意單位換算,計算過程用厘米為單位,輸出時轉(zhuǎn)用單位米。
二分查找時,網(wǎng)線長度最小值設為0,最大值為100km=107cm100km=10^7cm100km=107cm,考慮極端情況,假設庫存中每條網(wǎng)線都是107cm10^7cm107cm,一共有10410^4104條,而要切成1cm1cm1cm的網(wǎng)線,共有107?104=101110^7*10^4=10^{11}107?104=1011條網(wǎng)線,超出了int的范圍。所以網(wǎng)線計數(shù)變量要設為long long。

【題解代碼】

解法1:二分答案

#include <bits/stdc++.h> using namespace std; int n, k, a[10005];//a[i]:第i條網(wǎng)線的長度 單位:厘米 bool check(int l)//如果需要網(wǎng)線長度為l,最多可以得的網(wǎng)線段數(shù)是否大于等于k {long long ct = 0;//計數(shù)for(int i = 1; i <= n; ++i)ct += a[i] / l;//整除運算return ct >= k; } int main() {double t; cin >> n >> k;for(int i = 1; i <= n; ++i){cin >> t;a[i] = t * 100;//單位:厘米}if(check(1) == false)//如果切成1厘米一段也不能達到要求的數(shù)量,則沒有切割方案 {cout << "0.00";return 0;} int l = 1, r = 1e7, m;while(l < r)//二分答案求滿足條件的最大值{m = (l + r + 1) / 2;if(check(m))//如果網(wǎng)線長為m滿足條件l = m;elser = m - 1;}cout << fixed << setprecision(2) << (double)l / 100;//單位轉(zhuǎn)為米return 0; } 新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!

總結(jié)

以上是生活随笔為你收集整理的信息学奥赛一本通 1242:网线主管 | OpenJudge NOI 1.11 04:网线主管的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。