当前位置: 首页 > 编程日记 > 正文

【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)

【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)

题面

BZOJ
CF
洛谷
辣鸡BZOJ卡常数!!!!!!
辣鸡BZOJ卡常数!!!!!!
辣鸡BZOJ卡常数!!!!!!
所以我程序在BZOJ过不了

题解

朴素的按照\(k\)划分阶段的\(dp\)可以在\(CF\)上过的。
发现当选择的\(k\)增长时,减少的代价也越来越少,
所以可以凸优化一下,这样复杂度少个\(k\)
变成了\(O(nlogw)\)

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
#define ll long long
#define MAX 4040
#define double int
inline int read()
{int x=0;bool t=false;char ch=getchar();while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();if(ch=='-')t=true,ch=getchar();while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();return t?-x:x;
}
struct Node{int x,l,r;}Q[MAX];
int h,t;
int n,K,s[MAX][MAX];
int f[MAX],g[MAX];
int Trans(int i,int j,int C){return f[j]+(s[j][j]-s[i][j]*2+s[i][i])/2+C;}
void calc(int C)
{f[0]=g[0]=h=0;Q[h=t=1]=(Node){0,1,n};for(int i=1;i<=n;++i){while(h<t&&Q[h].r<i)++h;f[i]=Trans(i,Q[h].x,C);g[i]=g[Q[h].x]+1;while(h<t&&i>=Q[h].r)++h;if(Trans(n,Q[t].x,C)<=Trans(n,i,C))continue;while(h<t&&Trans(Q[t].l,Q[t].x,C)>Trans(Q[t].l,i,C))--t;int l=Q[t].l,r=Q[t].r,ret=Q[t].r+1;while(l<=r){int mid=(l+r)>>1;if(Trans(mid,i,C)<Trans(mid,Q[t].x,C))ret=mid,r=mid-1;else l=mid+1;}if(ret>n)continue;Q[t].r=ret-1;Q[++t]=(Node){i,ret,n};}
}
int main()
{n=read();K=read();for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+read();int l=0,r=s[n][n],ans=1e9;while(l<=r){int mid=(l+r)>>1;calc(mid);if(g[n]>K)l=mid+1;else r=mid-1,ans=f[n]-K*mid;}cout<<ans<<endl;return 0;
}

转载于:https://www.cnblogs.com/cjyyb/p/9430055.html

相关文章:

python定时任务contrib_django+celery配置(定时任务+循环任务)

下面介绍一下djangocelery的配置做定时任务1.首先介绍一下环境和版本python2.7django 1.8.1celery 3.1.23django-celery 3.1.172.celery的安装sudo pip install celery3.1.23sudo pip install django-celery3.1.173.新建一个项目(1)django-admin startproject django_celery…

CenterNet KeyPoints 关键点训练自己的数据

概述 网上搜了一圈&#xff0c;关于CenterNet 训练关键点数据的资料非常少&#xff0c;而且讲得都很模糊&#xff0c;没法解决实际问题&#xff0c;也未说明细节和要素。在踏坑许久之后&#xff0c;才跑通CenterNet的关键点训练&#xff0c;于是记录一下踏坑历程&#xff0c;以…

Java学习笔记---字符类型

一、字符类型也算是整数类型的一种 字符类型在内存中占有2个字节&#xff0c;可以用来保存英文字母等字符。计算机处理字符类型时&#xff0c;是把这些字符当成不同的整数来看待&#xff0c;因此&#xff0c;严格说来&#xff0c;字符类型也算是整数类型的一种&#xff08;小写…

我的家庭私有云计划-16

嗯&#xff0c;上午测试S2S的稳定性&#xff0c;改掉几个bug。还挺忙的。这会儿让机器跑测试去&#xff0c;腾出点时间&#xff0c;我们接着聊。 呵呵&#xff0c;昨天哪&#xff0c;已经有朋友批评我了&#xff0c;说我有点贪大求全&#xff0c;这个论坛什么的没必要自己实现&…

“cyl projection cannot cross pole” 解决方法

解决方法&#xff1a; 1、尝试更新NumPy以及相关模块&#xff1a; 在CMD里面执行 conda update –all 遇到提示选择yes/y 更新完毕后看是否可以载入。 发现并不能成功更新&#xff0c;于是采取了下面方法&#xff1a; 2、如果方法一不能解决&#xff0c;那么尝试卸载相关库&…

使用ubuntu(18.04) 作为软路由器连接互联网

使用ubuntu&#xff08;18.04&#xff09; 作为软路由器连接互联网 背景: 最近要用ubuntu机器作为中继路由&#xff0c;需要配置一下&#xff0c;但是内网外网网上找了一圈&#xff0c;五花八门的&#xff0c;照着做没有一个靠谱的&#xff0c;遇到的问题也没有任何说明&#…

