P3575-[POI2014]DOO-Around the world【环形dp】

正题

题目大意:https://www.luogu.org/problemnew/show/P3575


题目大意

一个环,上面有若干个点,若干个询问xxx
表示上一个降落点和下一个降落点距离不能超过xxx,然后求至少要降落多少次(起点可以任意)


解题思路

首先明显环形dpdpdp,然后断环成链,复制一份放到后面,预处理距离前缀和数组sumsumsum
然后考虑贪心设lastilast_ilasti数组,定义dpidp_idpi表示lasti∼i(i>n)last_i\sim i(i>n)lastii(i>n)这段范围的降落次数,然后优先飞最远。也就是jjjiii的最前的降落地点。因为jjj满足单调性,所以就可以O(n)O(n)O(n)的预处理出来(或者在dpdpdp的时候处理)。然后首先显然
dpi=dpj+1dp_i=dp_j+1dpi=dpj+1
然后因为计算上了dpjdp_jdpj,所以要从lastjlast_jlastj开始也就是
lasti=lastjlast_i=last_jlasti=lastj
然后当i−lasti>=ni-last_i>=nilasti>=n时就是答案了。


codecodecode

#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=2000100;
ll n,t,imp;
ll sum[N],dp[N],last[N];
void get_answer(ll l){if(l<imp){printf("NIE\n");return;}for(ll i=n+1,j=1;i<=2*n;i++){while(sum[i]-sum[j]>l) j++;dp[i]=dp[j]+1;last[i]=last[j];if(i-last[i]>=n){printf("%lld\n",dp[i]);return;}}
}
int main()
{scanf("%lld%lld",&n,&t);for(ll i=1;i<=n;i++){last[i]=i;scanf("%lld",&sum[i]);imp=max(imp,sum[i]);sum[i+n]=sum[i];sum[i]+=sum[i-1];}for(ll i=n+1;i<=2*n;i++)sum[i]+=sum[i-1];for(ll i=1;i<=t;i++){ll l;scanf("%lld",&l);get_answer(l);}
} 

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

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

相关文章

Spring Boot API 接口文档 Swagger 入门

转载自 芋道 Spring Boot API 接口文档 Swagger 入门 摘要: 原创出处 http://www.iocoder.cn/Spring-Boot/Swagger/ 「芋道源码」欢迎转载&#xff0c;保留摘要&#xff0c;谢谢&#xff01; 本文在提供完整代码示例&#xff0c;可见 https://github.com/YunaiV/SpringBoot-Lab…

ICanPay 统一支付网关

https://github.com/hiihellox10/ICanPay 统一支付网关。对原代码优化。支持NET46和NETSTANDARD2_0。支持支付宝&#xff0c;微信&#xff0c;银联支付渠道通过Web&#xff0c;App&#xff0c;Wap&#xff0c;QRCode方式支付。简化订单的创建、查询、退款跟接收网关返回的支付通…

2021未来职业规划以及对过去的总结

我已经好久没写博客了&#xff0c;记得上次写博客还是去年很久的时候&#xff0c;转眼间&#xff0c;打开csdn&#xff0c;有好多评论和私信&#xff0c;都没来得及回复。这段时间真的很忙&#xff0c;但也的确是我人生中比较重要的时刻&#xff0c;有选择&#xff0c;有犹豫&a…

P2834-能力测验【数论,整除分块】

正题 题目链接:https://www.luogu.org/problemnew/show/P2834 题目大意 求∑i1n∑j1m(n%i)∗(m%j)∗(i!j)\sum_{i1}^n\sum_{j1}^m(n\%i)*(m\%j)*(i!j)i1∑n​j1∑m​(n%i)∗(m%j)∗(i!j) 解题思路 ∑i1n(n%i)∗∑j1m(m%j)−∑i1min{n,m}(n%i)∗(m%i)\sum_{i1}^n(n\%i)*\sum_{…

使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)

引子这一篇文章将用一个完整的实例&#xff0c;给大家介绍如何基于dotnet core&#xff08;微软.NET的最新版本&#xff0c;支持跨平台&#xff0c;跨设备的应用开发&#xff0c;详情请参考 https://www.microsoft.com/net 开发一个Web API Service&#xff0c;并且利用Azure的…

如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步

转载自 如何基于Canal 和 Kafka&#xff0c;实现 MySQL 的 Binlog 近实时同步 近段时间&#xff0c;业务系统架构基本完备&#xff0c;数据层面的建设比较薄弱&#xff0c;因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统…

spring boot添加swagger步骤

在xml中添加如下代码 <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><dependency><groupId>io.springfox</groupId><…

P1332,nssl1316-血色先锋军【bfs】

