5065: 最长连续子序列  

Time Limit(Common/Java):1000MS/3000MS     Memory Limit:65536KByte
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: 最长连续子序列的更多相关文章

  1. 【TOJ 5065】最长连续子序列(前缀和)

    Description 给定一系列非负整数,求最长的连续子序列,使其和是7的倍数. Input 第一行为正整数N(1<=N<=50000),接下来有N行,每行有一个非负整数,所有整数不大于 ...

  2. 最长连续子序列 Longest Consecutive Sequence

    2018-11-25 16:28:09 问题描述: 问题求解: 方法一.如果不要求是线性时间的话,其实可以很直观的先排序在遍历一遍就可以得到答案,但是这里明确要求是O(n)的时间复杂度,那么就给了一个 ...

  3. POJ2479(最长连续子序列和)

    Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37035   Accepted: 11551 Des ...

  4. HDU1231 最长连续子序列

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  5. leetcode 128. 最长连续子序列

    题目描述: 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入:[100, 4, 200, 1, 3, 2] 输出:4 即最长的连续序列为 [1,2, ...

  6. hdu1231 最长连续子序列和

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, N ...

  7. 最长连续子序列(dp,分而治之递归)

    5227: 最大子列和问题 时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte 总提交: 76            测试通过:46 描述 给定KK个整数组 ...

  8. HDU 3308 线段树单点更新+区间查找最长连续子序列

    LCIS                                                              Time Limit: 6000/2000 MS (Java/Oth ...

  9. BNUOJ 4215 最长公共连续子序列

    最长公共连续子序列 Time Limit: 1000ms Memory Limit: 65536KB   64-bit integer IO format: %lld      Java class ...

随机推荐

  1. MyBatis的数据库操作

    MyBatis的数据库操作 大学毕业有一段时间了,作为一名没有任何开发工作经验的大专毕业生想找到一份软件开发的工作确实很难,但我运气还算不错,应聘上一份java web开发的工作.作为一名新人,老板给 ...

  2. 微信支付v3开发(5) 扫码并输入金额支付

    关键字:微信支付 微信支付v3 动态native支付 统一支付 Native支付 prepay_id 作者:方倍工作室 本文介绍微信支付下的扫描二维码并输入自定义金额的支付的开发过程. 注意 微信支付 ...

  3. 【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统

    本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎 ...

  4. Spring IOC模块的简单介绍

    首先,本人正在学习spring,这是一点心得体会,所以本文中会有不足.错误之处,欢迎各位大佬进行指点. 其次对于框架而言,知道反射是很重要,所以建议在学会反射了后在去看看框架. Spring:是企业级 ...

  5. Django 模型ORM

    from django.db import models # Create your models here. class Book(models.Model): nid = models.AutoF ...

  6. iCheck获取单选和复选框的值和文本

    //获取单选和复选框的值//parameters.type:"radio","checkbox"//parameters.name:input-name//pa ...

  7. class extension、class category、class-continuation category

    class extension Objective-C 2.0增加了class extensions用于解决两个问题: 允许一个对象可以拥有一个私有的interface,且可由编译器验证. 支持一个公 ...

  8. PAT 乙级 1005

    题目 题目地址:PAT 乙级 1005 题解 本题主要就在于将一个数的一系列计算结果不重复地存储起来并便于检索,考虑到STL中的集合有相似的特性,使用set可以有效地简化代码和运算. 过程如下: (初 ...

  9. Spring中使用注解 @Scheduled 执行定时任务

    来自:http://blog.51cto.com/dwf07223/1557145 注解@Scheduled 可以作为一个触发源添加到一个方法中,例如,以下的方法将以一个固定延迟时间5秒钟调用一次执行 ...

  10. a标签中javascript和void

    <body> <a href="javascript:;">点了无反应</a> <a href="javascript:void ...