看到最小最大,顯然是經典二分
因此只需要列舉最大距離進行check
如果能存在k組或以上能滿足組間距離大於等於mid
那麼就可以放大,否則縮小
#include#includeview code#include
#include
#include
#include
#include
using
namespace
std;
typedef
long
long
ll;const
int n=3e5+10
;const
int inf=0x3f3f3f3f
;int
n,k;
intcnt;
intvis[n];
double
x[n],y[n];
double dis[1005][1005
];void dfs(int u,double
x) }
}bool check(double
x) }
return cnt>=k;
}int
main()
double mx=0
;
intj;
for(i=1;i<=n;i++)
}double l=0,r=mx;
while(r-l>0.0001
) printf(
"%.2f\n
",l);
}
c 二分答案 之 跳石頭
題目 題目描述 description 一年一度的 跳石頭 比賽又要開始了!這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有n塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終...
C 跳石頭題解(二分答案)
跳石頭 描述一年一度的 跳石頭 比賽又要開始了 這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 n塊岩石 不含起點和終點的岩石 在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。為了提高比賽難度,組委...
四校聯訓 騎行川藏 二分
鏈結 一 提議描述。給定乙個無向圖,邊存在邊權 給定起點終點,求一條路徑 將路徑上任意邊的邊權減去一些數,這些數權值和 k 設f為修改後路徑上的最大邊權 要求最小化f。對於m n 1,路徑唯一,貪心修改路徑上邊權最大值即可。對於k 0,求最小生成樹,則答案為樹上路徑的邊權最大值。正解 此問題直接求解...