洛谷 P3131 [USACO16JAN]子共七Subsequences Summing to Sevens
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.
输入输出样例
7 3 5 1 6 2 14 10
5
说明
In this example, 5+1+6+2+14 = 28.
思路:前缀和+二分答案。
![](/assets/blank.gif)
![](/assets/blank.gif)
#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相关推荐
- [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. ...
- 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S
文章目录 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S 一.题目 二.题解 题161.洛谷P3131 前缀和与差分-Subsequences ...
- 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S 题解
洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S 题解 题目链接:P3131 [USACO16JAN]Subsequences Summing ...
- 洛谷P3131 [USACO16JAN]Subsequences Summing to Sevens S
题目链接:P3131 [USACO16JAN]Subsequences Summing to Sevens S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目大意: 看到英文题 ...
- 一中OJ #3509 七的倍数 [USACO Jan16,洛谷P3131] | 同余前缀和 | 解题报告
一中OJ | #3509 七的倍数 [USACO Jan16 Silver , Subsequences Summing to Sevens] 时限 1000MS/Case 内存 128MB/Case ...
- P3131 [USACO16JAN]Subsequences Summing to Sevens S
P3131 [USACO16JAN]Subsequences Summing to Sevens S 提交13.65k 通过3.63k 时间限制200ms 内存限制128.00MB 提交答案加入题单 ...
- 题目:P3131 [USACO16JAN]Subsequences Summing to Sevens S
题目:[USACO16JAN]Subsequences Summing to Sevens S - 洛谷 题目大意 给定一个序列,要求计算出能被7整除的最长序列 坑点 无 数据范围 int足以 思路 ...
- [洛谷 P3788] 幽幽子吃西瓜
妖梦费了好大的劲为幽幽子准备了一个大西瓜,甚至和兔子铃仙打了一架.现在妖梦闲来无事,就蹲在一旁看幽幽子吃西瓜.西瓜可以看作一个标准的球体,瓜皮是绿色的,瓜瓤是红色的,瓜皮的厚度可视为0.妖梦恰好以正视 ...
- 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整除.输出区间长度.若没有符 ...
最新文章
- 刘偲:AI+艺术 | 青源 Talk 第 11 期
- u-boot Makefile完全解读
- linux内核合并dtb文件,c – 如何修改内核DTB文件
- 关于sscanf与结构体不能联用的问题
- POJ_1151 Atlantis(线段树)
- 杂谈——杭州考驾照历程
- iview日期控件,双向绑定日期格式
- Oracle 存储过程错误之PLS-00201: 必须声明标识符
- [转载]AxureRP学习成长之路
- Java项目集成工作流引擎解决方案及实例展示(前后分离版)
- 常见3种视频加密原理知多少
- 【算法】汇总:求解π值的算法
- Android Studio调用python运行thensorflow模型--CLE方案实现
- Canvas 绘制点线相交
- 五个温度带的分界线_初中地理知识点:我国的温度带
- 表单二维码怎么做?二维码怎么统计信息?
- Unity捕鱼达人5-----鱼群的生成
- 如何用Python爬取股市数据,并进行数据可视化
- 数据分析案例 自行车公司
- 步步分析爬取知乎用户头像