A:应该是道语文题,注意边界就好;
B:开始考虑的太复杂,没能够完全提取题目的思维。
但还是A了!我愚蠢的做法:二分答案加暴力枚举,
枚举的时候是完全模拟的,比如每次取得时候都是从大到小的去取,最后统计答案!
好吧!忽略这种SB做法,只是提供一种当你想不到的时候,一种暴力破解的思路!
看到的一种正解:我们每次可以取(N-1)个,而且不用加入答案中,
先上代码:
for (int i=0;i<s.size();i++)
sum+=s[i];
return max(0,sum-N*(m-1));很简短。
C 题:
构造题,想想也没想法,暴力是很好用的。
http://blog.csdn.net/codebattle/article/details/39612609 思路来源!
我们可以从后往前进行枚举当且遇到‘0’时进行修改,
然后去枚举该位置之后的数,每次假设当它为’0‘时,看是否满足。
复杂度大概是O(N^3);
具体看前面大神博客的代码