程序员肿么了?为何总被认为是“屌丝”

没有想到会这么多人&#xff0c;有一点我强调一下&#xff0c;我的标题是被认为&#xff0c;而不是说真是。其实程序员相比其他行业不见得差&#xff0c;只是社会整体认可度不高。&#xff08;或者说认知&#xff09; 本文纯属闲时娱乐&#xff0c;请勿当真&#xff0c;请勿较真…

python空值填充_pandas | DataFrame基础运算以及空值填充

今天是pandas数据处理专题的第四篇文章&#xff0c;我们一起来聊聊DataFrame的基本运算。上一篇文章当中我们介绍了DataFrame数据结构当中一些常用的索引的使用方法&#xff0c;比如iloc、loc以及逻辑索引等等。今天的文章我们来看看DataFrame的一些基本运算。数据对齐我们可以…

Python学习之路基础篇--10Python基础,函数进阶

1 命名空间 对于Python 来说命名空间一共有三种 1 内置命名空间 —— Python 解释器 就是Python 解释器一启动就可以使用的名字&#xff0c;储存在内置命名空间中。内置的名字在启动解释器的时候被加载进内存里 2 全局命名空间 —— 我们所命名的&#xff0c;但不是函数中的代码…

C语言中整型浮点型在计算机中的存储

第一次写博客&#xff0c;遣词造句有点菜&#xff0c;算是一次简单梳理&#xff0c;慢慢学习人家的博客风格&#xff0c;随着学习的深入再做修改。 本次学习的是C语言在VS下的编译调试&#xff0c;对于初学者两说&#xff0c;首先说一下如何监控变量&#xff0c;以及监控变量在…

判断交换机性能好坏的九个因素

【文章摘要】把握千兆交换机的主要性能指标是关键&#xff0c;而判断交换机性能的好坏&#xff0c;需要从以下几方面的因素出发... 把握千兆交换机的主要性能指标是关键&#xff0c;而判断交换机性能的好坏&#xff0c;需要从以下几方面的因素出发&#xff1a;   转发技术  …

xgboost回归预测模型_偏最小二乘回归分析法 从预测角度对所建立的回归模型进行比较...

在实际问题中&#xff0c;经常遇到需要研究两组多重相关变量间的相互依赖关系&#xff0c;并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量)&#xff0c; 除了最小二乘准则下的经典多元线性回归分析(MLR)&#xff0c;提取自变量组主成分的主…

win7的IE缓存,临时文件,cookies和历史记录

2019独角兽企业重金招聘Python工程师标准>>> vista、win7的缓存以及临时文件、Cookies和历史记录都在以下几个地方&#xff1a; 缓存: %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files Temp: %userprofile%\AppData\Local\Temp Cookies: %…

Sql Server函数全解(四)日期和时间函数

阅读目录 1.获取系统当前日期的函数getDate();2.返回UTC日期的函数UTCDATE()3.获取天数的函数DAY(d)4.获取月份的函数MONTH(d)5.获取年份的函数YEAR(d)6.获取日期中指定部分字符串值的函数DATENAME(dp,d)7.获取日期中指定部分的整数值的函数DATEPART(dp,d)8.计算日期和时间的函…

关于python的比赛_【蓝桥杯】——python集团的比赛技巧,Python,组

【蓝桥杯】—— Python组比赛技巧蓝桥杯是大学生IT学科赛事&#xff0c;由工业和信息化部人才交流中心主办&#xff0c;所以对于大学生还说还是非常值得去参加的&#xff0c;2020年第十一届蓝桥杯新增了大学Python组&#xff0c;不分组别&#xff0c;第一届没有历届的真题&…

杭电 HOJ 1312 Red and Black 解题报告

搜索&#xff0c;bfs。依旧用队列做。边界处懒得处理&#xff0c;全部初始化为-1。当然&#xff0c;0也可以。AC代码如下&#xff1a; #include<iostream> #include<deque> using namespace std;struct Point {int x,y; } x,y;int main() {char str[22];int i,j,n,…

pfile和spfile的区别

pfile和spfile的区别 pfile 默认的名称为“init例程名.ora”文件路径&#xff1a;/app/oracle/product/10.2.0/dbs&#xff0c;这是一个文本文件&#xff0c;可以用任何文本编辑工具打开。spfile 默认的名称为“spfile例程名.ora”文件路径&#xff1a;/app/oracle/product/10…

json操作2

