题解 P1276 校门外的树(增强版)】的更多相关文章

前言 本蒟蒻重学线段树,发现了这道题可以用线段树做. 虽然数据范围很小可以直接暴力,但由于在练习线段树所以打算用线段树写这道题. 本题解针对已经有线段树基础的巨佬,不懂线段树原理的话可以学习线段树后再阅读本题解. 审题 刚看题的时候以为大概是个线段树模板,结果发现事情并不简单. 题目要求的不是剩下多少棵树和砍掉了多少棵树木,而是要求剩下和砍掉了多少棵树苗. 并且需要注意区间是从0开始的. 那么注意到这些差不多就可以开始想做法了. 解决 因为种树人每次种树种植的都是树苗,所以只有最初的区间上会有一…
P1276 校门外的树(增强版) 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树.有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B):幸运的是还有植树者每次从编号C到D 中凡是空穴(树被砍且还没种上树苗或树苗又被砍掉)的地方都补种上树苗(记 1 C D,含C和D):问最终校门外留下的树苗多少棵?植树者种上又被砍掉的树苗有多少棵? 输入输出格式 输入格式: 第一行L和N,表示校园外原来有L+1棵树,并有N次砍树或种树的操作. 以下N行,砍树…
Luogu P1276 校门外的树(增强版) 本来看着是道普及-,就不打算写博客了,结果因为出了3次错,调试了15min就还是决定写一下-- 本题坑点: 1.每个位置有三种情况:空穴,树苗,树(而不只有空穴和树). 2.每个位置初始是种了树的(注意是树). 3.第二个输出是被砍后又种上的树苗数. 总而言之,一道普及-的题都有那么多细节,所以以后真要好好读题了-- #include<bits/stdc++.h> using namespace std; int l,n,s,e,op,cnt1,c…
题目描述 校门外马路上本来从编号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个整数.…
题目描述 校门外马路上本来从编号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米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,…,L,都种有一棵树. 由于马路上有一些区域要用来建地铁.这些区域用它们在数轴上的起始点和终止点表示.已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分.现在要把这些区域中的树(包括区域端点处的两棵树)移走.你的任务是计算将这些树都移走后,马路上还有多少棵树. 输入格式 第一行有2个整数 L(1…
Vijos1448校门外的树 题解 描述: 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的…… 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1,读入l.r表示在区间[l,r]中种上一种树,每次操作种的树的种类都不同 K=2,读入l,r表示询问l~r之间能见到多少种树 (l,r>0)   输入格式: 第一行n,m表示道路总长为n,共有m个操作 接下来m行为m个操作   输出格式: 对于每个k=2输出一个答案  …
题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是 11 米.我们可以把马路看成一个数轴,马路的一端在数轴 00 的位置,另一端在 LL 的位置:数轴上的每个整数点,即 0,1,2,…,L0,1,2,…,L ,都种有一棵树. 由于马路上有一些区域要用来建地铁.这些区域用它们在数轴上的起始点和终止点表示.已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分.现在要把这些区域中的树(包括区域端点处的两棵树)移走.你的任务是计算将这些树都移走后,马路上还有多少棵…
原题: 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的--如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:K=1,K=1,读入l.r表示在区间[l,r]中种上一种树,每次操作种的树的种类都不同K=2,读入l,r表示询问l~r之间能见到多少种树(l,r>0) 输入样例: 5 41 1 32 2 51 2 42 3 5 样例输出: 12 曾经,校门外的树是几行的暴力染色 然后,校门外的树是长长的线段树 后来啊,校门外的树是几行的树状…
JDOJ 2197: 校门外的树 题目传送门 Description 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米. 我们可以把马路看成一个数轴,马路的一端在数轴1的位置,另一端在L的位置: 数轴上的每个整数点,即1,2,...L的位置,都种有一棵树. 由于马路上的N个区域[L1,R1],[L2,R2]...[LN,RN]要用来建地铁,区域之间可能有重合的部分. 现在要把这些区域的树(包括区域端点处的两棵树)移走. 你的任务是计算每次移走这些树后,马路上还有多少棵树. I…