原題傳送門
可以看成本來有n
nn個點
每次把間距最小的兩個點合併,直到只剩k
kk個點
所以答案就是最小的n−k
n-kn−
k個間距加上n
nn如果用快排思想,可以在o(n
)o(n)
o(n)
時間內實現
code:
#include
#define maxn 100010
using
namespace std;
int n, m, a[maxn]
, t[maxn]
;inline
intread()
intfind
(int l,
int r)
a[i]
= value;
if(i < m)
return
find
(i +
1, r)
;else
if(i > m)
return
find
(l, i -1)
;else
return i;
}int
main()
題解 LOJ540遊戲
小l計畫進行n場遊戲,每場遊戲使用一張地圖,小 l 會同時使用三輛車在該地圖上完成遊戲。小 l 的賽車有三輛,分別用大寫字母 a b c 表示。地圖是一張無向簡單圖 沒有重邊或自環 每次他會在地圖中選擇不同的三個點 i,j,k滿足 i且兩兩之間均有邊。此時他會讓 a 從i到j,b 從j到k,c從k到...
題解 Loj2727舞會
n 個數,其中有 m 個位置的數是確定的,另外的數隨意排列。每次操作把最前面三個數取出,把它們的中位數取出來放到最後,然後刪掉這三個數。通過合適的排列,使最後留下來的數最大。首先這類有關中位數的問題,可以二分後轉化為操作 01 序列的問題。每次二分乙個有可能的答案 mid 把 mid 換成一,的數換...
loj6274 數字 題解
ppt 首先考慮樸素做法。我們列舉 v 檢查是否能存在 x 和 y 滿足 x land y v 設dp狀態 f i,0 1,0 1,0 1,0 1 表示當前考慮了前 i 位,是否存在一組 x 和 y 滿足 x land y v x lor y t lx leq x leq rx ly leq y l...