zoukankan      html  css  js  c++  java
  • L1141(bfs思想)

    一,看

    1,整个方格图其实可以看做是一些不连通的图。

    当然图内部必然是联通的。

    2,遍历的技巧没什么。

    方格图入队的技巧。。额,是这样的

    int gtid(int x,int y)

    { return x*m+y-1;}

    *这个函数可以把二维点对压成一维。

    *解压时只需要x=id/n,y=id%n+1;

    原理是》?

    噢。。首先你是在bfs,得用队列。。

    所以有这么一出。其实你也可以用结构体,但是它说结构体

    不够优美。。

    函数的全称是get_id.

    3,还有骚的操作

    (x-1)*m+y-1;

    听说这样一个3×3的表格就是从0,1,2,3,4,5,6,7,8

    这样,挺秀的。

    4,它的代码结构化挺好的,看起来挺高级的

    ①,入队,标示区域

    ②,队列出元素,检查是否在地图内

    ③,这个判断的话,我觉得一个和标记有关,一个和区域有关

    染色深入递归

    二,题解

    1,这个标示队列的使用方法。。queue<pair<int ,int>>q;

    还是听那人的比较好,全用手写~2

    2,这也太难看了把。

    3,重点看的是答案从何而来。

    4,bfs只是一种思想,并非必须这样。

    三,写题

    1,bfs只是一种枚举的思想。而非很固定的一个东西。

    四,完美写一遍

    1,必须每次都得不看得写一遍。

    2,在于标记函数,标记是否走过

    颜色函数,每几个点是否在一个联通图中,

  • 相关阅读:
    CE工具里自带的学习工具--第三关
    CE工具里自带的学习工具--第二关
    CE工具里自带的学习工具--第一关
    双向链表
    双向循环链表
    单向循环链表
    单链表
    动手动脑———异常处理
    动手动脑——继承与多态
    类与对象——动手动脑
  • 原文地址:https://www.cnblogs.com/beiyueya/p/12005632.html
Copyright © 2011-2022 走看看