jzoj5347
tj:80pts:維護f[i][j]表示當前第i個方塊必須選,且選了j個的最優解,設w[i]為第i個方塊長度
則可以枚舉上次選了第k個方塊,則f[i][j]=max{f[k][j-1]+w[i]*(i-k)}
初值:f[i][1]=w[i]*i
100pts:記g[i]表示f[i][j-1],f[i]表示f[i][j],考慮每一次用g[i]得到f[i],首先將f數組清空
初值依然如上
考慮以前可以用來更新現在答案的2個點j,k什麼時候j比k優(k<j)" role="presentation" style="position: relative;">(k<j)(k<j),則g[j]+w[i]∗(i−j)>g[k]+w[i]∗(i−k)" role="presentation" style="position: relative;">g[j]+w[i]∗(i−j)>g[k]+w[i]∗(i−k)g[j]+w[i]∗(i−j)>g[k]+w[i]∗(i−k)
g[j]−w[i]∗j>g[k]−w[i]∗k" role="presentation" style="position: relative;">g[j]−w[i]∗j>g[k]−w[i]∗kg[j]−w[i]∗j>g[k]−w[i]∗k
所以g[j]−g[k]>w[i]∗(j−k)" role="presentation" style="position: relative;">g[j]−g[k]>w[i]∗(j−k)g[j]−g[k]>w[i]∗(j−k) 除過去得到(g[j]−g[k])/(j−k)>w[i]" role="presentation" style="position: relative;">(g[j]−g[k])/(j−k)>w[i](g[j]−g[k])/(j−k)>w[i]
w[i]單調不增,考慮斜率優化,維護一个斜率單調遞減的隊列,保證其中所有斜率小於w[i],當sl(q[h],q[h+1])>w[i]時pop掉q[h]
jzoj5347的更多相关文章
随机推荐
- windows,phalcon工具的安装使用
一.使用工具之前,必须安装phalcon的扩展,也就是php_phalcon.dll动态链接库 phalcon官方地址:https://github.com/phalcon/cphalcon/rele ...
- PAT 1058 选择题(20)(代码+思路)
1058 选择题(20 分) 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多. 输入格式: 输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100 ...
- js导出到word、json、excel、csv
tableExport.js ///*The MIT License (MIT) //Copyright (c) 2014 https://github.com/kayalshri/ //Permis ...
- xxnet 360浏览器设置
开xxnet全局pac只能代理. 然后选择360浏览器里面使用ie代理设置就行
- 项目解析1、登录验证用户是否存在 储备知识 Python 之 decorator装饰器
下面是我对 装饰器 这一小节的总结, 以及自己的理解. 注:[本文中的代码参考上述教程] 很多时候我会把Python的很多语法与C++相融合,在C++中,函数的名称即为函数的地址,我们可以通过定义成为 ...
- 构造函数constructor 与析构函数destructor(三)
(1)构造函数初始化列表: 1 class Test{ 2 int i; 3 public: 4 Test(int vi):i(vi){}//这里的从冒号开始,到右大括号结束,这一段是构造函数初始化列 ...
- 为了记忆和方便翻阅 vue构建后的结构目录说明
一. ├── build // 项目构建(webpack)相关代码 记忆:(够贱) 9个 │ ├── build.js // 生产环 ...
- 20155213 2016-2017-2 《Java程序设计》第八周学习总结
20155213 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章NIO与NIO2 NIO NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你 ...
- 处理No CPU/ABI system image for target的方法
处理No CPU/ABI system image for target的方法 最近菩提搭建完成Android开发环境后,在创建安卓模拟器的时候遇到了问题.这个问题就是图片中显示的no CPU/ABI ...
- C程序之修改Windows的控制台大小
//change the console size #include <stdio.h> #include<stdlib.h> //必须有 int main(int argc, ...