首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

2010收成都区域赛总结|解题报告

2012-09-27 
2010年成都区域赛总结|解题报告本次比赛由我、DTen和sssplk完成,一台机子进行。现在一周就做4场比赛,前一场

2010年成都区域赛总结|解题报告
      本次比赛由我、DTen和sssplk完成,一台机子进行。

       现在一周就做4场比赛,前一场是周三,隔了这么多天,状态似乎好了一些。这一场做得还比较顺利,开了虚拟比赛排名23,拿了I题的FB,但绝对说不上满意,还是有很多细节可以完善,想题敲题速度还可以提高,从60个人过的E题我们没时间敲就可见一斑。

      这场比赛我贡献3个ac,DTenk贡献1个ac,sssplk贡献了一个ac。


      到现在我们共A了6道题,区域赛的题目吸收起来很蛋疼的,太难了。现在说下AC的几道题目(前面数字是题目在Hdu上的题号):

      Hdu 3709 Balanced Number 数位DP。用dp[pos][sum][o]表示到pos位置力矩总和为sum支点为o的总方案数,然后套个模版,不知道为什么现场过的人那么少,肯定是都忘了带模版,太不专业了.

      Hdu 3711 Binary Number 本场比赛最简单的题目,三个for循环搞定,先枚举集合B,然后枚举集合A,然后判断不同的位数。我似乎A慢了。

      Hdu 3713 Double Maze  搜索,用【】【】【】【】思维数组进行判重。

      Hdu 3714 Error Curves 很显然F(x)是个单峰函数,用三分法求之。

      Hdu 3715 Go Deeper  关键是建图,建好图之后用2-Sat求之即可。

      Hdu 3717 Rescue  哈哈,虽然是虚拟比赛,拿了个FB还是很开心的。这题很容易想到用二分+贪心,因为当p符合条件f的时候,p+1也符合条件,p+2也可以,正是这单调性就应该敏感地想到二分p,二分p之后就变成了判定性问题,然后贪心求解之。为什么可以贪心呢?因为只能往左打炮,那么当某点的能量还大于0的时候,必须在它右边打至少一炮,所以从右往左打炮,当能量不为0的时候就对它一直打炮,打到它不行能量小于0为止。

     然后我们怎么记录后面的炮对当前的影响呢?用队列来存储对当前点有影响的点到当前点的下标,然后用sumxxx表示队列内各点到当前点的距离平方之和,cntx表示队列内各点到当前点的距离之和。进队列时,因为和当前点距离为0,sumx和cntx不变;当新到一点i时,因为后面所有点到当前点的距离拉长了1,那么newdis ^ 2 = (dis + 1) ^2 = dis^2 + 1 + 2 * 1 * dis,sum(newdis^2) = sum(dis^2) + 队列内的点数 * 1 + 2 * cntx,即 sumxx += queuesize + 2 * cntx,cntx += queuesize。 


     本文ZeroClock原创,但可以转载,因为我们是兄弟。

1楼qq84048403前天 14:40
太长了。。。。看不完~~
Re: woshi250hua昨天 11:43
回复qq84048403这个总结在我的博客里似乎算是短的了,后半部分是题解...

热点排行