同余前缀和

news/2025/1/19 16:36:50/文章来源:https://www.cnblogs.com/YP-L/p/18679685
 1 #include<iostream>
 2 using namespace std;
 3 
 4 /*
 5     原题地址:https://www.luogu.com.cn/problem/P3131
 6     农夫约翰的 \( N \) 头奶牛站在一排,就像它们时不时做的那样。每头奶牛都有一个唯一的整数ID号,
 7     这样农夫约翰可以区分它们。农夫约翰想要给一组连续的奶牛拍照,但由于他童年时的一次创伤事件涉及
 8     数字 1 到 6,他只会在奶牛的ID号之和是7的倍数时才拍照。
 9     请帮助农夫约翰确定他可以拍摄的最大奶牛组的大小。
10     
11 示例数据输入:
12     10
13     3 1 4 10 5 9 2 6 8 7
14 */
15 
16 int main() {
17     int a, b[100] = {0}, n, i, ans = 0;
18     int first[7] = {0, -1, -1, -1, -1, -1, -1}, last[7]={0};
19     cin >> n;    // 假设有十头牛,这里n输入10
20     for (i = 1; i <= n; i++) {
21         cin >> a;                //  将每一头牛的ID进行输入,可以参考上面的数据输入示例
22         b[i] = (a + b[i-1]) % 7;     // 初始化ID的同时,对每个前缀和进行模7的操作,也就是除以7的余数放b数组里面
23         if (first[b[i]] == -1)first[b[i]] = i;  // 记录每个模数第一次出现的位置,模数就是first数组的索引
24         last[b[i]] = i;        // 记录每个模数最后一次出现的位置
25     }
26     
27     for (i = 0; i < 7; i++)
28         if (first[i] != -1)
29             ans = (last[i] - first[i] > ans) ? (last[i] - first[i]) : ans;    // 获取最大长度
30     cout << ans << endl;
31     return 0;
32 }
同余前缀和

 

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

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

相关文章

1.MySql基础架构之SQL语句的执行

1.MySQL数据库的整体架构(i)连接器:连接器负责与客户端建立连接,获取权限、维持和管理连接。连接命令中的mysql是客户端工具,用来建立服务端连接。在完成经典的TCP握手后,连接器就要开始认证你的身份,这个时候用的就是你输入的用户名和密码。 ​ 如果用户名密码认证通过…

ATF引导启动流程整理-Part2:BL1引导启动流程整理

接上一章的介绍,本文详细整理一下 BL1 阶段的流程 Ch3: ATF启动流程 上面一章简单的介绍了 ATF的隔离和划分,下面就介绍一下使用 ATF 初始启动的流程。ARM v8的启动流程包含多个阶段,典型的官方定义的标志阶段包括 BL1、BL2、BL31、BL32、BL33,根据不同需求这些阶段可以添加…

推荐一款非常好用的在线 SSH 管理工具

前言 SSH工具在远程连接、文件传输、远程管理和增强安全性等方面发挥着重要作用,是我们开发人员和系统管理员不可或缺的工具。今天大姚给大家推荐一款非常好用的在线 SSH 管理工具:Xterminal。工具介绍 Xterminal一个好用的在线SSH、SFTP工具,支持跨平台(Windows、Linux、M…

代码随想录——动态规划背包问题总结

https://www.programmercarl.com/背包总结篇.html#听说背包问题很难-这篇总结篇来拯救你了

DASCTF --wp--web

1、Rank-lSsti的报错查询cycler没用被禁用,很常规的到达popen阶段{{cycler.__init__.__globals__.__builtins__[__import__](os).popen(ls).read()}}正常在浏览器中无法查看,使用pythonimport requestswith requests.Session() as session: url_phone = http://139.155.12…

动态规划——26单词拆分

这道题用代码随想录的解释有点牵强,第二层for循环和递推公式也没有说明白。代码 class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {unordered_set<string> set(wordDict.begin(),wordDict.end());//字典单词是物品,s是背包int …

使用Wireshark抓包工具

下载Wireshark: https://www.wireshark.org/ 选择要监听的网卡 用户界面数据包分层结构关于过滤器 分为 显示过滤器 和 捕获过滤器 显示过滤器:过滤已捕获的数据包,符合条件的进行显示 ip.addr == ip地址 # 过滤所有与该网站相关的数据包ip.addr == ip地址 && http …

【NodeJS渗透】提取和分析.asar文件的案例研究

免责声明 ⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!硬编码密钥(在SQLite中)和加密算法(在AesFormula.js文件中)信息泄露导致真实凭据被泄露 一、案例研究 本节案…

Spring,Spring Ioc,Bean详解

Spring框架Spring框架是Java应用最广的框架,其的成功来自于理念,并非是技术,其中几个理念非常重要,例如IoC(控制反转),AOP(面向切面编程)Spring的优势低耦合/低侵入(解耦)Spring通过IoC(控制反转)和DI(依赖注入)来实现低耦合高内聚声明式事务管理Spring基于AOP的方式,使其能够在…

远程桌面键盘记录器

针对远程桌面协议 (RDP) 相关进程的击键记录器,它利用键盘输入挂钩,允许其记录某些上下文中的击键(例如在 mstsc.exe 和 CredentialUIBroker.exe 中) 使用vs直接编译就可以了运行TakeMyRDP.exe打开mstsc,输入ip地址,输入账号密码密码直接显示出来,这个exe不需要高权限运行…

【nginx】Nginx重定向方法

Nginx重定向配置是一个功能强大且灵活的工具,可以根据具体需求实现各种重定向规则。 以下是对Nginx请求重定向配置方法的详细解析:1、基本概念 请求重定向是指当客户端向服务器发送一个请求时,服务器根据一定的规则将客户端的请求引导到另外一个URL的过程。在Nginx中,通过r…

利用mybatis拦截器记录sql,辅助我们建立索引(二)

背景 上一篇中讲述了mybatis的mapper初始化过程和执行过程,这篇再讲讲具体的拦截器的使用,以实现记录sql到持久化存储,通过分析这些sql,我们就能更方便地建立索引。 利用mybatis拦截器记录sql,辅助我们建立索引(一) 我本地项目的大概版本: spring boot版本2.7,mybatis版…