百度之星2017初賽B1006 小小粉絲度度熊

2022-05-01 07:27:10 字數 991 閱讀 6854

思路:

考慮到補簽卡一定是連續放置才更優,所以直接根據起始位置列舉。預先處理區間之間的gap的字首和,在列舉過程中二分即可。複雜度o(nlog(n))。

實現:

1 #include 2 #include 3 #include 4 #include 5

using

namespace

std;

6 typedef long

long

ll;7

8const ll inf = 0x3f3f3f3f;9

10int

main()

1122

sort(v.begin(), v.end());

23 vectorint, int>>res;

24 res.push_back(v[0

]);25

for (int i = 1; i < v.size(); i++)

2630 vectorsum(res.size() - 1

);31

for (int i = 0; i < res.size() - 1; i++)

32 sum[i] = (ll)res[i + 1].first - 1 -res[i].second;

33sum.push_back(inf);

34for (int i = 1; i < sum.size(); i++)

35 sum[i] += sum[i - 1

];36 ll maxn = 0;37

for (int i = 0; i < sum.size(); i++)

3844 printf("

%lld\n

", maxn);45}

46return0;

47 }

百度之星 初賽B

a 傳送門 點我 求聯通塊個數,對於簡單圖而言,就是c v e,其中c就是聯通塊個數,v是頂點數,e是邊數 include include include include using namespace std const int max n 2e5 10 int n,m,k vectorg max...

2017百度之星初賽B場總結

a場因為不可抗力因素 沒能參加,b場還好算是磕磕碰碰地吃著低保過去了,真的菜呀 可以說還是比較一目了然的簽到題,由於這些點的橫縱座標都必須嚴格遞增,那麼我們最多能取到的點就是mi n n,m 個 方案數就相當於是在 max n,m 中選 min n,m 個的方案數,那麼答案就是c max n,m m...

百度之星2017初賽題解(A)

t1 簡單數論,問滿足 a0 a1 b an b n a0 a1 an mod p 的p的個數 即滿足p b 1 a1 b 2 1 a2 b 3 1 a3 即p b 1的p的個數 sqrt b 1 暴力列舉b 1約數即可 t2 現在給若干個條件,xi xj或xi xj,要你將它們劃分成若干組,滿足每...