题意 给你长度为 $n$ 的序列,要求分成 $k$ 段连续非空的区间,求所有区间和的 $or$ 最小值。 分析 定义 $f_{i,j}$ 表示前 $i$ 个点分成 $j$ 段的最小 $or$ 是有问题的,因为可能有一位一定在后面出现而某一位没有必要在后面出现,这时贪心就出现了问题。 考虑按位贪心,假 ...
题目描述 Description 有n个数和5种操作 add a b c:把区间[a,b]内的所有数都增加c set a b c:把区间[a,b]内的所有数都设为c sum a b:查询区间[a,b]的区间和 max a b:查询区间[a,b]的最大值 min a b:查询区间[a,b]的最小值 题 ...
分类:
其他好文 时间:
2018-11-02 23:56:00
阅读次数:
181
原文链接 https://www.cnblogs.com/cly none/p/9890837.html 题意:给出一棵大小为$n$的树,边有边权。$m$次询问,每次给出两个标号区间$[a,b]$和$[c,d]$,求$\max {dis(i,j) \ | \ a \leq i \leq b, \, ...
分类:
其他好文 时间:
2018-11-01 18:25:59
阅读次数:
314
学完了线段树的基础知识(建树,修改,查询等操作)后,来看看下面这题 注:原题链接:https://www.luogu.org/problemnew/show/P3372 读完这题,是不是有跃跃欲试的感觉? 1)查询区间和 简单 2)区间修改??? 所以,智障的我就写出了这样的代码 然后,稳稳的TLE ...
分类:
其他好文 时间:
2018-10-30 13:51:31
阅读次数:
226
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5634 题意:给出 n 个数,有三种操作,把区间的 ai 变为 φ(ai);把区间的 ai 变为 x;查询区间和。 题解:因为一个数由 ai 变为 φ(ai)在 log 次之后会变为 1 并且一直都为 1 ...
分类:
其他好文 时间:
2018-10-29 22:07:03
阅读次数:
230
嘟嘟嘟 线段树好题。 其实挺水的,想暴力怎么做:每一次从这个点开始向两边扩,直到遇到第一个摧毁的房屋。 那么把暴力改成倍增,然后线段树查询区间和是否为0。时间复杂度O(nlog2n)。 题解好像有线段树的O(nlogn)的做法,但是特别麻烦,也没怎么看懂。 1 #include<cstdio> 2 ...
分类:
其他好文 时间:
2018-10-24 10:44:49
阅读次数:
152
T1 飞行时间 对于一个可能跨时区的航班,给定来回程的起降时间。假设飞机来回飞行时间相同,求飞机的飞行时间。 sol: 很明显答案是(过去落地 - 过去起飞 + 回来落地 - 回来起飞) / 2 时间转换要仔细算一下不要跟某省队dalao一样写挂就可以了 T2 二阶和 区间修改,求区间区间和的和 s ...
分类:
其他好文 时间:
2018-10-20 19:56:12
阅读次数:
238
嘟嘟嘟 总算把几个月前WA的题A了。 看到树上路径的操作,就能想到树剖。 不过要是给每一个宗教都开一个线段树的话肯定会MLE,所以我们动态开点就行啦。 然后debug了一小会儿,全是因为一些zz小错误,什么连接表遍历出边写错了,查询最大值从查询区间和复制下来却没改完……对了,这两个最好分开写,虽然代 ...
分类:
其他好文 时间:
2018-10-17 14:57:06
阅读次数:
147
把式子展开以后会发现,可以用线段树维护$x,y,x*y,x^2$分别的区间和 然后操作有区间加和区间修改 这个pushdown的时候,如果改和加的标记同时存在,那一定是先改再加,要不然加的标记已经被清掉了 所以在pushdown的时候,如果有改的标记,要把孩子的加的标记清掉 然后注意细节就行了(用* ...
分类:
其他好文 时间:
2018-10-15 23:23:01
阅读次数:
138
参考:(LbyG: 树状数组求区间最大值) "https://blog.csdn.net/u010598215/article/details/48206959" 支持两种操作: 1. 修改一个位置的数; 2. 求区间最值; 当然不能像普通的树状数组维护区间和一样做 单点修改 先来看一份代码: ...
分类:
编程语言 时间:
2018-10-09 11:43:53
阅读次数:
449