查询公司的网站备案/快速建站哪个平台好

查询公司的网站备案,快速建站哪个平台好,公司变更地址多少钱,旅游电子商务网站建设费用题意 你有一支由 n n n 名预备役士兵组成的部队,士兵从 1 1 1 到 n n n 编号,你要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如 i , i 1 , ⋯ , i k i, i 1, \cdo…

题意

你有一支由 n n n 名预备役士兵组成的部队,士兵从 1 1 1 n n n 编号,你要将他们拆分成若干特别行动队调入战场。出于默契的考虑,同一支特别行动队中队员的编号应该连续,即为形如 i , i + 1 , ⋯ , i + k i, i + 1, \cdots ,i + k i,i+1,,i+k的序列。所有的队员都应该属于且仅属于一支特别行动队。

编号为 i i i 的士兵的初始战斗力为 x i x_i xi ,一支特别行动队的初始战斗力 X X X 为队内士兵初始战斗力之和,即 X = x i + x i + 1 + ⋯ + x i + k X = x_i + x_{i+1} + \cdots + x_{i+k} X=xi+xi+1++xi+k

通过长期的观察,你总结出对于一支初始战斗力为 X X X 的特别行动队,其修正战斗力 X ′ = a X 2 + b X + c X'= aX^2+bX+c X=aX2+bX+c,其中 a , b , c a,~b,~c a, b, c 是已知的系数。 作为部队统帅,现在你要为这支部队进行编队,使得所有特别行动队的修正战斗力之和最大。试求出这个最大和。

1 ≤ n ≤ 1 0 6 1 \leq n \leq 10^6 1n106 − 5 ≤ a ≤ − 1 -5 \leq a \leq -1 5a1 − 1 0 7 ≤ b , c ≤ 1 0 7 -10^7 \leq b,c \leq 10^7 107b,c107 1 ≤ x i ≤ 100 1 \leq x_i \leq 100 1xi100

思路

先考虑朴素的 dp,令 f i f_i fi 表示将前 i i i 个人分队完毕的最大战斗力,设:
s i = ∑ j = 1 i x i , z ( x ) = a x 2 + b x + c s_i=\sum_{j=1}^{i}x_i,\ z(x)=ax^2+bx+c si=j=1ixi, z(x)=ax2+bx+c

那么有:
f i = max ⁡ j ∈ [ 1 , i ) { f j + z ( s i − s j ) } f_i=\max_{j\in[1,i)}\left \{f_j+z(s_i-s_j)\right \} fi=j[1,i)max{fj+z(sisj)}

去到了 Θ ( n 2 ) \Theta(n^2) Θ(n2) 级别。由上一篇题解的经验,考虑使用斜率优化掉找 j j j Θ ( n ) \Theta(n) Θ(n)

设有决策点 j 1 j1 j1 j 2 j2 j2 j 2 j2 j2 优于 j 1 j1 j1,那么:
f j 1 + z ( s i − s j 1 ) ≤ f j 2 + z ( s i − s j 2 ) f_{j1}+z(s_i-s_{j1})\le f_{j2}+z(s_i-s_{j2}) fj1+z(sisj1)fj2+z(sisj2)

f j 1 + a ( s i − s j 1 ) 2 + b ( s i − s j 1 ) ≤ f j 2 + a ( s i − s j 2 ) 2 + b ( s i − s j 2 ) f_{j1}+a(s_i-s_{j1})^2+b(s_i-s_{j1})\le f_{j2}+a(s_i-s_{j2})^2+b(s_i-s{j2}) fj1+a(sisj1)2+b(sisj1)fj2+a(sisj2)2+b(sisj2)

f j 1 + a s i 2 + a s j 1 2 − 2 a s i s j 1 + b s i − b s j 1 ≤ f j 2 + a s i 2 + a s j 2 2 − 2 a s i s j 2 + b s i − b s j 2 f_{j1}+as_i^2+as_{j1}^2-2as_is_{j1}+bs_i-bs_{j1}\le f_{j2}+as_i^2+as_{j2}^2-2as_is_{j2}+bs_i-bs_{j2} fj1+asi2+asj122asisj1+bsibsj1fj2+asi2+asj222asisj2+bsibsj2

f j 1 − f j 2 − b s j 1 + b s j 2 + a s j 1 2 − a s j 2 2 ≤ 2 a s i s j 1 − 2 a s i s j 2 f_{j1}-f_{j2}-bs_{j1}+bs_{j2}+as_{j1}^2-as_{j2}^2\le 2as_is_{j1}-2as_is_{j2} fj1fj2bsj1+bsj2+asj12asj222asisj12asisj2

