P2082 区间覆盖(加强版)
生活随笔
收集整理的這篇文章主要介紹了
P2082 区间覆盖(加强版)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
基礎(chǔ)刷起來(lái)。水題刷起來(lái)。。。
其實(shí)區(qū)間覆蓋的模板應(yīng)該背這個(gè)。。。
同樣維護(hù)left和right,只不過(guò)最后要加上r-l+1。里面維護(hù)的就有點(diǎn)不一樣。
代碼:
#include<cstdio> #include<algorithm> const int maxn = 1e5 + 5; #define ll long long struct Nodes {ll l, r; } s[maxn]; ll n; bool cmp(Nodes x, Nodes y) {return x.l < y.l; } ll read() {ll ans = 0, s = 1;char ch = getchar();while(ch > '9' || ch < '0'){ if(ch == '-') s = -1; ch = getchar(); }while(ch >= '0' && ch <= '9') ans = (ans << 3) + (ans << 1) + ch - '0', ch = getchar();return s * ans; } int main() {n = read();for(int i = 1; i <= n; i++) s[i].l = read(), s[i].r = read();std::sort(s + 1, s + n + 1, cmp);ll left = s[1].l, right = s[1].r;ll ans = 0;for(int i = 2; i <= n; i++){if(right < s[i].l){ans += right - left + 1;left = s[i].l; right = s[i].r;}else if(s[i].r > right){//ans += right - left + 1;right = s[i].r;}}printf("%lld\n", ans + right - left + 1);return 0; }轉(zhuǎn)載于:https://www.cnblogs.com/Garen-Wang/p/9733570.html
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的P2082 区间覆盖(加强版)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网络模型和TCP协议族
- 下一篇: 弹性盒模型--新版与旧版比较(1)