jzoj_1371 假期

2024-01-30 05:08
文章标签 假期 jzoj 1371

本文主要是介绍jzoj_1371 假期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

题意:

奶牛们可以放假了,假期可以在1~n天中选一段连续的,既不能大于q也不能小于p,每天都有一个享受值w,求它们在假期里最多能获得多少享受值。

思路:

用f[i][0]记录前缀和,之后的步骤和1370差不多,最后从[i+p-1...min(n,i+q-1)]中求出最大值并减去f[i-1][0],因为这里用的是前缀和。

代码:

#include<cstdio>
#include<cmath>
long long ans,f[100001][20],x;//要用long long
int n,p,q;
long long max(long long x,long long y){return x>y?x:y;}
long long min(long long x,long long y){return x<y?x:y;}
long result(int x,int y)
{long long z=(long long)(log(y-x+1)/log(2));return max(f[x][z],f[y+1-(1<<z)][z]);
}
int main()
{scanf("%d%d%d",&n,&p,&q);for (int i=1;i<=n;i++)scanf("%lld",&f[i][0]),f[i][0]+=f[i-1][0];//f[i][0]存i的前缀和for (int j=1;1<<j<=n;j++) for (int i=1;i+(1<<j)-1<=n;i++){f[i][j]=max(f[i][j-1],f[i+(1<<j-1)][j-1]);//RMQ}ans=-2147483647;for (int i=1;i<=n-p+1;i++){ans=max(ans,result(i+p-1,min(n,i+q-1))-f[i-1][0]);//找最大值}printf("%lld",ans);
}


这篇关于jzoj_1371 假期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659186

相关文章

五一假期出行必备的高科技手册

今天小编看了眼朋友圈,发现无节操的同学真是太多了,你们出去玩就好了,为啥要发图呢……各种晒,简直要虐死上班狗啊。 不过掐指一算,小编期盼已久的五一马上就要来了。抱着拯救同样期待假期出行同胞们的想法,小编给大家准备了一份出行旅游必备的高科技手册,助大家防火防水防(yi)搭(yue)讪( pao),下面将会开启高(zhuang)冷(BI)模式,如有雷同,纯属故意。 攻略篇 攻略在手,说走就走。

2014假期学习安排和感触

马上放假了,终于有一大块清净的时间留给自己了,一年多的研究生生活感慨良多,有负能量的东西,但是更多的是积极的东西。非要说个最有意义的,我觉得是学会思考了吧,该去做什么,不该去做什么,这个东西是有帮助的,那个是在走弯路。我想我们更应该把握时间!   研二上学期的半年接触了不少东西,自己现在做的东西是和FPGA有关的,一开始对Verilog or VHDL根本就没接触过,更别说这个叫做FPGA的

假期学习----iOS多线程

iOS多线程 https://juejin.cn/post/6844903566398717960 什么是GCD Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法。它主要用于优化应用程序以支持多核处理器以及其他对称多处理系统。 GCD的用处: GCD 可用于多核的并行运算;GCD 会自动利用更多的 CPU 内核(比如双核、四核);

Jzoj 条件循环(while,do while) 部分代码(共25题)

1020: 【入门】编程求1+3+5+...+n #include <bits/stdc++.h>using namespace std;int n, sum;int main() {scanf("%d", &n);for(int i=1; i<=n; i+=2){sum+=i;} printf("%d", sum);return 0;} 1012: 【入门】两数比大小 #i

Jzoj 二维数组部分代码(共13题)

2788: 【入门】二维数组的输入输出 边输入边输出 #include <bits/stdc++.h>using namespace std;int n, m, a[11][11];int main(){scanf("%d %d", &n, &m);//边输入边输出for(int i=1; i<=n; ++i){for(int j=1; j<=m; ++j){scanf("%d", &

【数据结构-前缀异或和】力扣1371. 每个元音包含偶数次的最长子字符串

给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = “eleetminicoworoep” 输出:13 解释:最长子字符串是 “leetminicowor” ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。 示例 2: 输入:s = “leetcodei

力扣1371.每个元音包含偶数次的最长子字符串

力扣1371.每个元音包含偶数次的最长子字符串 状态压缩 + 前缀和 用一个二进制的五位数存每种元音字母的出现次数同时记录每种情况第一次出现的下标 class Solution {public:int findTheLongestSubstring(string s) {vector<int> pre(32,INT_MAX);pre[0] = -1;int n = s.size();in

2022年假期总结

1月30号早上6:30,在闹铃声中,匆匆忙忙起床洗漱打车,火急火燎的赶到北京西站, 检票进站,在7:09之前,登上了火车。睡了一路,9点多到了邯郸,然后转车等车堵车,11点多赶到了家。中午吃了豆芽包子,下午陪着5个孩子去洗澡,晚上早早睡觉了。      1月31日,早上起床后和爸爸一起贴春联,吃完饭后开始包饺子,中午吃完饺子,开始 打扫卫生,锅碗瓢盆厨房用品,收拾院子屋子。晚上一

【报告分享】2021年五一假期出行预测报告-百度地图(附下载)

摘要:据预测,今年五一小长假全国范围内的人口迁徙会较早启动。从4月30日开始,全国人口迁徙规模将迅速攀升,并于假期首日迎来去程人口迁徙的最高峰。随后人口迁徙趋势将有所回落,但仍保持较高水平。受返程出行需求集中等因素影响,返程人口迁徙最高峰预计将出现在5月5日。   来源:百度地图 如需查看完整报告和报告下载或了解更多,公众号:行业报告智库 今日报告分享 202

【报告分享】2021年五一假期出行预测报告-高德地图(附下载)

摘要:“五一”小长假临近,今年五一黄金周,全国高速拥堵预计较去年同期增长超过10%,或将成为“史上最堵五一”。受高速免费通行及出行需求集中的影响,预计2021年5月1日(假期第一天)将迎来高速出程拥堵高峰,5月2日至4日全国高速拥堵程度整体将均处于较高水平,5月5日(假期最后一天)为高速返程拥堵高峰,5月6日高速路况恢复正常。 来源:高德地图 如需查看完