行情软件免费下载做360网站优化快

bicheng/2026/1/18 22:02:35/文章来源:
行情软件免费下载,做360网站优化快,软文营销模板,html的seo搜索优化problem luogu-P3648 你正在玩一个关于长度为 nnn 的非负整数序列的游戏。这个游戏中你需要把序列分成 k1k1k1 个非空的块。 为了得到 k1k1k1 块#xff0c;你需要重复下面的操作 kkk 次#xff1a; 选择一个有超过一个元素的块#xff08;初始时你只有一块#xff0c;…problem luogu-P3648 你正在玩一个关于长度为 nnn 的非负整数序列的游戏。这个游戏中你需要把序列分成 k1k1k1 个非空的块。 为了得到 k1k1k1 块你需要重复下面的操作 kkk 次 选择一个有超过一个元素的块初始时你只有一块即整个序列选择两个相邻元素把这个块从中间分开得到两个非空的块。每次操作后你将获得那两个新产生的块的元素和的乘积的分数。 你想要最大化最后的总得分。 输出最后得分以及划分的任一方案。 solution 前提结论得分与切的先后顺序无关。 假设要把 abcabcabc 切成 a∣b∣ca\mid b\mid ca∣b∣c。 先切 a∣bca\mid bca∣bc再切 a∣b∣ca\mid b\mid ca∣b∣cansa∗(bc)b∗cabacbcansa*(bc)b*cabacbcansa∗(bc)b∗cabacbc。先切 ab∣cab\mid cab∣c再切 a∣b∣ca\mid b\mid ca∣b∣cans(ab)∗ca∗bacbcabans(ab)*ca*bacbcabans(ab)∗ca∗bacbcab。 这样就可以从左到右 dpdpdp 了。记 sumi∑j1iaisum_i\sum_{j1}^ia_isumi​∑j1i​ai​即元素分数前缀和。 设 f(i,j):f(i,j):f(i,j): 前 iii 个数切成 jjj 段的最大得分。 则 f(i,j)max⁡ki{f(k,j−1)sum(k)∗(sum(i)−sum(k))}f(i,j)\max_{ki}\Big\{f(k,j-1)sum(k)*\big(sum(i)-sum(k)\big)\Big\}f(i,j)maxki​{f(k,j−1)sum(k)∗(sum(i)−sum(k))}。 jjj 只跟 j−1j-1j−1 有关考虑提到最外面循环内层简写 f(i,j−1)f(i)f(i,j-1)f(i)f(i,j−1)f(i)。 假设 k1k2k_1k_2k1​k2​且 k1k_1k1​ 决策优于 k2k_2k2​。 则必定满足 f(k1)sumk1∗sumi−sumk12f(k2)sumk2∗sumi−sumk22f(k_1)sum_{k_1}*sum_i-sum_{k_1}^2f(k_2)sum_{k_2}*sum_i-sum_{k_2}^2 f(k1​)sumk1​​∗sumi​−sumk1​2​f(k2​)sumk2​​∗sumi​−sumk2​2​ f(k1)−sumk12−f(k2)sumk22(sumk2−sumk1)sumif(k_1)-sum_{k_1}^2-f(k_2)sum_{k_2}^2(sum_{k_2}-sum_{k_1})sum_i f(k1​)−sumk1​2​−f(k2​)sumk2​2​(sumk2​​−sumk1​​)sumi​ sumsumsum 是前缀和数组所以 sumk2≥sumk1sum_{k_2}\ge sum_{k_1}sumk2​​≥sumk1​​具有单调性。 (f(k1)−sumk12)−(f(k2)−sumk22)(−sumk1)−(−sumk2)sum(i)\frac{\big(f(k_1)-sum_{k_1}^2\big)-\big(f(k_2)-sum_{k_2}^2\big)}{(-sum_{k_1})-(-sum_{k_2})}sum(i) (−sumk1​​)−(−sumk2​​)(f(k1​)−sumk1​2​)−(f(k2​)−sumk2​2​)​sum(i) 标准斜率优化的式子因为 O(nk)O(nk)O(nk) 无法再接受一个 log⁡\loglog 所以我最热爱的李超树就被 pass\text{pass}pass 掉了。 斜率优化想必最头疼的就是用队列维护首尾弹出时的大小于符号的定向问题。 网上一堆凸包图形对于我这种平面几何感几乎为零的蒟蒻而言简直就是天方夜谭。 所以这里写一种判断方法吧不保证正确性 队首的弹出很简单因为上面的斜率优化式子已经化出来了直接 slope(q[head],q[head1])slope(q[head],q[head1])slope(q[head],q[head1]) 和 sum(i)sum(i)sum(i) 比较。 如果 ≤sum(i)\le sum(i)≤sum(i) 说明 k2k_2k2​ 即后者 q[head1]q[head1]q[head1] 更优。 就需要弹队首。 队尾的弹出较为复杂考虑的是 slope(q[tail−1],q[tail])slope(q[tail-1],q[tail])slope(q[tail−1],q[tail]) 和 slope(q[tail],i)slope(q[tail],i)slope(q[tail],i)。 准确而言是考虑 q[tail]q[tail]q[tail] 可不可能做队首。 那么当现在的队尾在后面某个枚举位置时变成了队首 就必须要满足 slope(q[tail−1],q[tail])≤sumpslope(q[tail-1],q[tail])\le sum_pslope(q[tail−1],q[tail])≤sump​这样才能弹出 q[tail−1]q[tail-1]q[tail−1]。 假设弹队尾的条件是 slope(q[tail−1],q[tail])≤slope(q[tail],i)slope(q[tail-1],q[tail])\le slope(q[tail],i)slope(q[tail−1],q[tail])≤slope(q[tail],i)。 显然存在 slope(q[tail−1],q[tail])≤sumpslope(q[tail],i)slope(q[tail-1],q[tail])\le sum_pslope(q[tail],i)slope(q[tail−1],q[tail])≤sump​slope(q[tail],i) 的可能性。 所以这么弹可能把答案取值点给弹出去。 假设弹队尾的条件是 slope(q[tail−1],q[tail])≥slope(q[tail],i)slope(q[tail-1],q[tail])\ge slope(q[tail],i)slope(q[tail−1],q[tail])≥slope(q[tail],i)。 因为 slope(q[tail],i)≤slope(q[tail−1],q[tail])≤sumpslope(q[tail],i)\le slope(q[tail-1],q[tail])\le sum_pslope(q[tail],i)≤slope(q[tail−1],q[tail])≤sump​ 所以 q[tail−1]q[tail-1]q[tail−1] 被 q[tail]q[tail]q[tail] 弹出后马上 q[tail]q[tail]q[tail] 就会被 iii 弹出去。 那么 q[tail]q[tail]q[tail] 永远都不可能当队首。 综上我们确定了队尾判断的符号。 注意前面的表述据说明 sumisum_isumi​ 不是严格递增的存在平台所以遇到 sumisumjsum_isum_jsumi​sumj​ 返回斜率极小值即可。 code #include bits/stdc.h using namespace std; #define int long long #define maxn 100005 int n, k, d; int a[maxn], sum[maxn], q[maxn]; int g[maxn][205], f[maxn][205]; double slope( int x, int y ) {if( sum[x] sum[y] ) return -1e18;return (f[x][d] - sum[x] * sum[x] - f[y][d] sum[y] * sum[y]) * 1.0 / (sum[y] - sum[x]); } void print( int n, int d ) {if( d 1 ) return;print( g[n][d], d - 1 );printf( %d , g[n][d] ); } signed main() {scanf( %lld %lld, n, k );for( int i 1;i n;i ) scanf( %lld, a[i] );for( int i 1;i n;i ) sum[i] sum[i - 1] a[i];for( d 1;d k;d ) {int head 1, tail 0;for( int i 1;i n;i ) {while( head tail and slope( q[head], q[head 1] ) sum[i] ) head ;f[i][d 1] f[q[head]][d] sum[q[head]] * ( sum[i] - sum[q[head]] );g[i][d 1] q[head];while( head tail and slope( q[tail - 1], q[tail] ) slope( q[tail], i ) ) tail --;q[ tail] i;}}printf( %lld\n, f[n][d] );print( n, d );return 0; }

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

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

