zoukankan      html  css  js  c++  java
  • 【20181026T1】***【dfs】

    题面

    【错解】

    百年难得一见之提高考搜索了

    。。。怎么搞啊

    相当于是S进去有一个环?

    tarjan?

    跑个联通块,可以穿过去的连一条边?

    好主意……

    dfs写完了……

    哎等下?

    5 5
    .##..
    #####
    ..##S
    #.#..
    ..#.#
    

    那直接搜吧

    写了个纯暴搜,T了

    不对啊,dfs判下连通性就好了

    然后复制了3×3的,记录每个小图的点对应的大图的点跑过几次,大图中的点哪些访问过,如果没访问过但小图跑过,说明有解

    卡常卡进1s

    WA了,20分

    【正解】

    首先复制3×3的是错的

    6 20
    #.##.##.##.##.##.##.
    #.##.##.##.##.##.##.
    #.##.##.##.##.##.##.
    S.#..#..#..#..#..#..
    ##..#..#..#..#..#..#
    #..#..#..#..#..#..##
    

    然而我过了这个点我也不知道为什么

    我们发现实际上小图中的一个点,在大图中对应的最多只有一个

    而大图实际上无限大,我们可以记小图时顺便记下大图的位置

    dfs的时候顺便转移一下就好

    复杂度O(玄学)

    代码

  • 相关阅读:
    hdu 1240 Asteroids!
    hdu 1253 胜利大逃亡
    hdu 1035 Robot Motion
    hdu 1181 变形课
    hdu 1548 A strange lift
    DFS Sum It Up
    hdu 3278 Catch That Cow
    hdu 1312 Red and Black
    ACM菜鸟
    eclipse新建安卓项目点击finish后窗口无法关闭
  • 原文地址:https://www.cnblogs.com/lstoi/p/9857126.html
Copyright © 2011-2022 走看看