传送门 题意: 区间加和询问一段区间内整体前缀和的最大值 刚才还在想做完这道题做一道区间加等差数列结果发现这道就是.... 唯一的不同在于前缀和一段区间加上等差数列后,区间后面也要加上一个常数!!! 线段树没法搞吧....分块! 每个块维护整体加标记,首项,公差 修改的时候: 左面不完整的块下放标记暴力重构: 中间的整块打标记: 右面不完整的块也是下放标记暴力重构,注意这个地方$r$之外的部分也要更新! 右面完整的块也要打标记! 怎么查询呢? 左右不完整的块暴力查询 中间的整块,可以发现我们每次…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 请你维护一个序列,支持两种操作: (1)某个区间 [x, y] 内的数同时加上一个增量 k. (2)询问某一个区间 [x, y] 中从 1 开始的最大前缀和. input 第一行给出一个整数 n.n <= 100000.接下来一行 n 个整数表示序列的初始值. 第三行给出一个整数 m,m <= 100000.接下来 m 行每行一个操作. (1) 0 x y k…
题意 题目链接 Sol 直接挂队爷的题解了 分块题好难调啊qwq #include<bits/stdc++.h> #define LL long long using namespace std; const int MAXN = 1e6 + 10; const LL INF = 6e18; template <typename A, typename B> inline bool chmin(A &a, B b){if(a > b) {a = b; return 1…
2388: 旅行规划 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 405  Solved: 118[Submit][Status][Discuss] Description OIVillage是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl决定修建了一条铁路将当地n个最著名的经典连接起来,让游客可以通过火车从铁路起点(1号景点)出发,依次游览每个景区.为了更好的评价这条铁路,xkszltl为每一个景区都…
传送门 分块+凸包 求出前缀和数组s 对于l~r加上k,相当于s[l]~s[r]加上一个首项为k,公差为k的等差数列.r~n加上k*(r-l+1). 分块之后对每一块维护两个标记,一个记录它加的等差数列(两个等差数列相加仍是等差数列),一个记录它整体加的值. 设首项的标记为A,公差为B 查询一块的最大值,就是询问最大的 s[i] + i*B 可以看成询问平面上的若干横坐标为i,纵坐标为si,斜率为B的直线的最大纵截距,那么维护一个上凸壳即可. 对于散点修改后暴力重构凸包. 对于询问在凸包上三分.…
题目描述 OIVillage 是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl 决定修建了一条铁路将当地 nnn 个最著名的经典连接起来,让游客可以通过火车从铁路起点( 111 号景点)出发,依次游览每个景区.为了更好的评价这条铁路,xkszltl 为每一个景区都赋予了一个美观度,而一条旅行路径的价值就是它所经过的景区的美观度之和.不过,随着天气与季节的变化,某些景点的美观度也会发生变化. xkszltl 希望为每位旅客提供最佳的旅行指导,但是由于游客的…
题目 OIVillage 是一个风景秀美的乡村,为了更好的利用当地的旅游资源,吸引游客,推动经济发展,xkszltl 决定修建了一条铁路将当地 $n$ 个最著名的经典连接起来,让游客可以通过火车从铁路起点( $1$ 号景点)出发,依次游览每个景区.为了更好的评价这条铁路,xkszltl 为每一个景区都赋予了一个美观度,而一条旅行路径的价值就是它所经过的景区的美观度之和.不过,随着天气与季节的变化,某些景点的美观度也会发生变化. xkszltl 希望为每位旅客提供最佳的旅行指导,但是由于游客的时间…
传送门 分块好题. 题意:维护区间加,维护区间前缀和的最大值(前缀和指从1开始的). 思路: 考虑分块维护答案. 我们把每个点看成(i,sumi)(i,sum_i)(i,sumi​)答案一定会在凸包上,于是我们每个块维护一个凸包. 然后发现 每次前缀和可以分区域修改,在区域内的相当于给所有点的连线加一个斜率,对于区域外的相当于打一个addaddadd标记,于是给每个块维护整体加标记,斜率增加的首项,斜率的增量标记即可. 查询的时候每个块在凸包上二分一波. 代码: #include<bits/st…
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=4501 题解: 首先我们不考虑可以删除边的情况下,如何计算期望边数. 然后我们发现这是个有向无环图 所以直接\(f[u] = \sum\frac{f[v] + 1}{deg_u}\)直接计算即可 然后我们考虑如果允许删除边 注意这句话 保证对于每个限制(x,y),第x条边和第y条边的起点是相同的 所以可以分别考虑每次转移 这时候我们考虑如何决策才能最优化\(f[u]\) 即最优化\(\s…
BZOJ 洛谷 UOJ 可能是退役之前最后一个BZOJ rank1了? 参考这里. 如果没有减法,对一个二进制数暴力进位,均摊复杂度是\(O(1)\)的(要进\(O(n)\)次位就至少需要\(O(n)\)次操作). 但是这题有减法...显然暴力进位就不对了. 那么我们把减法变成加法,分别维护加上的数\(inc\)和减掉的数\(dec\)是多大.查询时显然不能直接两位相减,要判断一下后面是否需要进位. 对此用\(set\)维护一下\(inc,dec\)所有不同位的位置,找到查询位后面第一个不同的位…