相关文章

网站建设捌金手指下拉四兼职做问卷调查的网站好

前言 学完前面我们讲解了InnoDB数据页的7个组成部分,知道了各个数据页可以组成一个双向链表,而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查…

石家庄网站关键词长春网站建设工作室

从用户的视角来感受一个开源项目的成长,是我们推出「开发者说」专栏的初衷,即在开发者进行开源项目选型时,提供更为立体的项目信息。专栏所有内容均来自作者原创/投稿,本文是「开发者说」的第9篇,作者郑扬勇&#xff0…

郴州制作网站设计较好的公司网站建设基本费用

数据类型分为基本数据类型和引用数据类型两大类在下面数据类型的介绍中只会介绍8种基本数据类型和引用数据类型中的类类型中的一个类String基本数据类型1. 计算机中的存储单位8bit 1byte 1024byte 1KB 1024KB 1M1024M 1GB1024GB 1T2. 整数型数据byte short int long1.long…

那些做电影视频网站的赚钱吗自己做视频网站 在优酷推广

问题产生的地方 原因 对于 double 类型的属性,不能直接使用减法运算符进行比较。减法运算符只能用于数值类型,而 double 是浮点数类型。 要在 double 属性上进行排序,可以使用 CompareTo 方法或者使用自定义的比较器。 更改 要在 double 属性…

微信上浏览自己做的网站吗海南在线新闻中心海南一家

实现linux主机之间的相互免密登录 在进行远程登录的时,服务器和主机间进行认证阶段分为: 基于口令认证(不安全,易被抓包拦截获取) 客户机连接服务器时,服务器将自己的公钥返回给客户机 客户机会将服务器的…

