2020牛客寒假演算法基礎集訓營1 umi和弓道

2022-08-20 11:57:07 字數 690 閱讀 2741

在乙個無限大的平面中,乙個人站在

這個座標。

有 n 個靶子,第 i 個靶子的座標是

在 x 軸或 y 軸上放置一塊擋板來擋住弓箭的軌跡,使可以射中的靶子數量不超過 k 個,擋板的最短長度是多少?

注:弓箭的軌跡是起點為

這個座標,長度無窮大的射線。

擋板不能彎折,起始和終點必須在同一座標軸上。

如果靶子座標的象限與弓箭起點相同,那麼擋板肯定擋不住。如果不同,那就記錄弓箭軌跡與 x,y 軸的交點,進行雙指標維護最小值。

#includeusing

namespace

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...