camp day6

A題.題意:給出一個環,就是0到2^30,0和2^30的點是重合的,而後告訴你1e5個隨機的點, 如今給出一個k, k<=n, 要求你挑k個位置,使得:對於每一個給出的點,都有一個距離它最近的咱們給出的點,距離是L,對於每個點,取L的max,而後讓這個 max值最小的分配k個點的方案,不用輸出方案,輸出最小的Lmax就行
題解:二分Lmax, 而後對於給出的每個,都有一個最遠控制它的大哥,大哥都有一個最遠可以到的小弟,R, 也就是咱們獲得了一個區間[l,r], 有n個這樣的區間,咱們先去掉包含的,而後是一個對環的解決辦法:找到一個最小的區間,暴力從它分開,開始枚舉區間的起點,而後貪心的去作(跳) ,就能夠o(n)的了.
B題.題意:給出n~1e5個點,每兩個點連一條線,求全部的線的斜率的中位數.
題解:二分枚舉中位數是誰.而後解法一:也就是每一個點都會有一個發射的東西向量,咱們不能暴力,因此要總體掃一遍,先排序,在掃描而後用樹狀數組單點修改區間查詢. 能夠拉直座標軸更好作. 解法二:一個點對應一個直線,一條直線對應一個交點的橫座標,那麼就是二分枚舉橫座標左邊的交點,作法是如今很遠的地方標序號,而後在x = x0處看逆序對數.
D題.題意:給出n~1e5個A[],和B[],A是先手拿的權值,B是後手拿的權值,而後A會按照A最大,而後A一樣大時B最大的貪心思惟拿,如今問B能拿的最大的B值得和.
題解:A的貪心是被動地,可是咱們發現B去取最大值得時候要受到一個相似於括號匹配,+1 -1, >= 0 的限制, 那麼其實這個限制很簡單, A在前1個挑1個,3個挑2個, 5個挑3個…… 而每次A都只能拿B值最小的,當前狀況沒拿的放到小頭隊列裏,之後拿. 到這作也能夠, 仍是A先拿,奇數A拿,偶數B拿,A拿就放在大頭堆裏面,B每次拿當前的和堆裏最大的,不拿的也放在A的堆裏.到着拿保證了B能夠隨便從A拿的拿回來.
F題.題意:400*400的格子,每一個格子有權值和顏色,顏色種類<10,問從1,1到n,n的權值和路徑<=limit時,最小的顏色不一樣種類,每次走只能向下和向右.
題解:實際上是最簡單的題,二進制能夠枚舉顏色,可是開到數組裏有些太大,咱們暴力枚舉每次只可以用哪些顏色,不能的就不能走,而後dp. 注意初始化的細節.
H題.題意:給出n~40個三維向量,顯然起點都是0,0給出一個k,求挑出k個向量,組成的的矢量和的向量的模最大是多少.
題解:首先是二維的時候:每兩個向量可以搞出來一箇中間的臨界向量,弄出來n^2個,而後算他們之中的,而後暴力.那麼三維的時候呢? 先看兩個向量,弄出來一個半平面,而後n^2個半平面,將空間切成不少個東西,那麼怎麼弄臨界的呢?考慮一個平面所相關的,其餘的平面向它有一個交線,交線之間的就是要弄的值,而後再浮出來一個eps. 注意若是兩個平面平行?怎麼弄? 用特殊弄那?
I題.題意:給出n~6000個2*n維的向量,每一維都是1或者0,保證有n個1,那麼求出一組&以後的1的個數大於等於n/2的一組.保證必定有這麼一組.
題解:咱們用撒豆子的方法能夠知道兩個向量&一下大於等於n/2個1的概率是1/2. 那麼多弄幾回就行了.隨機就行.
L題.題意:給出n~50000個線段,每一個線段長度都不同,都在1~c(100000)之間,問全部可以組成三角形的面積最小是多少.
題解:三角形首先假設a < b < c, 而後枚舉d = c - b, 而後如今再找到一個大於d且儘可能小的a,小的目的有兩個,留給b的可選空間大,面積最小,而後選有一組b b + d 的最小的大於a的b, 這個用bitset的 << 兩次和 lowbit就能作了. 複雜度大約是2e8的.web

本文分享 CSDN - ruclion。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。數組

相關文章
相關標籤/搜索