P3131 [USACO16JAN]子共七Subsequences Summing to Sevens

题目描述

Farmer John's NN 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 \ldots 61…6, 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个数,求一个最长的区间,使得区间和能被7整除

输入输出格式

输入格式:

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

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

0 \ldots 1,000,0000…1,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: 复制

7
3
5
1
6
2
14
10

输出样例#1: 复制

5

说明

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

思路:前缀和+二分答案。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,l,r,mid;
int num[50010],sum[50010];
bool judge(){for(int i=0;i<=n-mid;i++)if((sum[i+mid]-sum[i])%7==0)    return true;return false;
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&num[i]),sum[i]=sum[i-1]+num[i];l=1;r=n;while(l<=r){mid=(l+r)/2;if(judge())    l=mid+1;else r=mid-1;}cout<<l-1;
}

80

思路:求出前缀和mod7,然后遍历,如果拥有相同的余数,说明这个区间是可以被7整除的记录。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 50010
using namespace std;
int n;
int pri[10],v[10];
int a[MAXN],sum[MAXN];
int main(){scanf("%d",&n);sum[0]=0;for(int i=1;i<=n;i++)scanf("%lld",&a[i]),sum[i]=(sum[i-1]+a[i])%7;for(int i=1;i<=n;i++){if(!v[sum[i]])v[sum[i]]=i,pri[sum[i]]=i;else    pri[sum[i]]=i;}int ans=-1;for(int i=0;i<7;i++){if(!v[i])    continue;ans=max(ans,pri[i]-v[i]);}printf("%d\n",ans);
}

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 50010
using namespace std;
int n;
int pri[10],v[10];
int a[MAXN],sum[MAXN];
int main(){scanf("%d",&n);sum[0]=0;for(int i=1;i<=n;i++)scanf("%lld",&a[i]),sum[i]=(sum[i-1]+a[i])%7;for(int i=1;i<=n;i++){if(!v[sum[i]])v[sum[i]]=i,pri[sum[i]]=i;else    pri[sum[i]]=i;}int ans=-1;for(int i=0;i<7;i++){if(!v[i])    continue;ans=max(ans,pri[i]-v[i]);}printf("%d\n",ans);
}

转载于:https://www.cnblogs.com/cangT-Tlan/p/7862498.html

洛谷 P3131 [USACO16JAN]子共七Subsequences Summing to Sevens相关推荐

  1. [USACO16JAN]子共七Subsequences Summing to Sevens

    题目描述 Farmer John's NNN cows are standing in a row, as they have a tendency to do from time to time. ...

  2. 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S

    文章目录 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S 一.题目 二.题解 题161.洛谷P3131 前缀和与差分-Subsequences ...

  3. 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S 题解

    洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S 题解 题目链接:P3131 [USACO16JAN]Subsequences Summing ...

  4. 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S

    题目链接:P3131 [USACO16JAN]Subsequences Summing to Sevens S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目大意: 看到英文题 ...

  5. 一中OJ #3509 七的倍数 [USACO Jan16,洛谷P3131] | 同余前缀和 | 解题报告

    一中OJ | #3509 七的倍数 [USACO Jan16 Silver , Subsequences Summing to Sevens] 时限 1000MS/Case 内存 128MB/Case ...

  6. P3131 [USACO16JAN]Subsequences Summing to Sevens S

    P3131 [USACO16JAN]Subsequences Summing to Sevens S 提交13.65k 通过3.63k 时间限制200ms 内存限制128.00MB 提交答案加入题单 ...

  7. 题目:P3131 [USACO16JAN]Subsequences Summing to Sevens S

    题目:[USACO16JAN]Subsequences Summing to Sevens S - 洛谷 题目大意 给定一个序列,要求计算出能被7整除的最长序列 坑点 无 数据范围 int足以 思路 ...

  8. [洛谷 P3788] 幽幽子吃西瓜

    妖梦费了好大的劲为幽幽子准备了一个大西瓜,甚至和兔子铃仙打了一架.现在妖梦闲来无事,就蹲在一旁看幽幽子吃西瓜.西瓜可以看作一个标准的球体,瓜皮是绿色的,瓜瓤是红色的,瓜皮的厚度可视为0.妖梦恰好以正视 ...

  9. P3131 [USACO16JAN]Subsequences Summing to Sevens S-二分+前缀和

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

最新文章

  1. 刘偲:AI+艺术 | 青源 Talk 第 11 期
  2. u-boot Makefile完全解读
  3. linux内核合并dtb文件,c – 如何修改内核DTB文件
  4. 关于sscanf与结构体不能联用的问题
  5. POJ_1151 Atlantis(线段树)
  6. 杂谈——杭州考驾照历程
  7. iview日期控件,双向绑定日期格式
  8. Oracle 存储过程错误之PLS-00201: 必须声明标识符
  9. [转载]AxureRP学习成长之路
  10. Java项目集成工作流引擎解决方案及实例展示(前后分离版)
  11. 常见3种视频加密原理知多少
  12. 【算法】汇总:求解π值的算法
  13. Android Studio调用python运行thensorflow模型--CLE方案实现
  14. Canvas 绘制点线相交
  15. 五个温度带的分界线_初中地理知识点:我国的温度带
  16. 表单二维码怎么做?二维码怎么统计信息?
  17. Unity捕鱼达人5-----鱼群的生成
  18. 如何用Python爬取股市数据,并进行数据可视化
  19. 数据分析案例 自行车公司
  20. 步步分析爬取知乎用户头像

热门文章

  1. 微信php示例代码,PHP判断手机端、PC端、微信示例代码分享
  2. 不同数据集格式转换处理
  3. Android图片加载出现色带
  4. pygame学习手册(三):精灵与碰撞检测
  5. 随书光盘下载器/工具
  6. 用Python爬去今日头条美女图片
  7. 第43届金马颁奖礼结束,郭富城连庄金马影帝创历史!
  8. 中小型企业网络局域网实例-拓扑与规划
  9. Docker部署Angular+Nginx+uwsgi+Django项目
  10. HotSpot(三):PV值计算