时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
语言限定: C(clang11), C++(clang++11), Pascal(fpc 3.0.2), Java(javac 1.8), Python2(2.7.3), PHP(7.4.7), C#(mcs5.4), ObjC(gcc 5.4), Pythen3(3.9), JavaScript Node(12.18.2), JavaScript V8(6.0.0), Sqlite(3.7.9), R(4.0.3), Go(1.14.4), Ruby(2.7.1), Swift(5.3), matlab(Octave 5.2), Pypy2(pypy2.7.13), Pypy3(pypy3.6.1), Rust(1.44), Scala(2.11.12), Kotlin(1.4.10), Groovy(3.0.6), TypeScript(4.1.2), Mysql(8.0)
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
题目描述
近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。
一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),
可以得到最多的连续胡杨树?
输入描述
N 总种植数量 1<=N<=100000 M 未成活胡杨数量 1<=M<=N M 个空格分隔的数,
本题考察数学建模和算法应用,要求在已知胡杨树存活情况的基础上,确定如何补种最多连续存活的胡杨树。题目提供输入包括总种植数量N、未成活数量M、未成活胡杨的编号以及可补种数量K,输出应为能获得的最长连续存活胡杨树数量。解题策略涉及滑动窗口算法,通过维护一个包含0个(死亡树)的子串,当子串中0达到K个时更新最大连续存活树长度。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