f j 1 − f j 2 − b ( s j 1 − s j 2 ) + a ( s j 1 2 − s j 2 2 ) ≤ 2 a s i ( s j 1 − s j 2 ) f_{j1}-f_{j2}-b(s_{j1}-s_{j2})+a(s_{j1}^2-s_{j2}^2)\le 2as_i(s_{j1}-s_{j2}) fj1fj2b(sj1sj2)+a(sj12sj22)2asi(sj1sj2)

因为 s j 1 < s j 2 s_{j1}<s_{j2} sj1<sj2,因而注意变号:
f j 1 − f j 2 − b ( s j 1 − s j 2 ) + a ( s j 1 2 − s j 2 2 ) 2 a ( s j 1 − s j 2 ) ≥ s i \frac{f_{j1}-f_{j2}-b(s_{j1}-s_{j2})+a(s_{j1}^2-s_{j2}^2)}{2a(s_{j1}-s_{j2})}\ge s_i 2a(sj1sj2)fj1fj2b(sj1sj2)+a(sj12sj22)si

那就不妨拿个 g i = a s i 2 + b s i g_i=as_i^2+bs_i gi=asi2+bsi 来代换了:
f j 1 − f j 2 + g j 1 − g j 2 2 a ( s j 1 − s j 2 ) ≥ s i \frac{f_{j1}-f_{j2}+g_{j1}-g_{j2}}{2a(s_{j1}-s_{j2})}\ge s_i 2a(sj1sj2)fj1fj2+gj1gj2si

