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

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

[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代码:

def Solution2():
    N = int(input())
    Prefix = 0
    yvshu = {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 0
    for 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.kler.cn/news/326444.html

相关文章:

  • idea使用技巧与插件推荐
  • 序列化方式五——ProtoStuff
  • JSON 教程
  • 什么Python库处理大量数据比较快?
  • Oracle 性能优化的高频面试题及答案
  • MySQL和Doris开窗函数LAG执行时的区别
  • PHP入门必看:从基础语法到实际应用,一文掌握Web开发的必备技能!
  • X-Spreadsheet:Web端Excel电子表格工具库
  • “AI+Security”系列第3期(五):AI技术在网络安全领域的本地化应用与挑战
  • 使用 Colly 在 Golang 中进行网页抓取的步骤
  • Rust Web自动化Demo
  • 《动手学深度学习》笔记2.4——神经网络从基础→进阶 (文件读写-保存参数和模型)
  • 堆的数组实现
  • nginx的安装和使用
  • 网页前端开发之Javascript入门篇(1/9):变量
  • 千益畅行,旅游创业新模式的创新与发展
  • 【Python报错已解决】ModuleNotFoundError: No module named ‘tensorflow‘
  • [每周一更]-(第117期):硬盘分区表类型:MBR和GPT区别
  • Windows开发工具使用技巧大揭秘:让编码效率翻倍的秘籍!
  • 软件设计之SSM(3)
  • SpringBoot中各种O的分层模型
  • 16 数组——18. 四数之和 ★★
  • 6种MySQL高可用方案对比分析
  • CleanMyMac X v4.12.1 中文破解版 Mac优化清理工具
  • 10个降低性能的SQL问题及改进措施
  • Leetcode面试经典150题-201.数字范围按位与
  • oracle 分表代码示例
  • FiBiNET模型实现推荐算法
  • qiankun自定义数据通信方案
  • Json files to Excel - Python