码迷,mamicode.com
首页 > 其他好文 > 详细

2017多校Round10(hdu6171~hdu6181)

时间:2017-08-27 22:25:55      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:游戏   size   算法   直接   模板   扩展   线性   应该   连通   

补题进度:5/11

1001(双向BFS)

题意:

  给你一个类似移子游戏,给你初始状态和终止状态,问初始状态到终止状态至少要移多少步,如果步数>20就-1

分析:

  很明显的BFS了,不过普通的BFS会有4^20个节点,会TLE

  这里因为移动方式可逆并且两个状态明确,所以可以双向BFS,在中间汇合就行

  只需要在某个方向的BFS扩展到12步左右的时候返回-1就行了

1002(BM算法模板)

题意:

  给你很复杂的很复杂的递推式,你需要求$\left \lfloor \sqrt a_n \right\rfloor$

分析:

  这个有根号还有取整肯定不能直接矩阵乘了

  猜测一下结果应该是线性递推,所以手算几个初值丢到杜教的BM板子里就行了

1003(待填坑)

1004(待填坑)

1005(待填坑)

1006(待填坑)

1007(待填坑)

1008(树的最大匹配)

题意:

  有一个n个点的树,你需要选择k个点每个点上放一只猴子,树上的n-1条边中你可以选择删掉一些保留一些,但是必须能让每个猴子所在点的连通分块内都有另一只猴子,问最少保留多少条边

分析:

  贪心着来,肯定是尽可能往树的最大匹配上丢猴子最优,这样的话2k个猴子只需要保留k条边

  最大匹配的点丢完了然后怎么办呢,容易发现这时候往任意一个点丢猴子都会使得结果+1,所以随便将剩余的猴子丢上去就行了

  于是只需要用dp跑出最大匹配这题就结束了

  时间复杂度O(n)

  顺便一提这题卡读入

1009(待填坑)

1010(贪心+堆)

1011(裸的次短路)

2017多校Round10(hdu6171~hdu6181)

标签:游戏   size   算法   直接   模板   扩展   线性   应该   连通   

原文地址:http://www.cnblogs.com/wmrv587/p/7440750.html

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