斜率 s l o p e ≥ s i slope\ge s_i slopesi s i s_i si 单增,由下图,扔到符合条件区间的尾巴去。

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define dd double
const ll N=1e6+9,inf=0x3f3f3f3f;
ll n,a,b,c,x[N];
ll s[N],g[N],f[N],q[N];
ll _2(ll x)
{return x*x;
}
ll z(ll x)
{return a*_2(x)+b*x+c;
}
dd slope(ll j1,ll j2)
{return (dd)(f[j1]-f[j2]+g[j1]-g[j2])/(dd)(2*a*(s[j1]-s[j2]));
}
int main()
{scanf("%lld%lld%lld%lld",&n,&a,&b,&c);for(int i=1;i<=n;i++){scanf("%lld",&x[i]);s[i]=s[i-1]+x[i];g[i]=a*_2(s[i])-b*s[i];}memset(f,-inf,sizeof(f));ll hh=0,tt=0;f[0]=0;for(int i=1;i<=n;i++){while(hh<tt&&slope(q[hh],q[hh+1])<=s[i])hh++;//slope>s[i]单增,扔队尾 f[i]=f[q[hh]]+z(s[i]-s[q[hh]]);while(hh<tt&&slope(q[tt],i)<slope(q[tt-1],q[tt]))tt--;q[++tt]=i;}printf("%lld",f[n]);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lowagie(itext)老版本手绘PDF,包含页码、水印、图片、复选框、复杂行列合并等。

入口类&#xff1a;exportPdf ​ package xcsy.qms.webapi.service;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.common.utils.StringUtils; import com.ibm.icu.text.RuleBasedNumberFormat; import com.lowa…

Ubuntu20.04之VNC的安装使用与常见问题

Ubuntu20.04之VNC的安装与使用 安装图形桌面选择安装gnome桌面选择安装xface桌面 VNC-Server安装配置开机自启 VNC Clientroot用户无法登入问题临时方案永久方案 安装图形桌面 Ubuntu20.04主流的图形桌面有gnome和xface两种&#xff0c;两种桌面的安装方式我都会写&#xff0c…

Day46 反转字符串

I. 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 class Solution {public void reverseString(char[] s) {int i …

用FileZilla Server 1.9.4给Windows Server 2025搭建FTP服务端

FileZilla Server 是一款免费的开源 FTP 和 FTPS 服务器软件&#xff0c;分为服务器版和客户端版。服务器版原本只支持Windows操作系统&#xff0c;比如笔者曾长期使用过0.9.60版&#xff0c;那时候就只支持Windows操作系统。当时我们生产环境对FTP稳定性要求较高&#xff0c;比…

【愚公系列】《Python网络爬虫从入门到精通》033-DataFrame的数据排序

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

营销过程乌龟图模版

营销过程乌龟图模版 输入 公司现状产品服务客户问询客户期望电话、电脑系统品牌软件硬件材料 售前 - 沟通 - 确定需求 - 满足需求 - 售后 机料环 电话、电脑等设备软件硬件、系统品牌等工具材料 人 责任人协助者生产者客户 法 订单由谁评审控制程序营销过程控制程序顾客满意度…

【Java企业生态系统的演进】从单体J2EE到云原生微服务

Java企业生态系统的演进&#xff1a;从单体J2EE到云原生微服务 目录标题 Java企业生态系统的演进&#xff1a;从单体J2EE到云原生微服务摘要1. 引言2. 整体框架演进&#xff1a;从原始Java到Spring Cloud2.1 原始Java阶段&#xff08;1995-1999&#xff09;2.2 J2EE阶段&#x…

org.springframework.boot不存在的其中一个解决办法

最近做项目的时候发现问题&#xff0c;改了几次pom.xml文件之后突然发现项目中的注解全部爆红。 可以尝试点击左上角的循环小图标&#xff0c;同步所有maven项目。 建议顺便检查一下Project Structure中的SDK和Language Level是否对应&#xff0c;否则可能报类似&#xff1a;“…

HO3D_v3(handposeX-json 格式)数据集-release >> DataBall

注意&#xff1a; 1)为了方便使用&#xff0c;按照 handposeX json 自定义格式存储 2)使用常见依赖库进行调用,降低数据集使用难度。 3)部分数据集获取请加入&#xff1a;DataBall-X数据球(free) 4)完整数据集获取请加入&#xff1a;DataBall-X数据球(vip) HO3D 数据集官方…

Java线程池入门04

1. 提交任务的两种方式 executorsubmit 2. executor executor位于Executor接口中 public interface Executor {void executor(Runnable command); }executor提交的是无返回值的任务 下面是一个具体的例子 package LearnThreadPool; import java.util.concurrent.ExecutorSe…

2025-02-26 学习记录--C/C++-C语言 整数格式说明符

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; C语言 整数格式说明符 【例如 】&#x1f380; &#xff1a;在 C 语言中&#xff0c;%ld 是 printf 或 scanf 等格式化输入输出函…

【QT 一 | 信号和槽】

Qt5基本模块 Qt Creator 中的快捷键 • 注释&#xff1a;ctrl / • 运⾏&#xff1a;ctrl R • 编译&#xff1a;ctrl B • 字体缩放&#xff1a;ctrl 鼠标滑轮 • 查找&#xff1a;ctrl F • 整行移动&#xff1a;ctrl shift ⬆/⬇ • 帮助⽂档&#xff1a;F1 • 自动…

集成学习方法之随机森林

随机森林是一种集成学习算法&#xff0c;它基于决策树模型&#xff0c;通过构建多个决策树并将它们的预测结果进行组合&#xff0c;以提高模型的准确性和稳定性。以下是随机森林的详细介绍&#xff1a; 原理 随机森林通过从原始训练数据中有放回地随机抽样&#xff0c;生成多…

react 中,使用antd layout布局中的sider 做sider的展开和收起功能

一 话不多说&#xff0c;先展示效果&#xff1a; 展开时&#xff1a; 收起时&#xff1a; 二、实现代码如下 react 文件 import React, {useState} from react; import {Layout} from antd; import styles from "./index.module.less"; // 这个是样式文件&#…

go语言环境下载与配置(Windows)

下载 Go下载 - Go语言中文网 - Golang中文社区 建议在D盘中创建文件夹安装到 D 盘 &#xff0c;方便进行管理&#xff0c;然后进行傻瓜式安装。 安装 验证安装 go version 安装成功 配置环境变量 winE --> 右击此电脑 --> 选择属性 --> 高级系统设置 --> 点击…

nss刷题5(misc)

[HUBUCTF 2022 新生赛]最简单的misc 打开后是一张图片&#xff0c;没有其他东西&#xff0c;分离不出来&#xff0c;看看lsb&#xff0c;红绿蓝都是0&#xff0c;看到头是png&#xff0c;重新保存为png&#xff0c;得到一张二维码 扫码得到flag [羊城杯 2021]签到题 是个动图…

C++---了解STL

上节学习了模板&#xff0c;那么就得谈到C的标准模板库STL。 C98&#xff1a;以模板方式重写了C标准库&#xff0c;引入了STL(标准模板库)。 1.概念 STL(Standard template Libarary)标准模板库&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件库&am…

分享几款比较常用的接口测试工具

首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把数据库共享给你&#xff0c;他只能给你…

云手机如何进行经纬度修改

云手机如何进行经纬度修改 云手机修改经纬度的方法因不同服务商和操作方式有所差异&#xff0c;以下是综合多个来源的常用方法及注意事项&#xff1a; 通过ADB命令注入GPS数据&#xff08;适用于技术用户&#xff09; 1.连接云手机 使用ADB工具连接云手机服务器&#xff0c;…

Unity基础学习(二)

二、Mono中的重要内容 1、延迟函数 &#xff08;1&#xff09;延迟函数定义 延迟执行的函数&#xff0c;可以设定要延迟执行的函数和具体延迟的时间 &#xff08;2&#xff09;延迟函数的使用 #region 1、延迟函数//函数&#xff1a;Invoke(函数名/字符串&#xff0c;延迟时…