bzoj5324:[Jxoi2018]守卫

传送门

首先考虑定下一个端点,然后剩下的就可以递推了
一开始想的是定下左端点,然后预处理出位置最远能看到的位置,后来发现时间GG了
看题解发现定右端点优秀得多
记录下当前\(r\)最远能看到的位置\(p\),能看到\([p,r]\)一共需要几个守卫,这个后缀和一下就好了
然后斜率的判断,只需要\(l,r\)的斜率小于\(p,r\)的斜率,这个点就可以被看见,这是显然的,可以画一下图
代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
void read(int &x) {char ch; bool ok;for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1;for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
}
#define rg register
const int maxn=5010;
int n,f[maxn][maxn],a[maxn],ans;
int main()
{read(n);for(rg int i=1;i<=n;i++)read(a[i]);for(rg int r=1;r<=n;r++){f[r][r]=1;ans^=1;int las=0,sum=1;for(rg int l=r-1;l;l--){if(!las||(double)((a[l]-a[r])/(l-r))<(double)((a[r]-a[las])/(r-las)))sum+=min(f[l+1][las],f[l+1][las-1]),las=l;f[l][r]=sum+min(f[l][las],f[l][las-1]);ans^=f[l][r];}}printf("%d\n",ans);
}

转载于:https://www.cnblogs.com/lcxer/p/10534841.html

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

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

相关文章

蓝桥杯第八届省赛JAVA真题----分巧克力

标题&#xff1a; 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力&#xff0c;其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见&#xff0c;小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克…

蓝桥杯第八届省赛JAVA真题----油漆面积

标题&#xff1a;油漆面积 X星球的一批考古机器人正在一片废墟上考古。 该区域的地面坚硬如石、平整如镜。 管理人员为方便&#xff0c;建立了标准的直角坐标系。 每个机器人都各有特长、身怀绝技。它们感兴趣的内容也不相同。 经过各种测量&#xff0c;每个机器人都会报告…

练习2——顺序表

//实现顺序表基本功能&#xff0c;然两个顺序表相并 #include <iostream> #include <stdlib.h> using namespace std; typedef int T; class SeqList{T *data;int MaxSize;int last; public:SeqList(int sz);~SeqList(){delete [] data;}int Length() const {retur…

docker占满linux磁盘根目录的解决办法

一、磁盘根目录被占满 [testlocalhost docker]$ df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 0G 100% / devtmpfs 7.7G 0 7.7G 0% /dev tmpfs 7.8G 0 7.8G 0…

蓝桥杯第八届省赛JAVA真题----包子凑数

标题&#xff1a;包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼&#xff0c;其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼&#xff0c;可以认为是无限笼。 每当有顾客想买X个包子&#xff0c;卖包子的大叔就会迅速选出若干笼包子来&…

蓝桥杯第八届省赛JAVA真题----字母组串

标题&#xff1a;字母组串 由 A,B,C 这3个字母就可以组成许多串。 比如&#xff1a;”A”,”AB”,”ABC”,”ABA”,”AACBB” …. 现在&#xff0c;小明正在思考一个问题&#xff1a; 如果每个字母的个数有限定&#xff0c;能组成多少个已知长度的串呢&#xff1f; 他请好…

蓝桥杯第八届省赛JAVA真题----9数算式

标题&#xff1a;9数算式 观察如下的算式&#xff1a; 9213 x 85674 789314562 左边的乘数和被乘数正好用到了1~9的所有数字&#xff0c;每个1次。 而乘积恰好也是用到了1~9的所有数字&#xff0c;并且每个1次。 请你借助计算机的强大计算能力&#xff0c;找出满足如上要…

《剑指offer》第五十三题(数组中数值和下标相等的元素)

// 面试题53&#xff08;三&#xff09;&#xff1a;数组中数值和下标相等的元素 // 题目&#xff1a;假设一个单调递增的数组里的每个元素都是整数并且是唯一的。请编程实 // 现一个函数找出数组中任意一个数值等于其下标的元素。例如&#xff0c;在数组{-3, -1, // 1, 3, 5}中…

Mysql 外键创建失败原因

