十二周总结

BFS

HDU 1548 :给出起点和终点,还有电梯在每一层能够上升或者下降的高度,问能否到达

Dir[]里面存-1,1就可以了

HDU 1372:马步移动,dir[8][2]8个方向搜

HDU 2717:步数为+1,-1,*2,三个方向搜

HDU 1072:给出一个矩阵,矩阵里面是数字,一个人背着炸弹从起点走到终点,炸弹的引爆时间是6秒,

每一秒这个人移动一步,遇到数字4的话,引爆时间又重新置为0,问他能否到达终点

这道题目先以为和紫书上一题是一样的,先自己写的时候用的一个三维数组来标记状态

后来搜题解发现不是这样的,

有两种办法

一个是,如果下一次走到相同坐标的时候,离爆炸的时间增大了,才有必要将这个节点加入队列,如果更小的话,就不用再加进队列了(因为上一次到这儿离爆炸的时间更多都没能够到达终点,现在时间更少就更不能够了)

然后第二种是:每次进入4都会获得6秒钟,那么下次再进入4,也就不会再获得更多的了,

所以4的点只访问一次

HDU 1728:给出起点还有终点,限定转弯的次数,问能否到达终点,在节点结构体里面保存下当前的方向dir(这个用搜的时候的那个i来算),还有当前转弯的总的个数

有一个剪枝就是如果到达某个坐标的转弯个数大于之前的到达这个点的转弯次数,它就不用加进队列了

HDU 1175:给出起点终点的棋子,转弯次数不超过2次,问能否消除,再上一题的基础上再特判一下起点终点是不是一样的,还有起点终点为不为0

HDU 1429:给出起点终点,小写字母代表钥匙,相应的大写字母代表门,必须有钥匙才能通过门,问从起点到终点需要的步数,

自己先用一个数组来记录有没有相应的钥匙,写出来不对,后来搜题解发现是状态压缩的

详情看这篇http://www.cnblogs.com/wally/archive/2013/01/26/2878259.html

然后就和之前的差不多了,开一个三维的数组记录状态,遇到门,看有没有相应的钥匙,有就通过,没有就不能通过,

遇到钥匙,要是还没有相应的钥匙的话,就加进去

HDU 1885:和上面一道题一样,只不过给出的字母是B,Y,R,G,直接用字母表里面的编号太大了,用map映射编一下号,就和上一题一模一样了

HDU 2181:给出起点终点,以及20条边,输出所有可行路径,用vector先把边存下来,再dfs

HDU 1180:给出起点终点,有一些格子里面放着楼梯,分竖着”|”,”-”两种,每一秒梯子的状态发生一次改变,问从起点到达终点所需要的最短时间

自己写wa了好久,后来搜题解才知道,如果能够通过楼梯的话,是瞬间就通过的,即在楼梯那一格不需要花费时间

所以每个点就有五种状态,上下左右,停在原地等,然后每次走到楼梯的时候判断一下时间的奇偶

UVa 1600:给出起点终点,不能连续穿过k个障碍物,问从起点到终点需要的步数

节点里面增加一个k来存当前还能够穿多少个障碍

用一个三维的数组记录状态,然后碰到障碍,节点里面的k-1,遇到空地k又重新变为k

另外:看线段树的区间更新还是没有看懂-----------------------

本周做了一场cf,过了两道题

go-------------------------------------

时间: 2024-12-29 11:19:52

十二周总结的相关文章

第十二周进度条

第十二周          日期  星期一   星期二   星期三   星期四   星期五   星期六   星期日  了解到的知识点 js获取当前时间 var d = new Date() var nowYear = +d.getFullYear() EF框架填充下拉菜单 var model = db.GYSAllFoods.Select(m => new{GYS = m.GYS}).Distinct();//去重很关键            foreach (var item in model

学习进度第十二周

  第十二周 所花时间(包括上课) 11h(4h上课,7课下) 代码量(行) 220 博客量(篇) 1 了解到的知识点 这个星期主要进行了安卓实验和大作业的编写,从中学到了利用安卓SQLite 数据库 进行表的存储以及应用,按照教程成功编写了一个特别小的视频播放器,学会了进度 条等控件的使用.

学习进度-第十二周

  第十二周 所花时间(包括上课) 10小时 代码量(行) 48行 博客量(篇) 3篇 了解到的知识点

第十二周(补)

这几周有点心不在焉的,学习状态不好,作业都忘记写了,有的是存在记事本里忘记上传 周次 学习时间 新编写代码行数 博客量(数) 学到知识点 第十二周 6 80 1 html                               <html><head> <title> HTML</title></head><body > <h1>会员注册界面</h1><form action="proces

信息安全系统设计基础第十二周学习总结

第十二周代码学习 一.environ.c #include <stdio.h> #include <stdlib.h> int main(void) { printf("PATH=%s\n", getenv("PATH")); setenv("PATH", "hello", 1); printf("PATH=%s\n", getenv("PATH")); #if

第十二周学习进度

第十二周:   第十二周 所花时间(包括上课) 上课4小时,课后4小时 代码量(行) 160 博客量 1 了解到的知识点 找水王

第十二周周总结

周数 专业学习目标 专业学习时间 新增代码量 人文方面的学习 知识技能总结 第 十 二 周 数据结构:了解图的基本定义以及一些专有术语所指内容 3 250左右 <最后的文化贵族><少有人走的路 3> 掌握图的基本定义以及一些专有术语所指内容 计算机网络:动态分配路由 3h 200左右 完成相应实验报告:应尽量脱离课本所给出的实验例句,独立完成 WEB:学习背景图片的有关设置 3h 200左右 掌握背景图片的有关设置

第十二周学习进度条

周次 第十二周 所花时间 12小时以上 代码量 1500行以上 博客量 1 学到知识点 上周也没学什么新的内容,还是对以前学过知识的运用.除此之外还是学习了一些新的知识的.由于使用到弹窗.所以上网找了一下弹窗组件,有个叫layer的挺好用的,对于它的一些最常用的一些内容学习使用了一下.

第十二周时间进度表

  第十二周 所花时间 12h 代码量 200 博客量 3篇 了解到的知识点 1.在原有的程序上添加博客信息管理的打分项,能通过程序添加分数,新建作业项 2.用到了Jtable组件,学到如何利用Jtable添加数据,在本程序中用table组件添加学生分数信息和作业项信息 3.设计数据库结构,该存储那些内容

20145311 《信息安全系统设计基础》第十二周学习总结

20145311 <信息安全系统设计基础>第十二周学习总结 教材学习内容总结 20145311 <信息安全系统设计基础>第十一周学习总结 20145311 <信息安全系统设计基础>第十周学习总结 20145311 <信息安全系统设计基础>第九周学习总结 视频内容总结 指针数组:即用于存储指针的数组,也就是数组元素都是指针  int *a[10] 数组指针:即指向数组的指针,指针指向一个类型和元素个数都固定的数组 int (*a)[10] 指针函数:即返回值是