文档上传网站网站建设后需要录入

QML传感器融合应用 使用AI技术辅助生成 QT界面美化视频课程 QT性能优化视频课程 QT原理与源码分析视频课程 QT QML C扩展开发视频课程 免费QT视频课程 您可以看免费1000个QT技术视频 免费QT视频课程 QT统计图和QT数据可视化视频免费看 免费QT视频课程 QT性能优化视频免费看 免…

金华网站推广长沙微营销

firewalld是centos7默认的防火墙安全增强型 Linux(Security-Enhanced Linux)简称 SELinux初学者建议先关闭,等熟悉了之后再来使用前期联系中的好多错误都有可能是由于没有关闭或者正确配置上面两项造成的1.临时关闭centos7下的防火墙firewalld一行命令就能够关闭firewalld--&qu…

大型网站建设开发报价网站建设

let obj JSON.parse(JSON.stringify(data));例如,table列表中,点击编辑时,可对val进行如上操作来解除双向绑定

海外兼职网站建设seo推广排名重要吗

前言 工厂模式一般指的是简单工厂模式、工厂方法模式、抽象工厂模式,这是三种工厂模式的最后一篇,其他两种的文章链接如下: 设计模式之简单工厂模式-CSDN博客 设计模式之工厂方法模式-CSDN博客 建议三种模式放在一起对比学习,…

手机模板网站模板免费下载飞机订票系统网页设计总结

Transformers 微调 基于 Transformers 实现模型微调训练的主要流程数据字段数据拆分(分成训练跟测试)下载数据集数据集抽样预处理数据数据抽样微调训练配置加载 BERT 模型训练超参数(TrainingArguments)模型权重保存路径(output_d…

租赁商城手机网站开发自己可以做小程序商城吗

想要掘金全球电商市场,美国的Mercari平台绝对值得关注。Mercari,也被称作煤炉,类似于我们国内的闲鱼二手交易平台,它同时拥有美国和日本两个市场。其中,美国市场的消费需求稳定且持续增长,成为了许多跨境电…

网站架构优化做citation的网站

记录一下,遇到这个问题了,网络上看到的解决办法,亲测有效 执行sudo apt-get update ,却报以下错误,“SECURITY: URL redirect target contains control characters rejecting ” 经检查发现,/etc/apt/source.list 下的…

怎么把网站排名中国建设网官方网站app

1.缺失值的处理 (1)像在下面的这个表格里面,这个对于缺失的数据,我们需要分情况进行分析,如果这个数据就是一个数值型的数据,我们可以使用平均值进行处理; (2)对于这个…

抚州建设网站的公司河北邯郸

写在前面 通过 ghidra 工具, 但是只能用命令行启动, 不太舒服, 写个脚本生成 MacOS 的 app 格式并导入启动台. 不算复杂, 主要是解析包的一些元信息还有裁剪软件图标(通过 MacOS 自带的 API) 脚本 #!/opt/homebrew/bin/python3import os import re import subprocess as sp…

网站的主机博罗网站定制

目录 0 引言1 递增子序列1.1 我的解题 2 全排列2.1 我的解题 3 全排列 II3.1 我的解题 🙋‍♂️ 作者:海码007📜 专栏:算法专栏💥 标题:算法刷题Day29 |491.递增子序列、46.全排列、47.全排列 II❣️ 寄语&…

十堰市公司网站建设完成网站的建设工作

**单片机设计介绍, 基于单片机温湿度光照自动窗帘系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温湿度光照自动窗帘系统是一种智能家居系统,通过使用单片机作为控制核心&#xff0c…

如何创建一个新网站wordpress 代码文章

一、Log4j介绍 在项目中,不管是开发人员写代码还是测试人员写的测试代码一般都需要做一些日志来记录项目的行为,以便更好的跟踪项目中的一些交互和问题。 Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目…

网站建设平台皆往乐云践新专家龙华网站建设主要工作

在全球信息产业高速发展的背景下,IDC预测,2018 到 2025 年之间,全球产生的数据量将会从 33 ZB 增长到 175 ZB, 复合增长率27%,其中超过 80%的数据都会是处理难度较大的非结构化数据,如文档、文本、图形、图…

格力网站建设需求分析门户网站界面设计

文章目录 需求分析1. 使用 splice() 方法2. 使用 filter() 方法3. 使用 splice 和展开运算符(ES6): 新的需求新的分析 需求 删除数组中的指定元素,阁下该如何应对 分析 有多种方法可以实现 JavaScript 数组删除指定元素。以下是其…

小程序搭建流程有哪五步骤seo百度发包工具

业务场景 业务开发过程中,我们经常会需要判断远程终端是否在线,当终端离线的时候我们需要发送消息告知相应的系统, 环形队列 1.创建一个index从0到30的环形队列(本质是个数组) 2.环上每一个slot是一个Set&#xf…