暴力dp,用f[i][j]表示前i个数,最后一个区间是(j,i]的最小答案,转移方程用可以用前缀和来优化,复杂度为$o(n^3)$
(然后可以各种优化到$o(n^2)$,但这不需要)
输出f[i][j],可以发现若f[i][j-1]和f[i][j]合法,那么$f[i][j]\le f[i][j-1]$
证明:数归,考虑令f[i][j]和f[i][j-1]都合法,设f[i][j-1]由f[j-1][k]转移,f[i][j]由f[i][k']转移,必然有$k\le k'$,即在左边可以删掉若干个数(可以为0个)来保证合法
按照这样的策略划分f[i][j-1],设划分出的区间和分别是$S1\le S2\le ……\le St$,然后分别在左边删除Li,右边加入Ri,显然有$L1=Rt=0$且$R_{i-1}=Li$,那么区间和从$\sum_{i=1}^{t}Si^{2}$变成$\sum_{i=1}^{t}(Si+Ri-Li)^2=\sum_{i=1}^{t}Si^2+\sum_{i=1}^{t}(Ri-R_{i-1})^{2}+2\sum_{i=1}^{t}Si(Ri-R_{i-1})\le \sum_{i=1}^{t}Si^2+2\sum_{i=1}^{t}Ri(Si-S_{i-1})\le \sum_{i=1}^{t}Si^2$
通过证明,同时也可以得到最优方案如何构造,用优先队列来维护出最后一个合法的,然后从n往前选择即可
考场上需要写高精度(比较懒就用__int128了)

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define mod (1<<30)
4 #define N 40000007
5 #define ll long long
6 #define lll __int128
7 int n,type,m,x,y,z,q[N],f[N],b[N];
8 ll ans,a[N];
9 ll calc(int k){
10 return 2*a[k]-a[f[k]];
11 }
12 void write(lll k){
13 if (k>9)write(k/10);
14 putchar(k%10+'0');
15 }
16 int main(){
17 scanf("%d%d",&n,&type);
18 if (!type)
19 for(int i=1;i<=n;i++){
20 scanf("%d",&x);
21 a[i]=a[i-1]+x;
22 }
23 else{
24 scanf("%d%d%d%d%d%d",&x,&y,&z,&b[1],&b[2],&m);
25 for(int i=3;i<=n;i++)b[i]=(1LL*x*b[i-1]+1LL*y*b[i-2]+z)%mod;
26 int xx=1;
27 for(int i=1;i<=m;i++){
28 scanf("%d%d%d",&x,&y,&z);
29 for(int j=xx;j<=x;j++)a[j]=a[j-1]+b[j]%(z-y+1)+y;
30 xx=x+1;
31 }
32 }
33 x=1;
34 y=0;
35 for(int i=1;i<=n;i++){
36 while ((x<=y)&&(calc(q[x])<=a[i]))x++;
37 f[i]=q[x-1];
38 while ((x<=y)&&(calc(q[y])>=calc(i)))y--;
39 q[++y]=i;
40 }
41 lll ans=0,o=1;
42 for(int i=n;i;i=f[i])ans+=o*(a[i]-a[f[i]])*(a[i]-a[f[i]]);
43 write(ans);
44 }

[luogu5665]划分的更多相关文章

  1. [LeetCode] Partition List 划分链表

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...

  2. SWMM模型子汇水区划分的几种方法

    子汇水区的划分是SWMM模型建模的主要步骤之一,划分的好坏对结果精度有比较大的影响.概括来讲,子汇水区的划分有以下几种思路: (1)根据管网走向.建筑物和街道分布,直接人工划分子汇水区.这个方法适用于 ...

  3. 等价类划分方法的应用(jsp)

    [问题描述] 在三个文本框中输入字符串,要求均为1到6个英文字符或数字,按submit提交. [划分等价类] 条件1: 字符合法; 条件2: 输入1长度合法; 条件3: 输入2长度合法: 条件4: 输 ...

  4. Java上等价类划分测试的实现

    利用JavaFx实现对有效等价类和无效等价类的划分: 代码: import javafx.application.Application;import javafx.event.ActionEvent ...

  5. ENode框架Conference案例分析系列之 - 上下文划分和领域建模

    前面一片文章,我介绍了Conference案例的核心业务,为了方便后面的分析,我这里再列一下: 业务描述 Conference是这样一个系统,它提供了一个在线创建会议以及预订会议座位的平台.这个系统的 ...

  6. Cesium原理篇:2最长的一帧之网格划分

    上一篇我们从宏观上介绍了Cesium的渲染过程,本章延续上一章的内容,详细介绍一下Cesium网格划分的一些细节,包括如下几个方面: 流程 Tile四叉树的构建 LOD 流程 首先,通过上篇的类关系描 ...

  7. 两种交换机配置模式,以配置基于端口划分的VLAN为例

    关于交换机的配置模式,大体上可以分为两类:其一以CISCO交换机为代表的配置模式,其二以Huawei.H3C交换机为代表的配置模式.其实这两种配置模式并没有本质的不同,只是配置的命令名称和配置方式存在 ...

  8. tyvj1194 划分大理石

    描述 有价值分别为1..6的大理石各a[1..6]块,现要将它们分成两部分,使得两部分价值之和相等,问是否可以实现.其中大理石的总数不超过20000.  输入格式 有多组数据!所以可能有多行如果有0  ...

  9. tyvj1102 单词的划分

    描述 有一个很长的由小写字母组成字符串.为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分称为一个单词.出于减少分析量的目的,我们希望划分出的单词数越少越好.你就是来完成这一划分工作的. ...

随机推荐

  1. web_security学习路线

    一.了解黑客是如何工作的 1.在虚拟机配置Linux系统 2.漏洞测试工具 3.msf控制台 4.远程工具RATS 5.远程访问计算机 6.白帽 二.技术基础 漏斗扫描工具AWVS AWVS简介 安装 ...

  2. allure报告中allure.title 如何去掉后方的参数化显示

    1.解决方法如下 listener.py 文件位置:Lib\site-packages\allure_pytest\listener.py (第三方包所在的LIb目录) 将下图中红色部分test_re ...

  3. Object.create 和 Object.assign

    Object.assign(target, ...source) 1.Object.assign方法只会拷贝源对象自身(不包括原型)的并且可枚举的属性到目标对象,使用源对象的get和目标对象的set, ...

  4. 【Spring】IoC容器 - 依赖来源

    前言 上一篇文章已经学习了[依赖注入]相关的知识,这里详细的介绍一下[依赖来源]. 依赖来源 我们把依赖来源分为依赖查找的来源和依赖注入的来源分别讨论. 依赖查找的来源 1. Spring BeanD ...

  5. Spring Security中配置AccessDeniedHandler没有生效

    现象 在 WebSecurityConfigurerAdapter 配置了如下代码: // 自定义未授权和未登录异常 http.exceptionHandling() .accessDeniedHan ...

  6. 【二食堂】Beta - 测试报告

    Beta - 测试报告 测试过程中发现的bug Beta阶段的新bug 我们在Beta阶段的开发过程中就进行了测试,发现了许多bug.这其中后端的bug比较多,在这里我列举一些比较重要的功能性bug. ...

  7. python的random模块生成随机数

    python的random函数 random.random() 生成0-1之间的随机数 random.uniform(a,b)生成a,b之间的浮点数 random.randint(a,b)生成a,b之 ...

  8. str数组

  9. C语言基础知识总结大全

    1.入门程序 #include <stdio.h> int main() { printf("Hello World!"); return 0; } 2.数据类型 数据 ...

  10. 6.深入TiDB:乐观事务

    本文基于 TiDB release-5.1进行分析,需要用到 Go 1.16以后的版本 我的博客地址:: https://www.luozhiyun.com/archives/620 事务模型概述 由 ...