NYOJ983 首尾相连数组的最大子数组和 + NYOJ754 蚂蚁的难题(二) (思路题)
来源:互联网 发布:windows系统购买 编辑:程序博客网 时间:2024/06/05 03:09
NYOJ983 http://acm.nyist.net/JudgeOnline/problem.php?pid=983
看完题就想着把数组扩大二倍存下a[i+n]=a[i],然后求连续子序列最大和时标记下位置,让长度不超过n,交上去wa,感觉没有想法错,然后就问了队友怎么做,她是求了个连续子序列的最大和,最小和,比较sum-min和max取个最大的,这样确实不错,但还是不知道自己的想法错哪里了,就去看了下讨论区,大家都是这样的写法,看到有人说和 754 蚂蚁的难题(二) 差不多就看了下,这题的第一个样例都过不了瞬间发现哪里错了,也没法改,看来想法不可行。
这两题思路很好:求个连续最大和,连续最小和(总和-连续最小和=除去连续最小和那段其他首尾相连的和),比较下去最大即可,
code:
#include<stdio.h>#include<string.h>#include<algorithm>#define inf 0x3f3f3f3fusing namespace std;int a[200005];int main(){ int n; while(~scanf("%d",&n)) { for(int i=0; i<n; i++) { scanf("%d",&a[i]); } int sum=0,minn=inf,maxx=0; for(int i=0; i<n; i++) { sum+=a[i]; if(sum<0) { sum=0; } maxx=max(maxx,sum); } sum=0; for(int i=0; i<n; i++) { sum+=a[i]; if(sum>0) { sum=0; } minn=min(minn,sum); } sum=0; for(int i=0; i<n; i++) { sum+=a[i]; } printf("%d\n",max(maxx,sum-minn)); }}
NYOJ754 蚂蚁的难题(二) http://acm.nyist.net/JudgeOnline/problem.php?pid=745
这题范围较大超出int要用long long 因为没注意wa了几遍,不过数据较水没考虑全为负的情况输出0或最大的都能过
0 0
- NYOJ983 首尾相连数组的最大子数组和 + NYOJ754 蚂蚁的难题(二) (思路题)
- 蚂蚁的难题(二) && 首尾相连数组的最大子数组和(nyoj 745 && nyoj 983)
- NYOJ983-首尾相连的最大子数组和(升级版子数组和)
- 南阳理工OJ_题目745 蚂蚁的难题(二)&&题目983 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和
- 数组的连续子数组最大和(首尾相连)
- 单调队列-首尾相连数组的最大子数组和
- 首尾相连数组的最大子数组和【单调队列】
- 题目1527:首尾相连数组的最大子数组和
- 用velocity代替jsp作为程序视图展示
- https原理:证书传递、验证和数据加密、解密过程解析
- Java封装
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 表单划过变换颜色
- NYOJ983 首尾相连数组的最大子数组和 + NYOJ754 蚂蚁的难题(二) (思路题)
- nginx原理介绍
- 功能强大的js选项卡
- 星星评分功能
- velocity基础教程--1.标准使用
- velocity基础教程--2自定义ResourceLoader实现字符模板
- 图论—深度优先和广度优先算法源码
- PAT乙级(Basic Level)真题 >到底买不买
- vi 操作指南