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整除。输出区间长度。若没有符合要求的区间,输出0。
思路:原本想从长度为n,n-1,n-2……2,1 这样暴力搜索一下,但是最坏情况是O(n^2),果然超时了
于是可以考虑用二分,见代码
#include <bits/stdc++.h>
using namespace std;
#define de(x) cout<<x<<" ";
#define Pu puts("");
#define sf(x) scanf("%d",&x);
typedef long long ll;
const int N=1e6+10,mod=100003;
const int inf=0x3f3f3f3f;
int a[N],pre[N];
int n,m,ans;
int fun(int len){int t;for(int i=len;i<=n;i++){t=(pre[i]-pre[i-len]+7)%7;if(t==0) return 1;}return 0;
}
int main(){cin>>n;int x;for(int i=1;i<=n;i++){sf(x)a[i]=x%7;pre[i]=(pre[i-1]+a[i])%7;}int l=0,r=n+1,mid;while(l<r){mid=(l+r)>>1;if(fun(mid)) l=mid+1;else r=mid;}printf("%d\n",l-1);return 0;
}
P3131 [USACO16JAN]Subsequences Summing to Sevens S-二分+前缀和相关推荐
- 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 题解
洛谷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) 题目大意: 看到英文题 ...
- 题目:P3131 [USACO16JAN]Subsequences Summing to Sevens S
题目:[USACO16JAN]Subsequences Summing to Sevens S - 洛谷 题目大意 给定一个序列,要求计算出能被7整除的最长序列 坑点 无 数据范围 int足以 思路 ...
- 洛谷 P3131 [USACO16JAN]子共七Subsequences Summing to Sevens
P3131 [USACO16JAN]子共七Subsequences Summing to Sevens 题目描述 Farmer John's NN cows are standing in a row ...
- 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S
文章目录 题161.洛谷P3131 前缀和与差分-Subsequences Summing to Sevens S 一.题目 二.题解 题161.洛谷P3131 前缀和与差分-Subsequences ...
- [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. ...
- P1083 借教室(标记永久化线段树/二分+前缀和)难度⭐⭐⭐★
P1083 借教室 标记永久化线段树 很典型的区间修改问题,先输入赋值建树(这就是最典型的线段树呀,别忘了),然后修改 这里问的是是否有足够的空教室,所以线段树中 min 代表的是当前区间内最小的剩余 ...
- POJ 3061 (二分+前缀和or尺取法)
题目链接: http://poj.org/problem?id=3061 题目大意:找到最短的序列长度,使得序列元素和大于S. 解题思路: 两种思路. 一种是二分+前缀和.复杂度O(nlogn).有点 ...
最新文章
- 学python要多少钱-培训python大概要多少钱?
- Javascript闭包概念剖析
- 零基础入门语义分割——Task2 数据扩增
- 若依可以商用吗_商用自动炒菜机Qamp;A,你想知道的都在这里!
- Unity 安装失败原因
- 2019 CSP-S第二轮认证一等奖获奖名单
- 多个excel工作簿合并_如何使用Excel VBA将多个工作簿的全部工作表合并到一个工作簿中...
- Thinkpad E430c使用u盘安装系统
- 如何使用html实现在线秒表,javascript实现一款好看的秒表计时器
- PMP考试计算题专题
- android系统10.0模拟器,exagear模拟器安卓10.0
- 经典Robocode例子代码--SnippetBot
- 平时用电脑需要注意什么
- Spring MVC @GetMapping和@PostMapping注解的使用
- 公司没大牛带,需要离职么?
- 如何看服务器电源型号,AcBel CRPS 服务器电源系列介绍
- css border边框不占外边的边距
- Redis有事务冲突吗
- 大数据算法系列10:字符串检验算法
- R统计绘图 | 物种组成堆叠面积图(绝对/相对丰度,ggalluvial)