import jsonfopen(a.txt,w,encodingutf-8)goods{ 宝马:111111, 奔驰:222222}resjson.dumps(goods,ensure_asciiFalse)#把字典转成jsonf.write(res) json.dump(goods,f,ensure_asciiFalse)#把字典转成json,json会帮你write一次 ----颜色不一样的代码一致运行结果&#xff…

缓冲区和数组的输入输出问题

最近编写程序的时候一直被数据的输入输出所困扰&#xff0c;由此写篇博文总结一下最近遇到的问题和解决方法&#xff0c;错误之处望指正。 1.数组使用的一些语法注意事项 &#xff08;1&#xff09;数组的定义 一维数组&#xff1a;类型名 数组名 [常量表达式] 常量表达式中可…

目前python主要应用领域零售_python3读取HDA零售企业数据(一)

#-*- coding:utf-8 -*-# 下载河南FDA各药品经营企业目录import urllib.requestimport urllib.parseimport reimport osimport http.cookiejarheader {Connection: Keep-Alive,Accept: application/x-ms-application, image/jpeg, application/xamlxml, image/gif, image/pjpeg…

调试webservice遇到“测试窗体只能用于使用基元类型作为参数的方法”的解决办法...

之前一直写webservice 没有遇见这种情况&#xff0c;因为一般返回的参数整形 字符串 之类的 都是基本类型&#xff0c;最多也就是把xml序列化为一个字符串返回&#xff0c;这次遇到了返回一个引用类型的&#xff0c;不能直接调试了。所以&#xff0c;现在只能写一个程序把webse…

EJB3.1 JBoss7.1 Eclipse3.7

为什么80%的码农都做不了架构师&#xff1f;>>> EJB3.1 JBoss7.1 Eclipse3.7 ------Hello World 一、环境配置&#xff1a; JDK&#xff1a;正常配置 Eclipse&#xff1a;正常下载&#xff0c;解压&#xff08;V3.7&#xff09; JBoss&#xff1a;正常下载&#xf…

NOIP2012-摆花

放题目不解释~~~~ 【试题描述】 小明的花店新开张&#xff0c;为了吸引顾客&#xff0c;他想在花店的门口摆上一排花&#xff0c;共m盆。通过调查顾客的喜好&#xff0c;小明列出了顾客最喜欢的n种花&#xff0c;从1到n标号。为了在门口展出更多种花&#xff0c;规定第i种花不能…

github提交代码却没有显示绿格子

在github上提交代码之后&#xff0c;进入github上面查看自己的提交&#xff0c;可以看看刚刚的提交内容&#xff0c;但是却一直没有显示绿格子&#xff0c;一个原因是本地git的配置邮箱和github上面的邮箱不一致。 解决办法是&#xff0c;打开本地的git bash&#xff0c;然后直…

spark+openfire即时通讯工具二次开发参考文档

摘自: http://gmd20.blog.163.com/blog/static/168439232010527525542/ 其中Spark是开源的基于XMPP协议的即时通讯工具&#xff0c;公司最近也换到用这个了&#xff0c;说是在服务器&#xff08;openfire&#xff09;上可以备份消息&#xff0c;然后可以看员工的聊天记录 smac…

python selenium 等待页面加载完毕_Selenium_等待页面加载完毕

隐式等待WebDriver driver newFirefoxDriver();driver.get("www.baidu.com");driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);WebElement element driver.findElement(By.cssSelector(".abc"));((JavascriptExecutor)driver).executeS…

TechEd 2012奥兰多!

亚特兰大TechEd 2011如同昨天的事情&#xff0c;今天又无比期待奥兰多的TechEd 2012&#xff01;如果可能的话&#xff0c;我将继续为大家分享关于奥兰多TechEd 2012 的现场见闻&#xff01; 转载于:https://blog.51cto.com/suhua/845796

【常见CPU架构对比】维基百科

Comparison of instruction set architectures https://en.wikipedia.org/wiki/Comparison_of_instruction_set_architectures转载于:https://www.cnblogs.com/timeObjserver/p/9441242.html

Python基础学习1(Python的Windows和Linux的安装及简单学习)

一Python的安装 1.Windows下安装Python &#xff08;1&#xff09;windows 命令行的几个常见的命令 dir&#xff1a;查看当前目录下的所有文件&#xff0c;以及目录 cd NAME&#xff1a;进入到NAME目录下&#xff08;tab键自动补全&#xff09; D: 切换到D盘 type NUL…

Python Tutorial(十):浏览标准库(一)

10.1 操作系统接口 os模块提供很多函数用于和操作系统的交互&#xff1a; 确定使用import os风格而不是from os import *。这将避免os.open()被内建的open()函数遮住&#xff0c;它的操作截然不同。 内建的函数dir()和help()作为交互助手对于大的模块像os是非常有用的&#xff…