1045: [HAOI2008] 糖果传递 - #include <Seter> - using namespace Orz;

1045: [HAOI2008] 糖果传递

Seter posted @ 2012年1月13日 13:17 in BZOJ with tags HAOI , 3504 阅读

http://www.zybbs.org/JudgeOnline/problem.php?id=1045

RunID User Problem Result Memory Time Language Code Length Submit Time
189027 Seter 1045 Accepted 14428 kb 304 ms C/Edit 851 B 2012-01-13 12:45:53

 

555……现在我只能做做傻题了,好桑心……

假设平均数是x,且a1给an了k个(k<0说明是an给a1了-k个),那么总代价就可以算出来:

an      
an+k a1-k a2  
代价:|k| x a1+a2-x-k a3
  代价:|a1-x-k| x a1+a2+a3-2x-k
    代价:|a1+a2-2x-k| x
      代价:|a1+a2+a3-3x-k|

令bi=sum(a1..i)-ix,则总代价=sum|bi-k|。易知k为中位数时此值最小。问题转化为求中位数……或者直接qsort排序也行。

然后我苦逼地改我的快速k大……最后发现是pi!=p||pj!=p而不是pi!=p&&pj!=p……这里当时还想了半天……我不会快排了T^T

 

 

By Seter

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee