一天蒜頭君被要求打掃 n 間連續的教室(編號從 1 到 n),但是蒜頭君打掃教室有點隨心,想打掃哪間教室就打掃哪間教室,導致最後自己都不知道是否所有的教室都打掃了。
現在告訴你蒜頭君打掃了哪些教室,你能告訴蒜頭君他還有多少間教室沒有打掃嗎?
第一行輸入兩個整數 n,m 分別表示教室的個數和蒜頭君打掃教室區間段的個數。
接下來 m 行,每行有兩個整數 l, r,表示蒜頭君打掃了 [l, r] 區間的教室。
輸出乙個整數,表示蒜頭君還有多少間教室沒有打掃。
對於 50% 的資料:1 ≤ n, m ≤1 0^3。
對於 100% 的資料:1 ≤ n, m≤ 10^6, 1≤ l ≤ r ≤ n。
樣例輸入複製
10 3
1 53 7
9 10
樣例輸出複製
1
思路:
做的時候還不會差分,用暴力o(n^2)拿了50%的分
後來才知道用差分優化,o(n)的複雜度
**:
#includeusing namespace std;
int a[1000005];//多開一位
int main()
for(int i = 1; i <= n; i++)
} cout << sum << endl;
return 0;
}
貼一下暴力做法:
#includeusing namespace std;
int a[1000005];
int sum;
int main()
}for(int i = 1; i <= n; i++)
}cout << sum << endl;
return 0;
}
計蒜客 打掃教室 延遲標記
題目鏈結 題解 每次輸入如果都迴圈l到r去打標記打掃過教室的話,時間複雜度是n 2,肯定是會超時的。所以肯定有什麼技巧可以只在l,r處打標記,最後統計的時候能夠把l r中間的統計上,因為以前學樹狀陣列的時候學到過一種叫延遲標記的操作,所以不難想到每次在用left和right陣列統計每個位置,區間左邊...
計蒜客 天上的星星(字首和)
天上星星 在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入...
計蒜客 天上的星星 字首和
在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入乙個整數 ...