• 2024-11-07洛谷P3870[TJOI20009]-开关
    时间复杂度越高的算法能模拟的结构就越多...题目大意:给定一串长度为n,元素只能为0或1的序列,默认该序列元素全为0.接下来需要进行m次操作,操作分为两种:1.把区间\([a,b]\)中的所有元素值取反.2.求区间\([a,b]\)中元素值为1的元素数量.每一次调用操作1时,每次一行输出一个
  • 2024-10-12P3870 [TJOI2009] 开关
    区间修改和区间查询的话,想到线段树,每次区间的内的操作就用区间长度减去已经亮了的灯的数量。然后将懒标记反转即可。点击查看代码#include<iostream>#include<stack>#include<cmath>#include<algorithm>#include<set>#include<vector>#include<climits>#include<
  • 2024-08-09洛谷 P3870 开关之线段树板子
    洛谷P3870题解传送锚点摸鱼环节[TJOI2009]开关题目描述现有\(n\)盏灯排成一排,从左到右依次编号为:\(1\),\(2\),……,\(n\)。然后依次执行\(m\)项操作。操作分为两种:指定一个区间\([a,b]\),然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开);指定一个区间
  • 2024-06-15从零开始学算法/C++/第三天
    懒标记好简单,原理就是使变化的叠加尽可能远离叶子节点,也就是说从叶子节点往根节点走,这条路径上最多只有一个地方有懒标记,要将这个懒标记尽可能远离叶子节点,拖延症了属于是,这样显然时间复杂度相较不用懒标记的要低很多。算法竞赛进阶指南里面称懒标记为延迟标记,这两种称呼都很