首页 > 其他分享 >USACO 6.5 Betsy's Tour dp做法

USACO 6.5 Betsy's Tour dp做法

时间:2022-12-08 21:36:04浏览次数:38  
标签:格子 左面 USACO Betsy 括号 Tour dp 延伸 上面

前段时间的训练题 上课时感觉有dp做法 就搓了搓试试

原题是说有一个n*n的矩阵 让你从左上角走到左下角 也就是求一个哈密顿路

(但我不会求哈密顿路) 

尝试在左上角和右下角之间加一条新路径然后求哈密顿回路

然后我们把这张图旋转90度(旋转是因为我一开始思考的时候搞错了方向)

图变成这个样子

 

对于一个格子 我们思考 他有四个方向可以延伸 而且就如同水管 延伸出去的管一定是接在一起的

(如同下图)

 

 假若红色是已经确定的走法 则蓝色一定会走 (更舒服的说法就是一定会有别的路径和他接起来)

(嗯这非常圆满 因为他是哈密顿回路)

 然后我们考虑括号匹配0表示没有延伸 1表示( ,2表示)

这里我们钦定一个格子(i,j)对(i+1,j)影响为1

一个格子(i,j)对(i,j+1)影响为2

然后对于一个格子 如果我们想转移这个格子 需要得知他上面和左面的延伸情况 也就是说我们要从上到下 从左到右进行枚举(简单易懂)

然后我们分类讨论

对于上面和左面都没有延伸:

 

 (他看起来不太高兴)

上面和左面都没有延伸 而这个格子需要被经过 所以这个格子一定会对下面和右面延伸

然后我们思考左面有延伸:

 

可以选择过继到右面(注意这里是过继 所以是继承前面的代价 而不是代价为1)

 

当然也可以过继到下面(注意这里也是过继)

对于只有上面有影响的当然也一样(显而易见)

然后我们思考上面和左面都有影响

如果上面影响为1 左面影响为2 (那只是简单的绕了一圈,直接删掉就好)

如果上面影响为2 左面影响为1 (恭喜你跑完了 这种情况只会出现在右下角 也就是我们跑的最后一步)

如果上面左面都为1(虽然都为1但他们都有影响 当然是选择连起来。连起来之后把那个完备的吃掉)

(正常说的话就是沿着上面的影响走 走到它对应的右括号,吃掉这个右括号把它变成左括号)

上面左面都为2则沿着左面吃掉左括号

然后就做完了(

根据这个东西来dp 可能状态不太好存 可以把一条线上的状态转化成数字然后用哈希存储(

(自测能过n=12)

 

标签:格子,左面,USACO,Betsy,括号,Tour,dp,延伸,上面
From: https://www.cnblogs.com/lichangjian/p/16967381.html

相关文章

  • USACO 2018 Jan 题解
    USACO2018JanSolution目录USACO2018JanSolution更好的阅读体验戳此进入题面Luogu链接LG-P4188[USACO18JAN]LifeguardsS题面SolutionCodeLG-P4182[USACO18JAN]L......
  • USACO 2018 Feb 题解
    USACO2018FebSolution目录USACO2018FebSolution更好的阅读体验戳此进入题面Luogu链接LG-P4266[USACO18FEB]RestStopsS题面ExamplesSolutionCodeLG-P4264[USAC......
  • USACO 2017 Dec 题解
    USACO2017DecSolution目录USACO2017DecSolution更好的阅读体验戳此进入题面Luogu链接LG-P4122[USACO17DEC]BlockedBillboardB题面ExamplesSolutionCodeLG-P408......
  • LG-P4264 [USACO18FEB]Teleportation S 题解
    LG-P4264[USACO18FEB]TeleportationSSolution目录LG-P4264[USACO18FEB]TeleportationSSolution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入......
  • LG-P4184 [USACO18JAN]Sprinklers P 题解
    LG-P4184[USACO18JAN]SprinklersPSolution目录LG-P4184[USACO18JAN]SprinklersPSolution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入题面......
  • LG-P4182 [USACO18JAN]Lifeguards P 题解
    LG-P4182[USACO18JAN]LifeguardsPSolution目录LG-P4182[USACO18JAN]LifeguardsPSolution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入解法......
  • P3049 [USACO12MAR]Landscaping S
    这篇博客我要单独写!思想:贪心的把到当前位置先补齐假设:i,j,k,p是位置i  j  k  p少 多 少  多-------------------------------------------------......
  • 洛谷 P1205 [USACO1.2] 方块转换 Transformations
    [USACO1.2]方块转换Transformations题目描述一块\(n\timesn\)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转......
  • USACO 2019 January Contest, Bronze Problem 2. Sleepy Cow Sorting
    SleepyCowSorting分类讨论先把答案本就连续的特判丢掉最大值最大值就尽量把每个空位都踩一遍,模拟一下会发现,第一跳的空隙一定没办法踩到,因此考虑两边第一跳谁......
  • 动态规划- [USACO1.5][IOI1994]数字三角形 Number Triangles
    [USACO1.5][IOI1994]数字三角形NumberTriangles题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以......