正题 题目链接:https://www.luogu.org/problemnew/show/P1332 题目大意 对于每个领主求与最近的感染源的距离 解题思路 那么水还要我讲&#xff1f;&#xff1f;&#xff1f; codecodecode #include<cstdio> #include<algorithm> #include<queue> using …

采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)

前言之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看.ASP.NET Core之跨平台的实时性能监控ASP.NET Core之跨平台的实时性能监控(2.健康检查)今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控监控效果如下:SQL Server的…

Spring Boot 参数校验 Validation 入门

转载自 芋道 Spring Boot 参数校验 Validation 入门 本文在提供完整代码示例&#xff0c;可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-22 目录。 原创不易&#xff0c;给点个 Star 嘿&#xff0c;一起冲鸭&#xff01; 1. 概述 在想标题的时候&#xff0c;到底应该…

用turtle画皮卡丘

如何绘制皮卡丘 画左偏曲线函数 setheading属性的作用是什么&#xff1f; def radian_left(ang,dis,step,n):for i in range(n):disstep #dis增大stept.lt(ang) #向左转ang度t.fd(dis) #向前走dis的步长画右偏曲线函数 def radian_right(ang,dis,step,n):for i in range(n)…

nssl1317-灵魂分流药剂【分组背包,二维费用背包】

正题 题目大意 一个二维费用的分组背包 NoNoNo解题思路 codecodecode #include<cstdio> #include<algorithm> using namespace std; const int N110; int n,m,A,B,w[N],v[N],t[N],p[N],f[11][N][N]; int main() {scanf("%d%d%d%d",&n,&m,&…

Orchard Core一分钟搭建ASP.NET Core CMS

Orchard Core 是Orchard CMS的ASP.NET Core版本。Orchard Core是全新一代的ASP.NET Core CMS。官方文档介绍&#xff1a;http://orchardcore.readthedocs.io/en/latest/GitHub: https://github.com/OrchardCMS/OrchardCore下面快速开始搭建CMS新建项目打开VS2017 新建一个CMSWe…

在Linux系统上部署java web项目

将Spring boot项目打成jar包后放在服务器进行运行&#xff1a; 部署命令&#xff1a; nohup java -jar mybatis-0.0.1-SNAPSHOT.jar >output 2>&1 &查看进程&#xff1a; ps aux杀死服务器进程&#xff1a; kill -9 PID

nssl1318-地铁重组【dp】

正题 题目大意 n个东西依次进入一个容量为p的栈&#xff0c;求出栈的序列数量。 解题思路 设fi,jf_{i,j}fi,j​表示iii个已经进过栈了(不管还有没有出)&#xff0c;jjj个还在栈里。 首先是将现在这个进栈fi−1,j−1f_{i-1,j-1}fi−1,j−1​&#xff0c;然后是出栈fi,j1f_{i,…

面试:你说你精通Java并发,给我讲讲Java并发之J.U.C

转载自 面试&#xff1a;你说你精通Java并发&#xff0c;给我讲讲Java并发之J.U.C J.U.C J.U.C即java.util.concurrent包&#xff0c;为我们提供了很多高性能的并发类&#xff0c;可以说是java并发的核心。 J.U.C和CAS和Unsafe和AQS Concurrent包下所有类底层都是依靠CAS操…

.Net Core配置与自动更新

.Net Core 将之前Web.Config中的配置迁移到了appsettings.json文件中&#xff0c;并使用ConfigurationBuilder来读取这个配置文件。并可设置在配置文件变化以后&#xff0c;自动重新加载&#xff0c;这样可不用重启你的程序。12345var builder new ConfigurationBuilder().Set…

校园中介骗子

五一不回去就想着做个兼职&#xff0c;正好在学校群里看到了相关信息&#xff0c;就想丰富下自己的阅历。但是遇到了个黑心中介&#xff0c;专骗押金的。 我真的非常生气&#xff0c;不是说押金多少&#xff0c;而是这个行为&#xff0c;你发的信息上说的好的可以做一天&#x…

nssl1319-埃雷萨拉斯寻宝【SPFA,建图】

正题 题目大意 从第一列出发&#xff0c;到最后一列&#xff0c;然后可以传送到相同的魔法格里&#xff0c;经过不同的魔法格会损伤不同的生命(如果之前经过过就不会)。求最大剩余生命。 解题思路 因为相同的魔法格可以传送&#xff0c;所以你肯定不会回到相同的魔法格两次&a…

闲话权限系统的设计

一、权限的本质权限管理&#xff0c;首先要理清权限的本质&#xff1a;权限就是对受保护资源的有限许可访问。理解了权限的本质&#xff0c;就好谈权限的管理了。权限就是对受保护资源的有限许可访问--这句话包含两层含义&#xff1a;1&#xff0c;受保护的资源2&#xff0c;有…