NOIP2013 提高组复赛解题报告

这篇博客详细介绍了NOIP2013提高组复赛的解题思路,涉及贪心算法、数据结构、并查集、启发式合并、最短路算法等。博主分享了每道题目的解题方法,如火柴排队问题的归并排序和逆序对计数,火车运输问题的启发式合并和最短路转换,积木大赛的贪心策略优化,花匠问题的动态规划和树状数组应用,以及华容道的广搜最短路解法。

NOIP2013 提高组复赛


day1

这里写图片描述

1002. 火柴排队

  • 贪心+数据结构/归并排序

这个“相邻交换”让我联想到了NOIP2012_day1_task2_game那题的恶心做法,于是就专注推导相邻两个元素交换对解的影响。然后根据以前经验知道一定有一个序列可以完全不动,而另一个序列只需要以第一列作为标准移动(所以样例解释反而给的误导很大)。于是很快就确信正解了。

现在想起来还有一点小激动,自己居然能找出规律来。

首先,一定可以只对某一组的元素进行交换,能以给定的最少步数,得到另外一组的结果。显然当前序列还缺少k步就和另外一个序列相同时,另外一个序列一定也只需要k步就可以和当前序列相同。

其次,由于只能相邻交换,对于每一次的操作,它对于解的影响一定只与这一对元素有关。于是我们对相邻元素的数量关系进行推导:

假设有两组元素 ai,ai+1 bi,bi+1 ,如果有

(aibi)2+(ai+1bi+1)2<(aibi+1)2+(ai+1bi)2

则说明有 { bi,bi+1} 的顺序比 { bi+1,bi} 更优。对上述式子推导有:

2aibi+1+2ai+1bi<2aibi+2ai+1bi+1
ai(bi+1bi)+ai+1(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值