涼心的比賽(一)

2021-10-02 04:35:56 字數 1139 閱讀 1441

b.

比賽當時真的想了很長時間,看到大佬的解法,感覺真的好厲害啊

簡單來說,你要比較兩個線段包不包含,你先根據線段的最後排序,從小到大,那麼如果出現乙個線段的開始比之前最大的開始要小,那麼這個線段就包含之前哪個線段

#include

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

3e5+10;

struct nodea[maxn]

;bool

cmp(

struct node a,

struct node b)

else

}int

main()

sort

(a, a + n, cmp)

; ll max =

0, mian;

for(ll i =

0; i < n; i++

)else

} cout <<

"-1"

<<

" "<<

"-1"

<< endl;

return0;

}

c.

這個題目真是卡了我很長時間啊!!!但是也沒什麼好說的,就是把篩選的條件一定要寫好,大概反映出了我思維不夠吧

#include

using

namespace std;

intmain()

else

else a -

= t;

long

long lt = a - n;

if(lt %2==

0) b =

1+ d;

else b =

(m +1)

- d;

cout << a <<

" "<< b << endl;

}return0;

}

涼心的比賽(一)

線段包含關係 這個題有點遺憾,因為語言設定問題一直沒有過,思路 將各個線段如果右端點不相等就按照右端點小的優先排序,如果右端點相等就按照左端點大的排序,這樣就保證了排序出來的結果上乙個的範圍總比下乙個的大,所以在最後只需要比較上乙個與下乙個是否符合條件即可。include include inclu...

涼心的比賽

題意 給出一串只由 1 和 0 組成的字串 並只能進行 一 交換相鄰兩數的位置。二 相鄰的 11 可以換成 1 可以無限次的進行這兩個步驟 所以這題又可以分為三種情況 僅由 1 組成 經過無限次的變換,最後一定只剩下 1 僅由 0 組成 只有0一種情況,最終結果為0 既有 1 又有 0 最後經過有限...

涼心的比賽 一 補題

題目鏈結 題意 有n個物品,能進行a次操作一和b次操作二,每個物品有乙個hp和damage,操作一為把某個物品的hp變為原來的兩倍,操作二為把某個物品的hp賦值給它的damage,問這n個物品的damage的總和最大是多少。思路 證明出來a操作應該都使用給同乙個物品最優,然後按b操作的最優方案排序,...