日历
网志分类
· 所有网志
· ACM ICPC
· 随笔胡言
· 有关数学
· 算法学习
· 诗&歌&文
· 伪愤青
· 菜鸟做工程
· 更新通告
· 未分类
站内搜索
友情链接
· 管理我的Blog
· ==============
· SJTU dwyak - 文渊阁
· NJU phoenix - No motto
· NJU Phoenix - Illumination
· PKU frkstyc
· HIT wywcgs - wc的小屋
· NIT 小蓓 - 虎皮蛋糕
· HDU - 流浪的枫之羽
· ZJUT - zeism
· Fluke's Blog
· UESTC - Tom Riddle
· UESTC - zhucheng
· OIer winsty
· ZZU Cheapwine
· 小用的空间
· owen的文档集中营
· Fish过生活
· ECUST - CodeStar
· Wiskey's blog
· richardxx - Try Again
· Vivian's House
· Sicheng's Blog
· ==============
· BunnyQ EndTech
· wtommy的无悔青春
· zxj 桂花飘香的时候
· Washington 天空的城堡
· echo 寻找心灵的宁静
· pizza 天天快乐
· 牛牛小屋
· fanskyer's PureWater
· sdragons' space
· NightElf's space
· NeverStop's space
· cnhawk
· ==============
· 看雪论坛
· 老罗 天空之城的点滴回忆
· Monkeycz像人一样死去
· Cyclotron's Blog
· tsing's blog
· Hedgehog's Parchment
· The Life Of Sam & Yangyy
· 莫言无意 没有过往的将来
· Eric 涅磐·人生·路
· dazh 左手年华
· Bakey 灵魂深处
· keo 还好没有忘记
· 开心生活一角
· 听风竹轩
· ξNew York,New Yorkζ
· flykite's blog
· fickle的角落世界
· Taiyuan123's blog
· RoBa's Tech Blog
Online Judge
+ TOJ
+ ZOJ
+ POJ
+ UVA
+ URAL
+ SGU

订阅 RSS

0122717

歪酷博客

失去色彩的花丛

曾经沧海难为水, 除却巫山不是云. 取次花丛懒回顾, 不缘修道只缘君.


« 上一篇: 无题 @ 060828 下一篇: 扯淡也得靠点谱好不好~ @.@ »
robby @ 2006-08-30 23:23

还是要多写些有点儿技术含量的东西 @.@~

题目大意是,N个人(N<=1000)围成一圈,给定每个人需要的酒杯数。每
次侍者必须同时拿上或拿下距离为K(1<=K<=N)的两个杯子。问侍者最少
需要拿多少次才能满足要求,并输出侍者拿杯子的方案。如果无论如何
不能满足要求就输出无解。

首先可以发现,可以把编号为(a,a+K,a+2K...)的一批人分成一组(在模
N的意义下),这样共可以分成gcd(K,N)组,不同的组之间没有影响。于
是可以把每组分开来考虑。

对于(a,a+K,a+2K,...)这样一个序列来说,设B[1],B[2],B[3]...是需要
的杯子数,而x[1],x[2],x[3]...是侍者分别对(a,a+K),(a+K,a+2K),(a+
2K,a+3K)这些“相邻”的人的操作次数(不妨设拿上为正,拿下为负),
则有如下方程组:

x[1] + x[2] = B[2]
x[2] + x[3] = B[3]
...
x[n-1] + x[n] = B[n]
x[1] + x[n] = B[1]

这是一个系数矩阵很有规律的线性方程组,手算一下可以发现,当N(即
一个组的长度)为奇数时,方程组有唯一解。而且利用矩阵的特殊性可
以是O(n)的时间内算出来。当N为偶数时,方程组有无数解,会出现一个
自由变量,这样侍者的操作次数是一个类似下面形式的分段函数

F(x) = abs(x-a1) + abs(x-a2) + ... abs(x-an)

其中x是自由变量的取值。

于是就可以枚举x所在的区间,求出F(x)的最大值。

实际上,注意到题目中杯子数不大于1000的限制,可以直接枚举自由变量
的取值再每次用O(n)检验,也是与O(n^2)相同的复杂度。这种方法简便且
不易出错。




最新评论


goodhorsezxj

2006-09-01 10:16

赞,离彻底bt已然是不远了。割完ural一定要bg哦

orz


leehark

2008-01-22 21:31 匿名 221.206.*.*

这个题,我一直过不了,,在TEST21卡住了,,一直找不到错误!!!


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定