上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 75 下一页
摘要: 原题链接 考察:线段树+剪枝 思路: 参考大佬的思路.线段树也能剪枝是我没想到的. 最大的数263最多开方6次就会变成1.考虑到这点可以考虑暴力.每次修改[l,r]实际转化为单点修改,但是要进行剪枝,如果当前区间的最大值已经 = 1,那么就没必要在往下搜. 时间复杂度最坏是O(6*4*N+1e5*l 阅读全文
posted @ 2021-05-20 16:06 acmloser 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树 思路: 还是线段树染色问题.. 但还是和上一题有点区别,单以样例1来说: 5 0 4 4 > 1 5 5 0 3 1 > 1 4 2 3 4 2 > 4 5 3 0 2 2 > 1 3 3 0 2 3 > 1 3 4 颜色与我们定义线段树区间颜色表示相冲突,所以进行坐标偏移. 阅读全文
posted @ 2021-05-20 13:21 acmloser 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树 线段树染色问题 思路: 每次张贴海报都是一次区间修改.而染色区间l,r范围过大.需要离散化.离散化后就可以定义线段树了. struct Node{ int l,r,c;//l,r左右端点.c为该区间的颜色,同时也是懒标记 }tr[N<<3]; 这里定义c为该区间颜色种类是不可 阅读全文
posted @ 2021-05-20 09:08 acmloser 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树 or 模拟 模拟是很简单啦,主要考虑线段树怎么写,本题的线段树比较特殊. 思路: 基本是参考了大佬的题解.本题的懒标记过于特殊把我写懵了.... 操作 0:砍掉[l,r]区间的树与树苗 操作 1:种植[l,r]区间的树苗. 抽象到线段树操作就是 0: [l,r]区间 树数组- 阅读全文
posted @ 2021-05-20 00:36 acmloser 阅读(249) 评论(0) 推荐(1) 编辑
摘要: 原题链接 考察:线段树 思路: 很明显是设置两个懒标记,tag_1标记修改的累加和,tag_2标记修改的累乘积.但是直接这么写会WA,原因是具有运算优先级.假设修改区间为s,s*c1+c2 与 s*c2+c1是完全不同的结果. 需要统一运算优先级.也就是规定先乘还是后乘.如果我们后乘,即(s+c)* 阅读全文
posted @ 2021-05-19 20:52 acmloser 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树(扫描线) 思路: 其实是扫描线入门题.(然后就看了很久才略懂) 本题思路还是直接看大佬博客吧GO 想解释的只有几个问题. 为什么结构体如此定义? struct Node{ int l,r,cnt;//实际代表含义是[l,r+1]区间 double len;//cnt是指该区间 阅读全文
posted @ 2021-05-19 02:50 acmloser 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树 思路: 第一个操作:表示把 A[l],A[l+1],…,A[r] 都加上 d.显而易见的差分优化为单点修改. 第二个操作:求[L,R]区间的gcd. 通过这两个操作思考怎么定义结构体.模板L,R然后很明显需要一个变量val记录[L,R]区间内的gcd.但是如果我们把线段树维护 阅读全文
posted @ 2021-05-18 02:07 acmloser 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线段树 思路: 参考线段树模板.对于线段树结点我们需要定义使得能求出连续区间的子段和. [l,r]这是模板 maxn 表示[l,r]区间内最大的连续子段和. 但是这样我们能从子节点的子段和推到父节点吗?答案是不能的.考虑父节点的子段和要如何求.父节点的maxn有三个来源: (1) 左 阅读全文
posted @ 2021-05-17 20:58 acmloser 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:树状数组 思路: 类似于树状数组的扩展,利用差分数组将区间修改转为单点修改,单点查询改为区间查询.最后输出单点值%2即可. #include <iostream> #include <cstring> using namespace std; const int N = 100010 阅读全文
posted @ 2021-05-16 16:00 acmloser 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:树状数组 思路: 操作1:读入 l,r 表示在 l 到 r 之间种上一种树,每次操作种的树的种类都不同. 有点像差分,在[l,r]区间内加入同一种树.但是不能全部加1,最后答案是计数种类数.比较直观的想法就是在x = l处+1,x = r处-1.但是当询问[1,r+1]等区间时应该输 阅读全文
posted @ 2021-05-16 15:01 acmloser 阅读(58) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 75 下一页