Tyvj1655 遊樂園 二分查詢

2021-08-07 08:11:14 字數 625 閱讀 7834

題意:有n(<=1e10)個人,每個人會坐當前空閒的,編號最小的飛機(<=1000),對於第i個飛機,任意人的乘坐時間為si。

n的數量很驚人,不能模擬,所以第一次我考慮從m下手,又怎麼做呢?

dp ? 貪心 ? 似乎無從下手。

正解: 可以發現坐飛機的時間是有規律的,那麼這就意味著如果確定了時間,可以在o(m)的時間內求出有多少人坐了飛機。那麼就二分找到最後乙個人上飛機的時刻,模擬一下即可。

ps:**中的 (time - 1) % s[i] == 0 就代表了在這個時刻可以上飛機,很重要

/*i am firing!*/

#include

#include

#include

#include

using

namespace

std;

typedef

int _int;

#define int long long

int n , m , s[1005];

int calc(int time)

int getnum(int time)

_int main()

cout

0;}

CODE 遊樂園的迷宮

題目 題目描述 description 迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n m個小格仔組成。有的格仔可以正常走,標為 有的格仔有陷阱不能走,標為 有的格仔比...

2855 遊樂園的迷宮

時間限制 1 s 空間限制 128000 kb 題目等級 gold 迷宮可是每個遊樂園必不可少的專案,菜菜當然是要嘗試一下啦。這個迷宮比較特殊。與其說是迷宮,倒不如說是乙個巨大的格仔。遊樂園給菜菜發了一張地圖,地圖上標明了,這個格仔由n行m列共n m個小格仔組成。有的格仔可以正常走,標為 有的格仔有...

HNOI2007 神奇遊樂園

題面在這裡 四通格中每格都有權值 a 求單回路上路徑權值和的最大值 2 le n le 100,2 le m le 6,10 3 le a le10 3 插頭dp,最後合併單迴路的時候就不要記狀態了,直接更新答案就好 include include include include include i...