2019.03.09 T2最大子序和

题面:
输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列使得整个序列的和最大。

最暴力的做法就是两重循环,不再赘述。
可以考虑用队列来优化。
在输入时就处理好前缀和存入数组s,利用两个变量标记队头和队尾。
利用数组q作为队列,其中存储的是下标。
从1循环到n:
先判断当前子序列长度是否大于m,如果是那么队首出队;
然后,若s[i]-s[q[head]]比当前答案大,更新答案;
接着,在队列不为空时,若s[i]<=s[q[tail]]则队尾出队;
最后,当前的i入队。

有些用词可能不恰当。

在虚拟机中搭建qduoj(一)——准备工作

https://www.cnblogs.com/stargazerzzh/p/10419976.html

为缩减篇幅,已略去ubuntu镜像下载、虚拟机(VirtualBox、VMware)安装等操作,若有疑问请搜索相关教程。

1、虚拟机系统安装

本教程使用Ubuntu16.04 server版本(desktop版也是可以的)。若使用Vm虚拟机,新建时先不要选择镜像,因为简易安装存在问题:

创建完毕后,手动挂载镜像:

接着启动虚拟机进行镜像安装,

语言选择英文!否则安装过程会出错(此server版本的bug);

过程中若询问配置,使用默认选项即可;安装耗时受到网速、主机性能等因素影响,约20分钟;

2、配置SSH服务

为了方便输入命令,我们将通过ssh连接ubuntu。

登录后执行:

# sudo apt-get install openssh-server

 

接着查询虚拟机ip:

# ip a

 

记录之:

3、通过SSH连接虚拟机

使用putty连接虚拟机:

提示:在putty中,按住左键选中内容后点击右键进行复制;在输入命令输入状态下点击右键为粘贴命令

新建连接:

成功:

到此,准备阶段完成。

若有疑问欢迎留言~