题意: 给你一个序列找到交换一次后的最大字段和(所有交换方式中最大的) 分析: 首先我们这么想,我们要最后要的答案是由某个区间和区间左边交换一个或和区间右边交换一个或者不交换(内部交换或外部交换)。 至于不交换,我们直接o(n)搞过。 然后就是向左(向右类似,只要把序列倒过来跑一边就好了)交换,我们 ...
分类:
其他好文 时间:
2020-06-27 20:05:15
阅读次数:
56
``` //单点修改 pushup //查询区间内的最大字段和 #include #include #include #include using namespace std; const int N = 500010; int n, m; int w[N]; struct Node { //端点 ... ...
分类:
其他好文 时间:
2020-05-06 20:03:08
阅读次数:
53
前言 其实这道题的关键就是在于预处理,其方法类似于 "合唱队形" 正文 求最大子段和 要想求出双子序列最大和,首先我们要会求出最大子段和 最大子段和的求值方法很简单 定义 $f_i$ 为以第 $i$ 个数结尾的最大子段和 这里 $f_i$ 表示前 $i$ 个数中的最大字段和 这里 $l_i$ 表示后 ...
分类:
其他好文 时间:
2020-02-18 16:44:30
阅读次数:
96
N个整数组成的循环序列a11,a22,a33,…,ann,求该序列如aii+ai+1i+1+…+ajj的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑an?1n?1,ann,a11,a22这样的序列)。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大 ...
分类:
编程语言 时间:
2020-02-12 00:52:24
阅读次数:
73
题目链接: "http://acm.hdu.edu.cn/showproblem.php?pid=1003" 题目大意: 求解一个序列的最大字段和,已经最前面的那个最大子段的起止坐标。 解题思路: 定义状态 $f[i]$ 为以 $a[i]$ 结尾的最大字段和,则有状态转移方程: $$f[i] = \ ...
分类:
其他好文 时间:
2020-01-13 23:55:35
阅读次数:
145
#include<map> #include<set> #include<cmath> #include<stack> #include<queue> #include<cstdio> #include<string> #include<vector> #include<cstring> #incl ...
分类:
其他好文 时间:
2019-11-16 21:10:18
阅读次数:
54
[TOC] (revision)货车运输 最大生成树的正确性 图是森林时用并查集维护两点是否相连。 赋值为INT_MAX的妙用 w[u] [i]表示的时跳到f[u] [i]的沿途边权最小值。既然是求最小值,不要忘了赋初值 【线段树 带修改最大字段和】 (link)小白逛公园 【欧拉函数】 (link ...
分类:
其他好文 时间:
2019-11-03 11:11:01
阅读次数:
110
问题描述 "LG SP1043" 题解 系列第一题。 $q$ 个询问,求 $[x,y]$ 的最大字段和。 线段树,维护 $[x,y]$ 的 $lmax,rmax,sum,val$ ,向上合并即可。 但是注意询问过程中也需要维护这些信息。 $\mathrm{Code}$ cpp include usi ...
分类:
其他好文 时间:
2019-11-01 09:48:23
阅读次数:
96
bzoj2325 [ZJOI2011]道馆之战。
树链剖分+DP+类线段树最大字段和 ...
分类:
其他好文 时间:
2019-10-05 22:46:17
阅读次数:
110
反思总结对我来说就是学习中的一部分,所以我要补上昨天的。 一,昨天学了些啥? 1,快速幂。。(因为那个例题的原因实践比较充足)(递归形式) 2,归并排序及对应的求逆序对的一些东西( 1 3 6 7 i 2 3 5 6 j 这个就很水了。。虽然是所谓听了一遍但是又没有实践。。)(但是上面也没有实践啊) ...
分类:
其他好文 时间:
2019-10-04 11:11:54
阅读次数:
78