1 2 3 4 5 ··· 11 下一页
摘要: 在数轴上维护一个线段集合S,支持两种操作: A l r:将S中所有与线段[l,r]相关的线段删除,并将[l,r]加入S中,需要输出删除个数。 B:查询S中元素数量。 分析:重载小于号,如果x小于y,那么x严格小于y,即x的右端点要小于y的左端点,这样定义相交的线段都是相等的,可以用set来找。 #i 阅读全文
posted @ 2024-07-14 18:09 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 有编号为1~T的T种颜色和一块长为L的色板,每块色板只有一个颜色,最初均为颜色1,有O次操作: C x y z,将区间[x,y]的色板涂成颜色z。 P x y,询问区间[x,y]有多少种不同的颜色。 范围:1<=L<=1e5, 1<=T<=30, 1<=O<=1e5。 分析:线段树维护区间内有哪些颜 阅读全文
posted @ 2024-07-14 14:11 chenfy27 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 给定n个整数的序列A,求存在多少个三元上升子序列,即满足i<j<k并且a[i]<a[j]<a[k]。 分析:用平衡树维护两侧元素,然后枚举中间元素即可。 #include <bits/stdc++.h> using llong = long long; template <typename TYPE 阅读全文
posted @ 2024-07-14 12:49 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定长度为n的序列A,有如下3种操作: 1 l r x,将区间[l,r]中的每个数都修改为x。 2 l r x,将区间[l,r]中的每个数都加上x。 3 l r,查询区间[l,r]内的最大值。 分析:设置2个懒标记,先处理赋值标记,再处理增加标记。 #include <bits/stdc++.h> 阅读全文
posted @ 2024-07-14 12:04 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 有n盏灯,从左到右编号依次为1~n,有m次操作: 1 a b,表示修改区间[a,b]内灯的状态。 2 a b,查询区间[a,b]内有多少盏灯是打开的。 初始时所有灯都是关着的。 分析:线段树维护区间内打开灯的数目,涉及到区间更新,要用懒标记。 #include <bits/stdc++.h> usi 阅读全文
posted @ 2024-07-14 11:59 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 有n个公园,小白对第i个公园的评分为A[i],有m次操作: 1 a b 表示在[a,b]范围内选择一段连续的公园遛狗; 2 a b 表示小白对公园a的评分修改为b; 对于操作1,输出可以取得的最大评分。 分析:线段树维护区间子段和。 #include <bits/stdc++.h> using ll 阅读全文
posted @ 2024-07-14 11:54 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 给定n个结点,q次询问,每次询问分为三类: 1 x y,将x和y两个点连通,如果已经连通则不操作。 2,撤销上一次连通操作,如果全部撤销完了则不操作。 3 x y,询问x和y是否连通。 对于每个询问3,输出结果YES或NO。 提示:可销撤并查集,使用按秩合并或启发式合并,不能用路径压缩。合并时记录操 阅读全文
posted @ 2024-06-22 17:57 chenfy27 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 给定长度为N的数组A,以及M条指令,每条指令可能是以下两种之一: 1 x y,查询区间[x,y]中的最大连续子段和。 2 x y,把A[x]改成y。 对于每个询问,输出一个整数表示答案。 数据限制:N<=5e5, M<=1e5, |A[i]|<=1000。 提示:线段树,每个区间需要维护答案、前缀、 阅读全文
posted @ 2024-06-20 21:48 chenfy27 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 动物王国中有3类动物A,B,C,构成食物链:A吃B,B吃C,C吃A。现有N个动物,每个动物都是A,B,C中的一种,有K个描述: 1 X Y,表示X和Y是同类 2 X Y,表示X吃Y 当一句话满足以下条件之一时,为假话,否则为真话。 与前面的话有冲突 X或Y比N大 X吃X 输出假话总数。 提示:种类并 阅读全文
posted @ 2024-06-19 22:00 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 给定N名罪犯和M组仇恨关系,第i组关系用a[i],b[i],w[i]标识,表示编号为a[i]与b[i]的罪犯之间的仇恨值为w[i]。现要将所有罪犯关押在两个房间里,使得同一房间内任意两名罪犯的最大仇恨值最小,求该最小值。 提示1:排查+种类并查集。类似最小生成树的做法,按仇恨值从大到小排序,按顺序枚 阅读全文
posted @ 2024-06-19 21:53 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
1 2 3 4 5 ··· 11 下一页