在乙個無限大的平面中,乙個人站在
這個座標。
有 n 個靶子,第 i 個靶子的座標是
在 x 軸或 y 軸上放置一塊擋板來擋住弓箭的軌跡,使可以射中的靶子數量不超過 k 個,擋板的最短長度是多少?
注:弓箭的軌跡是起點為
這個座標,長度無窮大的射線。
擋板不能彎折,起始和終點必須在同一座標軸上。
如果靶子座標的象限與弓箭起點相同,那麼擋板肯定擋不住。如果不同,那就記錄弓箭軌跡與 x,y 軸的交點,進行雙指標維護最小值。
#includeusingnamespace
std;
double
xx,yy;
intn,k;
vector
vx,vy;
intmain()
sort(vx.begin(),vx.end());
sort(vy.begin(),vy.end());
if(vx.size()>=n-k)
}if(vy.size()>=n-k)
}if(ans==1e18) printf("-1"
);
else printf("
%.8lf
",ans);
system(
"pause");
return0;
}
2020牛客寒假演算法基礎集訓營
長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...
2020牛客寒假演算法基礎集訓營1
找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...
2020牛客寒假演算法基礎集訓營1
h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...