最近在学习PHP&#xff0c;在用mysql创建表的时候总是创建不出来&#xff0c;我用的是Navicat做的&#xff0c;虽然建不出来外键&#xff0c;但是会创建出来一个索引&#xff0c;后来才明白&#xff0c;一定要有了对应的索引才能创建外键。

shiro(1) 介绍

一、什么是shiro&#xff08;1&#xff09;属性&#xff1a;java框架&#xff08;2&#xff09;用途&#xff1a;身份验证、用户授权、加密、会话管理&#xff08;3&#xff09;优点&#xff1a;轻量、易用二、三大组件&#xff08;1&#xff09;subject&#xff1a;代表当前主…

PHP实现简单注册登录系统

目录结构如下&#xff0c;其中function文件夹下包含两个函数文件&#xff0c;uploads文件夹用于存放上传的文件。 注&#xff1a;博主使用的是php5&#xff0c;使用php7的小伙伴运行报错的话有一部分原因是新的语法造成的&#xff0c;修改成新语法就可以了 html页面 登录页面…

代码审计中的文件包含漏洞

0x00 背景 文件包含漏洞是php语言的一大特性。文件包含的意思是&#xff0c;服务器在执行PHP文件时&#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码并执行&#xff0c;这会为开发者节省大量的时间。而文件包含漏洞的出现在于服务器没有对要包含的来源文件进行审查&…

蓝桥杯第九届省赛JAVA真题----螺旋折线

标题&#xff1a;螺旋折线 如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y)&#xff0c;我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)3, dis(-2, -1)9 给出整点坐标(X, Y)&#xff0c;你能计算出dis(X, Y)…

JAVA-WEB开发环境和搭建

JAVA Web开发环境与搭建 一、下载安装JDK 1.配置jdk开发环境 JAVA_HOME 2.path 二、下载安装eclipse javaEE版本 三、安装部署tomcat 3.1、安装&#xff1a; 直接解压到指定目录即可。&#xff08;注&#xff1a;目录不要太深&#xff1b;目录不要有中文或空格&#xff09; 3.2…

Vue入门 ---- 简易留言板

##简述 初学vue&#xff0c;比Angular要简单易学一点&#xff0c;基本就是html代码json。这是第一个小的例子&#xff0c;用到了vue的几个常用方法&#xff0c;其中v-for的$index稍微有点迷惑&#xff0c;也影响了完成的速度&#xff0c;网上说是vue2.0已经取消了这种用法&…

Factors of Factorial AtCoder - 2286 (N的阶乘的因子个数)(数论)

Problem Statement You are given an integer N. Find the number of the positive divisors of N!, modulo 10^97. Constraints 1≤N≤10^3Input The input is given from Standard Input in the following format: NOutput Print the number of the positive divisors of N!,…

VS Code编译Python

一、想要编译Python我们首先要安装python&#xff0c;进入官网下载python3&#xff08;不要下载python2.7&#xff0c;不就之后就不会再使用低版本的python了&#xff09; 二、配置环境变量 三、在VS Code中添加插件&#xff0c;记得添加完点击重新加载插件&#xff0c;或…

JAVA学习笔记_五JAVA开发中的WEB前端技术

css 字体属性: font-size font-style font-family font-weight font 设置字体font-family时&#xff0c;中文、英文字体设置时的顺序&#xff0c;英文在前中文在后&#xff1b; font-size&#xff1a;常用单位px&#xff0c;也用in、cm、mm、pt、pc&#xff0c;这几个简…

VS Code编译C/C++

C/C环境的配置要比python的复杂许多&#xff0c;好几个配置文件要写。 一、编译C/C的环境一般都是集成在我们的编辑器中的&#xff0c;如果电脑上有codeblock和dev c的读者可以去安装路径下找找MinGW文件夹&#xff0c;可以不用重复下载。而没有的读者则需要下载MinGW 二、配置…

H5的Video事件,控制方法,及监听

1.标签基本属性 src &#xff1a;视频的属性 poster&#xff1a;视频封面&#xff0c;没有播放时显示的图片preload&#xff1a;预加载autoplay&#xff1a;自动播放loop&#xff1a;循环播放controls&#xff1a;浏览器自带的控制条width&#xff1a;视频宽度 height&#xff…