校門外馬路上本來從編號0到l,每一編號的位置都有1棵樹。有砍樹者每次從編號a到b處連續砍掉每1棵樹,就連樹苗也不放過(記 0 a b ,含a和b);幸運的是還有植樹者每次從編號c到d 中凡是空穴(樹被砍且還沒種上樹苗或樹苗又被砍掉)的地方都補種上樹苗(記 1 c d,含c和d);問最終校門外留下的樹苗多少棵?植樹者種上又被砍掉的樹苗有多少棵?
輸入格式:
第一行l和n,表示校園外原來有l+1棵樹,並有n次砍樹或種樹的操作。
以下n行,砍樹或植樹的標記和範圍,每行3個整數。
l(1 <= l <= 10000)和 n(1 <= n <= 100)
輸出格式:
共兩行。第1行校門外留下的樹苗數目,第2行種上又被拔掉的樹苗數目。
輸入樣例#1:
10 30 2 6
1 1 8
0 5 7
輸出樣例#1:32
**實現:
1 #include2intl,n,a,b,c,fd,yx;
3int t[10010];4
intmain()
13else18}
19}20for(int i=0;i<=l;i++)
21if(t[i]==1) ++yx;
22 printf("
%d\n%d\n
",yx,fd);
23return0;
24 }
我能說我是在搜「線段樹」的題目找到的它嗎。
luogu1276 校門外的樹(增強版)
時空限制 1000ms 128mb 校門外馬路上本來從編號0到l,每一編號的位置都有1棵樹。有砍樹者每次從編號a到b處連續砍掉每1棵樹,就連樹苗也不放過 記 0 a b 含a和b 幸運的是還有植樹者每次從編號c到d 中凡是空穴 樹被砍且還沒種上樹苗或樹苗又被砍掉 的地方都補種上樹苗 記 1 c d,...
P1276 校門外的樹(增強版)
原題鏈結 考察 線段樹 or 模擬 模擬是很簡單啦,主要考慮線段樹怎麼寫,本題的線段樹比較特殊.思路 基本是參考了大佬的題解.本題的懶標記過於特殊把我寫懵了.操作 0 砍掉 l,r 區間的樹與樹苗 操作 1 種植 l,r 區間的樹苗.抽象到線段樹操作就是 0 l,r 區間 樹陣列 1,樹苗陣列 1....
題解 P1276 校門外的樹(增強版)
本蒟蒻重學線段樹,發現了這道題可以用線段樹做。雖然資料範圍很小可以直接暴力,但由於在練習線段樹所以打算用線段樹寫這道題。本題解針對已經有線段樹基礎的巨佬,不懂線段樹原理的話可以學習線段樹後再閱讀本題解。剛看題的時候以為大概是個線段樹模板,結果發現事情並不簡單。題目要求的不是剩下多少棵樹和砍掉了多少棵...