码迷,mamicode.com
首页 > 编程语言 > 详细

贪婪算法解决单调问题

时间:2017-08-17 20:12:54      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:程序   输入   顺序   code   序列   div   bsp   格式   任务   

 

【题目描述】 
WZK 最近收到了一个任务。 
给出一个 n 个数的序列,为 A0,A1,„„,An-1,循环移动 k 位之后,这个序列就变 成了 Ak,Ak+1,„„,An-1,A0,A1,„„,Ak-1。一种优秀的循环移动是,对于任意的 前 i(1<=i<=n)项和都满足不小于零。请给出这个序列优秀循环移动的个数。 
这道题目当然是很简单啦,但是 WZK 忙着吃小浣熊干脆面,手上油油的写不了程序,于是就麻烦你啦!如果能做到满分,他就会考虑请你吃一包哦~ 
【输入格式】 
第一行一个整数 n(1 <= n <= 10^6),表示有 n 个数。 
第二行 n 个整数,Ai(-1000 <= Ai <= 1000)表示给出的第 i 个数。 
【输出格式】 一行一个整数,表示优秀循环移动的个数。 
【样例输入】 
input#1

3 
2 2 1 

input#2

4 
-3 5 1 2 

【样例输出】 
output1: 

3 

two: 

2

然后luogu出在了月赛题里 
uim在公司里面当秘书,现在有n条消息要告知老板。每条消息有一个好坏度,这会影响老板的心情。告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度。最开始老板的心情是0,一旦老板心情到了0以下就会勃然大怒,炒了uim的鱿鱼。 
uim为了不被炒,知道了了这些消息(已经按时间的发生顺序进行了排列)的好坏度,希望研究如何不让老板发怒。 
uim必须按照时间的发生顺序逐条将消息告知给老板。不过uim可以使用一种叫“倒叙”的手法,例如有n条消息,小a可以从k,k+1,k+2…n,1,2…k-1这种顺序通报。 
他希望知道,有多少个k,从k开始通报到n然后从1通报到k-1可以让老板不发怒。

 

贪婪算法解决单调问题

标签:程序   输入   顺序   code   序列   div   bsp   格式   任务   

原文地址:http://www.cnblogs.com/ljc20020730/p/7358505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!