Luogu关卡2-6贪心(2017年10月)

Posted zhangwanying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Luogu关卡2-6贪心(2017年10月)相关的知识,希望对你有一定的参考价值。

任务说明:贪心就是只考虑眼前的利益。对于我们人生来说太贪是不好的,不过oi中,有时是对的。

P1181 数列分段Section I

给一个n个元素的数组,和一个数字m,问最少能把这个数组分成几段,每段的和小于等于m。

直接贪心。

第一次提交全WA。注意写法。这种题目一层循环就好了,写两层完全错。

第二次提交AC了。

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <vector>
 5 
 6 using namespace std;
 7 
 8 int main() {
 9     int ans = 0;
10     int n;
11     long long m;
12     cin >> n >> m;
13     vector<long long> vec(n);
14     for(int i = 0; i < n; ++i) {
15         cin >> vec[i];
16     }
17     int start = 0;
18     long long summ = 0;
19     for (int i = start; i < n; ++i) {
20         if (summ + vec[i] > m) {
21             ++ans;
22             summ = 0;
23             --i;
24         } else {
25             summ += vec[i];
26         }
27     }
28     if (summ != 0) {
29         ++ans;
30     }
31     cout << ans << endl;
32     return 0;
33 }
View Code

 

以上是关于Luogu关卡2-6贪心(2017年10月)的主要内容,如果未能解决你的问题,请参考以下文章

Luogu关卡2-1简单的模拟(2017年10月)

Luogu关卡1-8BOSS战-入门综合练习2(2017年10月)

Luogu关卡2-16线性动态规划(2017年10月)

Luogu关卡2-13线性数据结构(2017年10月)

Luogu关卡2-15动态规划的背包问题(2017年10月)

2017年10月23日23:58:04