zzuli 1877 蛤瑋打掃教室

2021-07-12 02:01:14 字數 1319 閱讀 6956

time limit: 2 sec

memory limit: 128 mb

submit: 395

solved: 93

submit

status

web board

現在知道一共有n個機房,算上蛤瑋一共有m個隊員,教練做了m個籤,每個簽上寫著兩個數l,r(l<=r),抽到的人要把[l,r]的教室全部打掃一遍.由於蛤瑋是隊長而且他很懶,他通過某種交易提前知道了所有m個籤上面寫的是什麼,而且通過某種魔法可以控制自己抽到哪個籤.乙個教室被打掃一次就乾淨了,所以蛤瑋想知道自己抽哪些籤可以不用打掃教室而且不會被教練發現,即他抽到的區間全都會被別人打掃一遍.

蛤瑋被教練叫去打掃機房,集訓隊有很多機房,也有很多隊員,現在他們要用抽籤的方式決定誰打掃哪間教室.

第一行為乙個整數t(1<=t<=20),代表資料組數。每組資料第一行n,m(1<=n,m<=100000),接下來m行,每行兩個數l,r(1<=l<=r<=n).

每組資料輸出乙個k,表示多少個籤符合蛤瑋的要求,接下來一行輸出k個數,這些籤的編號,下標從1開始.

3

15 5

1 45 5

6 89 10

5 63 6

1 11 1

2 22 2

3 33 3

10 3

1 42 6

6 10

2

2 56

1 2 3 4 5 6

0

第一次在比賽時想到的就是區間的覆蓋次數,但是由於時間複雜度怎麼都沒辦法用**實現,後來聽學長說要用線段樹於是就放棄了

後來看到了大牛的解法,一樣的思維卻是不一樣的方法,辦法都是人想出來的算,思維的差距太明顯了。。。

#include

#include

#include

using namespace std;

const int n=100011;

struct node

p[n];

int a[n], v[n], s[n], sum[n];

int main()

for(int i=1;i<=n;i++)//區間覆蓋次數

for(int i=1;i<=n;i++)//區間長度

else

} int k=0;

for(int i=0;i}

cout

return 0; }

187 beego多表操作

beego多表操作 type user struct type article struct type articletype struct 1.rel fk 2.reverse many 3.rel m2m fk就是外來鍵foreign key rel就是正向 reverse就是反向 再來一次 乙...

187 子網域名稱訪問計數

題目描述 乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問...

工作187 表單校驗規則

這種方式需要在data 中寫入rule 對於需要校驗欄位prop中的如visitorname寫上驗證規則,如下 data rule cardcode d d d x x message 請輸入正確的身份證號碼 trigger blur 其中對於有些需要自定義的校驗規則可以作為變數寫在data中 da...