当前位置: 首页 > news >正文

前缀和算法差分算法(4)——习题简述(1)

1.4 习题思路简述

本节将给出以下题的题解:

  1. P3131 Subsequences Summing to Sevens S、
  2. P1719 最大加权矩形
  3. P2879 Tallest Cow S
  4. P1314 聪明的质监员

在这里建议每道题都认真思考,习题题解只是简单表明一下思路,不会和例题一样具体

1.4.1P3131 Subsequences Summing to Sevens S

题意简述

n nn个编号各不相同的奶牛(我们最熟悉的Farmer John和他的天天排成一排nz有点不正常的奶牛们)排成一排,要求找到最长的区间[ l , r ] [l,r][l,r],使∑ i = l r i d [ i ] \sum_{i=l}^r id[i]i=lrid[i]的值为7 77的倍数

算法分析

值为7 77的倍数,也就意味着区间和是7 77的倍数,同余的性质不是显而易见的吗?
a % n + b % n = ( a + b ) % n a\%n+b\%n=(a+b)\%na%n+b%n=(a+b)%n,其中%符号就是取模的意思,那么,要判断∑ i = l r i d [ i ] \sum_{i=l}^r id[i]i=lrid[i]是否是7 77的倍数,只需要判断p r e [ l − 1 ] % 7 pre[l-1]\%7pre[l1]%7是否等于p r e [ r ] % 7 pre[r]\%7pre[r]%7即可。

既然如此,我们不妨每走一步,都对7 77取模,接下来找到每个余数第一次和最后一次出现的位置,计算区间长度,选择最长的即可。

此处尤其注意:0 00是个特殊的余数,0 00不用管什么时候第一次出现,只需要找到最后一次出现的位置即可(想一想,为什么)。

上面的内容已经足够详尽了,应该足以写出代码了。

代码位置:1\problems\P3131.cpp

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;#define_for(i,n)for(inti=1;i<=n;i++)#define_rep(i,a,b)for(inti=a;i<=b;i++)#defineendl'\n'constintmaxn=5e4+10;inta[maxn],pre[maxn];intfst[7],lst[7];// 第一次和最后一次出现索引对应数的位置(first,last)intmain(){// 初始化数组memset
http://www.jsqmd.com/news/1351966/

相关文章:

  • 3分钟快速上手:ncmdump终极指南 - 轻松解密网易云音乐NCM格式
  • 昆明武术学校家长择校攻略:招生条件及报名流程详细说明 - 圣龙武术朱老师
  • AI辅助CSS调试实战:用Gemini 3.5精准定位Flexbox、层叠上下文等五大难题
  • GitHub中文插件:3分钟告别英文界面的终极解决方案
  • 3种方法完美优化你的Windows任务栏视觉体验
  • 深入解析Cache地址映射:从直接映射到组相联,提升程序性能的关键
  • 重庆江津区江南职教中心2026年招生简章——实习期间就被企业直接留用的专业 - 学习招生
  • 技术架构解析:VideoDownloadHelper 浏览器视频下载方案实现
  • 每日英语-6
  • Unity音频内存优化:从导入设置到运行时管理的完整指南
  • 5分钟上手!免费在线EPUB编辑器EPubBuilder完全指南
  • Unity贝塞尔曲线插件UnityBezierSolution常见问题与优化方案
  • STM32 ADC 注入通道实战:给紧急采样开一条 VIP 通道
  • 重庆仪表工业学校2026年招生简章——重庆市教育委员会直属的公办国家级重点中等职业学校 - 学习招生
  • Linux进程池架构设计与高性能优化实践
  • ComfyUI-Manager终极指南:5分钟构建你的AI工作流管理平台
  • 如何快速优化Windows内存性能:终极内存管理工具Mem Reduct完全指南
  • msfvenom生成apk后门,实现远程操控
  • 【项目编号:project10199】Node.js + Koa + 微信小程序实战:高校请假系统,学生与教师审批流程一体化
  • 篇02_SELECT_FROM_WHERE_基础查询
  • 进程互斥锁原理与实战:解决数据竞争的关键技术
  • 终极指南:3步学会用ncmdump免费解锁网易云音乐NCM格式
  • 内江本地防水补漏如何挑选?屋顶/卫生间/外墙/地下室/阳台漏水检修实测(2026年8月新) - 北京金修达天津维修部
  • vSphere 9.1 ZTP零接触部署实操:华硕NUC15 Pro完整落地教程(混合CPU PSOD修复)
  • Kali Linux国内镜像源配置全攻略:解决apt update慢与报错问题
  • Qt QLabel控件深度解析:从基础文本显示到高级动态界面开发
  • iperf3 Windows终极指南:5步快速完成专业网络性能测试
  • 01 机器学习到底是什么?从基本概念到第一个预测模型
  • 3个核心问题解决:NVIDIA Profile Inspector如何彻底改变你的显卡使用体验
  • 如何用5分钟搭建你的围棋AI教练:LizzieYzy让围棋复盘变得如此简单