TOJ 5065: 最长连续子序列
5065: 最长连续子序列

Total Submit: 140 Accepted:29
Description
给定一系列非负整数,求最长的连续子序列,使其和是7的倍数。
Input
第一行为正整数N(1<=N<=50000),接下来有N行,每行有一个非负整数,所有整数不大于10^6。
Output
如果存在连续子序列,其和为7的倍数,则输出子序列长度,如果不存在则输出0。
Sample Input
7
3
5
1
6
2
14
10
Sample Output
5
这个题很水?所以大神懒得讲他们的做法?不过这道题确实不难,也就是O(n)做法就可以过的,没有想到这种贪心
这个其实是同余的思想,就是余数相同相当于中间这段也是,只要记录这个余数最早和最晚出线的就是所求值
https://ac.nowcoder.com/acm/contest/91/L 这个题目数据水了,全是连续的,当然正解是DP,序列是不连续的,子串是连续的埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛
#include <stdio.h>
int a[];
int main(){
int n,i,j,k,p,m=;
scanf("%d",&n);
for(i=;i<=n;i++){
scanf("%d",&p);
a[i]=(a[i-]+p)%;
}
for(i=;i<;i++){
for(k=;k<=n;k++){
if(a[k]==i){
break;}
}
for(j=n;j>;j--){
if(a[j]==i){
break;}
}
if(j-k>m)m=j-k;
}
printf("%d",m);
return ;}
这份代码逻辑更好些
#include <stdio.h>
int a[],b[];
int main()
{
int n;
scanf("%d",&n);
int s=;
for(int i=; i<=n; i++)
{
int p;
scanf("%d",&p);
s=(s+p)%;
if(!a[s]&&s)a[s]=i;
b[s]=i;
}
int mi=;
if(b[])
mi++;
for(int i=; i<; i++)
{
if(b[i]-a[i]>mi)
mi=b[i]-a[i];
}
printf("%d",mi);
return ;
}
TOJ 5065: 最长连续子序列的更多相关文章
- 【TOJ 5065】最长连续子序列(前缀和)
Description 给定一系列非负整数,求最长的连续子序列,使其和是7的倍数. Input 第一行为正整数N(1<=N<=50000),接下来有N行,每行有一个非负整数,所有整数不大于 ...
- 最长连续子序列 Longest Consecutive Sequence
2018-11-25 16:28:09 问题描述: 问题求解: 方法一.如果不要求是线性时间的话,其实可以很直观的先排序在遍历一遍就可以得到答案,但是这里明确要求是O(n)的时间复杂度,那么就给了一个 ...
- POJ2479(最长连续子序列和)
Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 37035 Accepted: 11551 Des ...
- HDU1231 最长连续子序列
最大连续子序列 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- leetcode 128. 最长连续子序列
题目描述: 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入:[100, 4, 200, 1, 3, 2] 输出:4 即最长的连续序列为 [1,2, ...
- hdu1231 最长连续子序列和
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, N ...
- 最长连续子序列(dp,分而治之递归)
5227: 最大子列和问题 时间限制(普通/Java):1000MS/3000MS 内存限制:65536KByte 总提交: 76 测试通过:46 描述 给定KK个整数组 ...
- HDU 3308 线段树单点更新+区间查找最长连续子序列
LCIS Time Limit: 6000/2000 MS (Java/Oth ...
- BNUOJ 4215 最长公共连续子序列
最长公共连续子序列 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class ...
随机推荐
- echarts 添加Loading 等待。
capturedsDetailsEcharts: function(id) { if (!id) { id = mini.get("chnNameCaptureds").getVa ...
- Ubuntu 14.04 安装深度音乐的方法(下载速度极慢未成功)
原文地址:http://tieba.baidu.com/p/3023784357 由于14.04未提供gstreamer0.10-ffmpeg导致很多人安装深度音乐失败... 这里是安装方法: 1. ...
- ubuntu中wine下安装QQ
原文:http://jingyan.baidu.com/article/359911f55da27057fe0306d8.html 可以把win改成最新版
- 1099 字串变换 2002年NOIP全国联赛提高组
1099 字串变换 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 已知有 ...
- Yii2.0数据格式器
平时我们在写代码中,总是要写一个单独的文件来全局处理常用的数据格式.Yii2.0却很人性化,为我们内置了一套数据格式器. 1.格式化日期和时间 Yii::$app->formatter-> ...
- 最新深度ghost win7系统下载
深度技术ghost win7系统 64位快速安装版 V2016年2月,深度技术ghost win7 64位快速安装版在不影响大多数软件和硬件运行的前提下,已经尽可能关闭非必要服务,自动安装AMD/In ...
- ImportError: No module named flask.ext.wtf 解决方法
install pip install flask.ext.wtf
- Higher level thinking
「Higher level thinking」-- 出自 Ray Dalio 的<Principles>(PDF 原文:Principles by Ray Dalio) Higher le ...
- Ubuntu 16.04下Java环境安装与配置
首先下载linux下的安装包 登陆网址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...
- css布局--两列布局,左侧固定,右侧自适应(其中左侧要可以拖动,右侧水平滚动条)
(css布局所要实现的效果) 在前端面试中经常会被问到CSS布局,两列布局,左侧固定,右侧自适应.前几天去面试,遇到了这道题的升级版,要求左侧可拖动,右侧要有水平滚动条.拿到题目确实有些大脑短路,不知 ...