P3131 [USACO16JAN] Subsequences Summing to Sevens S Python题解

devtools/2024/10/18 12:29:39/

[USACO16JAN] Subsequences Summing to Sevens S

题目描述

Farmer John’s N N N cows are standing in a row, as they have a tendency to do from time to time. Each cow is labeled with a distinct integer ID number so FJ can tell them apart. FJ would like to take a photo of a contiguous group of cows but, due to a traumatic childhood incident involving the numbers 1 … 6 1 \ldots 6 16, he only wants to take a picture of a group of cows if their IDs add up to a multiple of 7.

Please help FJ determine the size of the largest group he can photograph.

给你n个数,分别是a[1],a[2],…,a[n]。求一个最长的区间[x,y],使得区间中的数(a[x],a[x+1],a[x+2],…,a[y-1],a[y])的和能被7整除。输出区间长度。若没有符合要求的区间,输出0。

输入格式

The first line of input contains N N N ( 1 ≤ N ≤ 50 , 000 1 \leq N \leq 50,000 1N50,000). The next N N N

lines each contain the N N N integer IDs of the cows (all are in the range

0 … 1 , 000 , 000 0 \ldots 1,000,000 01,000,000).

输出格式

Please output the number of cows in the largest consecutive group whose IDs sum

to a multiple of 7. If no such group exists, output 0.

样例 #1

样例输入 #1

7
3
5
1
6
2
14
10

样例输出 #1

5

提示

In this example, 5+1+6+2+14 = 28.

题解

准备国庆假期了,脑子也变得不太好使,这种题我居然没有第一时间想到答案,非常难受。因为脑子进水了,所以我看了别人C++的题解,看到:

( A − B ) m o d n u m ≡ 0 (A-B) \bmod num \equiv 0 (AB)modnum0
等价于
A ≡ B m o d n u m A\equiv B \bmod num ABmodnum

唉,这个同余定理这么常用,为什么我时不时就把它给忘记呢?

大家可以去参考一下大佬的题解:题解 P3131 【[USACO16JAN]子共七Subsequences Summing to Sevens】

这里给出对应的Python代码:

python">def Solution2():N = int(input())Prefix = 0yvshu = {i: [] for i in range(7)}for i in range(N):Prefix += int(input())yvshu[Prefix%7].append(i+1)ans = max(yvshu[0]) if yvshu[0] else 0for key in yvshu.keys():if len(yvshu[key]) > 1:ans = max(ans, yvshu[key][-1] - yvshu[key][0])print(ans)Solution2()

在这里插入图片描述
关于上面那个定理的题我还可以提供一题:
Ringo’s Favorite Numbers 2


http://www.ppmy.cn/devtools/119763.html

相关文章

Android常用C++特性之std::find_if

声明:本文内容生成自ChatGPT,目的是为方便大家了解学习作为引用到作者的其他文章中。 std::find_if 是 C 标准库中的一个算法,用于在给定范围内查找第一个满足特定条件的元素。它接受一个范围(由迭代器指定)和一个谓词…

HashMap为什么线程不安全?如何实现线程安全

HashMap线程不安全的原因主要可以从以下几个方面解释: 1. 数据覆盖 假设两个线程同时执行put操作,并且它们操作的键产生相同的哈希码,导致它们应该被插入到同一个桶中。以下是可能发生的情况: 线程A读取桶位置为空,准…

pytorch之自动求导

在 PyTorch 的 autograd 功能中,主要有几个核心概念和操作: 1. torch.Tensor 和 .requires_grad 属性 torch.Tensor: 这是 PyTorch 中的核心数据结构,类似于 NumPy 数组,但也可用于 GPU 加速计算。.requires_grad: 这是 Tensor …

Web3Auth 如何工作?

Web3Auth 用作钱包基础设施,为去中心化应用程序 (dApp) 和区块链钱包提供增强的灵活性和安全性。在本文档中,我们将探索 Web3Auth 的功能,展示它如何为每个用户和应用程序生成唯一的加密密钥提供程序。 高级架构 Web3Auth SDK 完全存在于用…

大数据毕业设计选题推荐-国潮男装微博评论数据分析系统-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

SysML案例-停车场

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>>

【测试】混沌工程

文章目录 混沌工程的核心理念混沌工程的主要目标混沌工程的实施步骤混沌工程的工具和技术应用场景 混沌工程(Chaos Engineering)是一种系统性的方法,通过主动引入故障(如服务中断、网络延迟、资源耗尽等)来测试系统的健壮性和弹性。其目的是评…

SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS

一、本地上传 概念&#xff1a;将前端上传的文件保存到自己的电脑 作用&#xff1a;前端上传的文件到后端&#xff0c;后端存储的是一个临时文件&#xff0c;方法执行完毕会消失&#xff0c;把临时文件存储到本地硬盘中。 1、导入文件上传的依赖 <dependency><grou…