BZOJ.5311.贞鱼(DP 决策单调)
很容易写出\(O(n^2k)\)的DP方程。然后显然决策点是单调的,于是维护决策点就可以了。。
这个过程看代码或者别的博客吧我不写了。。(其实是忘了)
这样复杂度\(O(nk\log n)\)。但是在BZOJ T了=-=。
\(k\)可以带权二分优化到\(O(n\log k\log n)\)就能过了吧。
不想改了。
我特么学的是假的单调。。
又是zz错误浪费半下午(╯‵□′)╯︵┴─┴
辣鸡题还卡时间
不过就不过吧mmp
Upd: Codeforces 321E.Ciel and Gondolas上过了。1028ms 130224KB。。
//130968kb 3000ms
#include <cstdio>
#include <cctype>
#include <algorithm>
//#define gc() getchar()
#define MAXIN 5000000
#define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF:*SS++)
const int N=4003;
int n,K,A[N][N],sum[N][N],f[2][N],Now;
char IN[MAXIN],*SS=IN,*TT=IN;
struct Node{
int l,r,pos;//pos是区间[l,r]的最优转移点
}q[N];
inline int read()
{
int now=0;register char c=gc();
for(;!isdigit(c);c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now;
}
inline int Cost(int i,int p){//在i之前,分割p,p+1处
return f[Now][p]+sum[p+1][i];
}
inline int Find(Node t,int x)
{
int l=t.l, r=t.r, mid;
while(l<=r)//l==r时应再Check一次?
if(mid=l+r>>1, Cost(mid,x)<Cost(mid,t.pos)) r=mid-1;//!
else l=mid+1;
return l;
}
int main()
{
n=read(),K=read();
for(int i=1; i<=n; ++i)
for(int j=1; j<=n; ++j) A[i][j]=A[i][j-1]+read();
for(int i=1; i<=n; ++i)
for(int j=i+1; j<=n; ++j)
sum[i][j]=sum[i][j-1]+A[j][j]-A[j][i-1];
for(int i=1; i<=n; ++i) f[1][i]=sum[1][i];
Now=1;
for(int j=1; j<K; ++j, Now^=1)
{
int h=1,t=1; q[1]=(Node){1,n,1};
for(int i=2; i<=n; ++i)
{
if(i>q[h].r) ++h;
f[Now^1][i]=Cost(i,q[h].pos);
if(Cost(n,i)<Cost(n,q[t].pos))//为什么要拿n比?不太明白。
{
while(h<=t && Cost(q[t].l,i)<Cost(q[t].l,q[t].pos)) --t;//队尾区间的l用i都比pos更优了,而决策点是单调的,所以[l,r]肯定都要不选pos而选i了
if(h>t) q[++t]=(Node){i,n,i};
else
{
int Pos=Find(q[t],i);
q[t].r=Pos-1, q[++t]=(Node){Pos,n,i};
}
}
}
}
printf("%d",f[Now][n]);
return 0;
}
BZOJ.5311.贞鱼(DP 决策单调)的更多相关文章
- CF321E Ciel and Gondolas & BZOJ 5311 贞鱼
一眼可以看出$O(kn^{2})$的$dp$方程,然后就不会了呜呜呜. 设$f_{i, j}$表示已经选到了第$i + 1$个数并且选了$j$段的最小代价,那么 $f_{i, j} = f_{p, j ...
- BZOJ_5311_贞鱼_决策单调性+带权二分
BZOJ_5311_贞鱼_决策单调性+带权二分 Description 众所周知,贞鱼是一种高智商水生动物.不过他们到了陆地上智商会减半. 这不?他们遇到了大麻烦! n只贞鱼到陆地上乘车,现在有k辆汽 ...
- 【Codeforces 321E / BZOJ 5311】【DP凸优化】【单调队列】贞鱼
目录 题意: 输入格式 输出格式 思路: DP凸优化的部分 单调队列转移的部分 坑点 代码 题意: 有n条超级大佬贞鱼站成一行,现在你需要使用恰好k辆车把它们全都运走.要求每辆车上的贞鱼在序列中都是连 ...
- Newnode's NOI(P?)模拟赛 第二题 dp决策单调优化
其实直接暴力O(n3)DP+O2O(n^3)DP+O_2O(n3)DP+O2优化能过- CODE O(n3)O(n^3)O(n3) 先来个O(n3)O(n^3)O(n3)暴力DP(开了O2O_2O2 ...
- 【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)
[BZOJ5311/CF321E]贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性) 题面 BZOJ CF 洛谷 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!!!!! ...
- bzoj 4769: 超级贞鱼 -- 归并排序
4769: 超级贞鱼 Time Limit: 1 Sec Memory Limit: 128 MB Description 马达加斯加贞鱼是一种神奇的双脚贞鱼,它们把自己的智慧写在脚上——每只贞鱼的 ...
- BZOJ5311,CF321E 贞鱼
题意 Problem 5311. -- 贞鱼 5311: 贞鱼 Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 677 Solved: 150[Subm ...
- 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)
洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...
- CF868 F. Yet Another Minimization Problem 决策单调优化 分治
目录 题目链接 题解 代码 题目链接 CF868F. Yet Another Minimization Problem 题解 \(f_{i,j}=\min\limits_{k=1}^{i}\{f_{k ...
随机推荐
- Multiple HTTPS Bindings IIS 7 Using appcmd
http://toastergremlin.com/?p=308 Sometimes when using a wildcard SSL or Unified Communications Certi ...
- aarch64_l1
L-function-1.23-18.fc26.aarch64.rpm 2017-02-14 08:01 139K fedora Mirroring Project L-function-devel- ...
- Django Rest Framework----ModelViewSet视图 ModelViewSet源码分析
一.视图类 #bookview是一个视图类,继承自ModelViewSet class BookView(ModelViewSet): throttle_classes = [VisitThrottl ...
- React-Native 之 环境配置和简单使用
# 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...
- 02 Go 1.2 Release Notes
Go 1.2 Release Notes Introduction to Go 1.2 Changes to the language Use of nil Three-index slices Ch ...
- python基础--logging模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- UFLDL 教程学习笔记(三)
教程地址:http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/ logstic regression是二分类的问题,如果想要 ...
- Javascript 跨域访问解决方案 总结
在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同 源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问 ...
- delphi TComponent类(1)
来自:http://blog.csdn.net/lailai186/article/details/7442383 ------------------------------------------ ...
- 动态页面技术JSP/EL/JSTL
本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...