關於求使用乙個充電寶求裝置最長使用時間的問題

2021-10-21 02:44:45 字數 1035 閱讀 7207

關於求使用乙個充電寶求裝置最長使用時間的問題。

原題**於洛谷:p3743 kotori的裝置 題目鏈結

用乙個充電寶可以給乙個裝置充電,每個裝置有各自耗電速度和原有電量,能量的使用是連續的,也就是說能量不是某時刻突然消耗的,而是勻速消耗,充電速度也是同理。你可以在任意時間給任意乙個裝置充能,從乙個裝置切換到另乙個裝置的時間忽略不計。求裝置們共同工作的最長時間。

分析:二分列舉最長時間。由於充電與耗電都是勻速消耗的,所以可以直接算出該時間內充電寶最多能提供的能量,再與所有裝置在該時間內應消耗外界能量之和進行比較,作為二分的判斷條件。

#include

using

namespace std;

typedef

unsigned

long

long ll;

const

int maxv=

100100

;const

int mod=

100000

;const

double eps=

1e-6

;int a[maxv]

,b[maxv]

;bool

judge

(double val,

int n,

int m)

return sum<=totalenergy;

}double

binarysearch

(double left,

double right,

int m,

int n)

return mid;

}int

main()

if(sum+eps<=m)

printf

("-1");

else

printf

("%.10f"

,binarysearch(0

,1e10

,m,n));

return0;

}

**如上,歡迎討論。

求最長公共字首的乙個思路

思路 以第乙個字串為標準,與第二個字串的第二個字元比,第三個字串的第三個字元比,如此類推下去,如果出現某個字串長度比當前拿來對比的字元的序號小,或者對應位置上的字元不相等,則直接返回當前的strs陣列,否則如果遍歷到最後乙個字串對應字元都相等,說明這是他們的公共字元,將其新增至strs。比如字元陣列...

求乙個公司LOGO

一 設計要求 1 根據經營業務及行業特點,設計出太極新標誌 中英 文字型及與標誌的組合 2 有視覺衝擊力,醒目易識別,突出太極品牌元素 3 穩重 大氣 簡約,體現電子政務和it行業特點 4 標誌屬性 能體現太極的企業理念和企業精神,能詮釋太 極 領軍全國行政電 子監察 打造一流電子政務公司 的願景 ...

求乙個陣列的最長連續子串行

分析 如果允許o nlogn 的複雜度,那麼可以先排序,可是本題要求o n 由於序列裡的元素是無序的,又要求o n 首先要想到用雜湊表。用乙個雜湊表unordered mapused 記錄每個元素是否使用,對每個元素,以該元素為中心,往左右擴張,直到不連續為止,記錄下最長的長度。class solu...