在线算法
2020-04-06 07:18
260 查看
理解:在开始的时候不知道全部的输入,实时的根据每加入的一个数据改变给出的结果,“在线”
相对而言,离线算法就是一开始记录所有的输入,一次性给出结果
同样是最大子序列问题:
和前面那个动态规划算法的思路有部分类似:
从前往后一次累加,如果是负数,则归零,并记录在该过程中的最大值。
原因:遇到负数-让后面的部分变小了
写的有一点乱,题目PAT A1007,第4个测试点还是没过,等我找到原因了再来。
#include <stdio.h> #define MAX 10010 int array[MAX]; int tempfirst; int max,first,last; int main(){ int num; int flag=0; int sum=0; max=-1; tempfirst=1; first=1; scanf("%d",&num); for(int i=0;i<num;i++){ scanf("%d",&array[i]); sum+=array[i]; if(sum<0){ sum=0; flag=1; continue; }if(flag){ tempfirst=array[i]; flag=0; } if(sum>max){ first=tempfirst; max=sum; last=array[i]; } } if(max<0){ printf("0 %d %d",array[0],array[num-1]); }else{ printf("%d %d %d",max,first,last); } return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- hdu 2586 How far away ? 最近公共祖先lca 在线算法(倍增法)/离线算法(Tarjan算法)
- lca 在线算法 zoj 3195
- 算法课堂笔记6—在线算法
- POJ 1330 Nearest Common Ancestors (LCA,倍增算法,在线算法)
- POJ 1986 - Distance Queries(LCA‘ 在线算法RMQ)
- 在线算法学习网站
- 在线算法和离线算法的概念
- LCA转RMQ 在线算法模板
- 蓝桥杯历届试题——最大子阵(矩阵在线算法)
- HDU 2586 How far away ? (Lca最近公共祖先 在线算法)
- hihoCoder 1069 最近公共祖先 在线算法
- 在线算法交互、可视化与演示及应用(caffe 网络配置文件 .prototxt 的可视化)
- hdu2586(LCA的一个例子,在线算法RMQ)
- LCA 在线算法 dfs + ST算法 总结 hihocoder 1069
- hdu2586 LCA入门(在线算法ST)
- How far away ?(LCA 在线算法RMQ)
- hdu 3078(LCA的在线算法)
- 辨析离线算法与在线算法
- Distance Queries(LCA 在线算法 RMQ)
- 在线算法与数据结构