洛谷——P1276 校门外的树(增强版) https://www.luogu.org/problem/show?pid=1276#sub 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树。有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B);幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还...
intl,intr,ints)52{//被砍的树与树苗53if(tr[s][u].l>=l&&tr[s][u].r<=r)54{55tr[s][u].tag = -1;56//tr[s][u].cut += tr[s][u].sum;57ans
P1276 校门外的树(增强版) #include<iostream> #include<string.h> #include<vector> using namespace std; const int N=1e4+10; int main() { vector<int> m(N,1);//由于C的数组没法初始化为1; //我就用了,vector容器,m(N,1):将容器m的N个单位赋值1 //1:代表原来的树 //0: 代表没有数...
比较难处理的是树或树苗数组在[l,r]区间存在,树苗无法+1.树苗数组在[l,r]区间不存在就无法-1.再者就是计数时,需要计算砍掉的是树还是树苗. 很好的处理手段是将树与树苗合并统计:ans[0]代表砍掉的树+树苗.ans[1]代表砍掉的树. 第二问的答案是ans[0]-ans[1] ans数组比较好维护,只要建立两个线段树即可....
洛谷P1276 校门外的树(增强版)未完工 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树。有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B);幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗(记 ...
校门外的树(增强版) 题目描述 校门外马路上本来从编号0 00到L LL,每一编号的位置都有一棵树。有砍树者每次从编号A AA到B BB处连续砍掉每一棵树,就连树苗也不放过(记0 A B,含A AA和B BB);幸运的是还有植树者每次从编号C CC到D DD中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种...
洛谷P1276 校门外的树(增强版) 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树。有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B);幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗(记 1 C ...
Luogu P1276 校门外的树(增强版) 本来看着是道普及-,就不打算写博客了,结果因为出了3次错,调试了15min就还是决定写一下…… 本题坑点: 1.每个位置有三种情况:空穴,树苗,树(而不只有空穴和树)。 2.每个位置初始是种了树的(注意是树)。 3.第二个输出是被砍后又种上的树苗数。
洛谷P1276 校门外的树(增强版)未完工 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树。有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B);幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗(记 ...
AC日记——校门外的树(增强版) 洛谷 P1276 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树。有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B);幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗...