今日成就:本来以为过了这题,然后被mcfx发现写假并针对地造了一组hack数据之后FST了。

复杂度什么的咱也不会证,咱也不会卡,被hack之后只能FST。

是个决策单调性sb题,但是由于太菜不怎么会写决策单调性于是胡搞了一波,然后还是被mcfx卡了\(\mathcal{O}(n^2)\),成功\(100\rightarrow44\)。

单调队列写丑了我也没什么办法...sb挂sb题...

没啥说的了,直接扔代码:

#include<bits/stdc++.h>

using namespace std;

const int N=3e5+5;

int n,a[N],x[N],y[N];

void qread(int &xx){
xx=0;int ch=getchar();
while(ch<'0'||ch>'9'){
ch=getchar();
}
while(ch>='0'&&ch<='9'){
xx=xx*10+ch-'0';
ch=getchar();
}
} long long f[N]; long long calc(int l,int r){
int u=abs(a[r]-x[l]);
return 1LL*u*u*u+1LL*y[l]*y[l]*y[l];
} int dq[N],dqfr=1,dqen; int bs(int l,int r,int pos1,int pos2){
int mid;
while(l<r){
mid=(l+r)>>1;
f[pos1]+calc(pos1+1,mid)>=f[pos2]+calc(pos2+1,mid)?r=mid:l=mid+1;
}
return l;
} int main(){
qread(n);
for(int i=1;i<=n;i++){
qread(a[i]);
}
for(int i=1;i<=n;i++){
qread(x[i]);
}
for(int i=1;i<=n;i++){
qread(y[i]);
}
dq[++dqen]=0;
for(int i=1;i<=n;i++){
while(dqfr<dqen&&f[dq[dqfr]]+calc(dq[dqfr]+1,i)>=f[dq[dqfr+1]]+calc(dq[dqfr+1]+1,i)){
++dqfr;
}
f[i]=f[dq[dqfr]]+calc(dq[dqfr]+1,i);
while(dqen>dqfr&&bs(1,n+1,dq[dqen],i)<=bs(1,n+1,dq[dqen-1],dq[dqen])){
--dqen;
}
dq[++dqen]=i;
}
printf("%lld\n",f[n]);
return 0;
}

noi.ac NA531 【神树和物品】的更多相关文章

  1. noi.ac #531 神树和物品

    题目链接:戳我 决策单调性 (蒟蒻终于会写决策单调性啦!考试全场切这题就我不会啊嘤) (证明?不会啊,自己打表看QAQ) 44pts \(O(n^2)\)代码: #include<iostrea ...

  2. noi.ac #528 神树和排列

    题目链接:戳我 #include<iostream> #include<cstring> #include<cstdio> #include<algorith ...

  3. noi.ac #529 神树的矩阵

    题目链接:戳我 当 \(max(n, m) \ge 3\) 时,可以如下构造: 考虑下面这样三个矩阵,红 + 蓝 − 绿得到的矩阵是一个第一行和最后一行全是 1,其他地方全是 0 的矩阵. 那么如果需 ...

  4. noi.ac #525 神树的权值

    mcfx神仙的题qwq 题目链接:戳我 首先,我们知道30%的分还是挺好做的 直接枚举根,然后dfs一遍以\(O(n)\)的时间复杂度求出来有多少神仙点 代码如下: #include<iostr ...

  5. # NOI.AC省选赛 第五场T1 子集,与&最大值

    NOI.AC省选赛 第五场T1 A. Mas的童年 题目链接 http://noi.ac/problem/309 思路 0x00 \(n^2\)的暴力挺简单的. ans=max(ans,xor[j-1 ...

  6. NOI.ac #31 MST DP、哈希

    题目传送门:http://noi.ac/problem/31 一道思路好题考虑模拟$Kruskal$的加边方式,然后能够发现非最小生成树边只能在一个已经由边权更小的边连成的连通块中,而树边一定会让两个 ...

  7. NOI.AC NOIP模拟赛 第五场 游记

    NOI.AC NOIP模拟赛 第五场 游记 count 题目大意: 长度为\(n+1(n\le10^5)\)的序列\(A\),其中的每个数都是不大于\(n\)的正整数,且\(n\)以内每个正整数至少出 ...

  8. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  9. NOI.AC NOIP模拟赛 第二场 补记

    NOI.AC NOIP模拟赛 第二场 补记 palindrome 题目大意: 同[CEOI2017]Palindromic Partitions string 同[TC11326]Impossible ...

随机推荐

  1. vs2017 开发.NetCore部署docker

    一.环境 操作系统:windows 10 64bit 开发环境:vs2017 部署环境:docker  — windows 二.准备 安装docker: 见:https://www.cnblogs.c ...

  2. Golang- import 导入包的几种方式:点,别名与下划线

    包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Pr ...

  3. Spring是什么? 什么是IOC(Inversin of control)? 什么是AOP (Aspect-Oriented Programming)?

    spring是一个开源容器框架,可以接管web层.service层.dao层.持久层的组件,spring底下是一个bean工厂,用户产生各种bean,spring可以配置各种bean,和维护bean与 ...

  4. 守护进程,互斥锁, IPC ,Queue队列,生产消费着模型

    1.守护进程 什么是守护进程? 进程是一个正在运行的程序 守护进程也是一个普通进程,意思是一个进程可以守护另一个进程,比如如果b是a的守护进程,a是被守护的进程,如果a进程结束,b进程也会随之结束. ...

  5. python 实现 灰色预测 GM(1,1)模型 灰色系统 预测 灰色预测公式推导

    来源公式推导连接 https://blog.csdn.net/qq_36387683/article/details/88554434 关键词:灰色预测 python 实现 灰色预测 GM(1,1)模 ...

  6. Flood Fill

    An image is represented by a 2-D array of integers, each integer representing the pixel value of the ...

  7. TCP/IP 物理层卷三 -- 传输介质

    一.有线传输介质(Guided Transmission Media)  1.1 双绞线(Twisted Pair) 双绞线(twisted pair)是一种综合布线工程中最常用的有线传输介质(导向传 ...

  8. node.js中的url.parse方法使用说明

    node.js中的url.parse方法使用说明:https://blog.csdn.net/swimming_in_it_/article/details/77439975 版权声明:本文为博主原创 ...

  9. linux 三剑客之sed常用总结

    sed 列出5-7行 [root@www ~]# nl /etc/passwd | sed -n '5,7p' -n不在处理前打印,搜索root,/p打印 nl /etc/passwd | sed ' ...

  10. 集成学习-Boosting 模型深度串讲

    首先强调一下,这篇文章适合有很好的基础的人 梯度下降 这里不系统讲,只介绍相关的点,便于理解后文 先放一个很早以前写的 梯度下降 实现 logistic regression 的代码 def tidu ...