数据结构
jackcily
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Fliptile POJ - 3279 开关反转问题 + 位运算
解这题的关键思想第一行的状态决 定了后面所有行的状态奶牛踏瓷砖问题,显然奶牛踏 1 次和奶牛踏3次,效果是一样的,那么每块瓷砖的翻转次数,只可能是 0次或一次。那么现在问题就转换成了枚举结果矩阵中的每一个数值是 1 还是0 ,但是 M 和 N 的最大值为 15,单纯暴力的话,2^15*15 一定会超时。问题的关键在于前一行的状态决定了后一行的状态,所以一旦第一行确定,后面的所有行就确定...原创 2018-10-11 21:24:04 · 324 阅读 · 0 评论 -
康托展开和逆康托展开
https://blog.csdn.net/wbin233/article/details/72998375原创 2018-10-20 15:21:11 · 307 阅读 · 0 评论 -
Eight HDU - 1043 八数码问题 康托展开 + 反向 bfs +记录路径
bfs 剪枝要点visit数组 hash函数(康托展开)记忆化 bfs 打表存储所有可达路径优先队列 periority queue多点同时bfs反向bfs + bfs 打表存储所有路径stl + 正向bfs9! 一共有 362880 种可能,10e5 数据规模并不是非常大,所以我考虑用 map<string , bool> 来作为visit...原创 2018-10-20 13:03:01 · 356 阅读 · 0 评论 -
搜索初探 Pots POJ - 3414
做这题的时候,没有思路,觉得暴力的话,状态可能会爆炸。但是每一个状态,最多只有六个后继状态,并且数据量很小,可以使用bfs枚举得出最短路。搜索的时候,怎么判断该状态是否已经经过了呢,可以使用 visit数组。所以这题最重要的就是关注到状态转移和 visit 数组。另外还有一点就是学习了如何打印 bfs路径。可以使用一维数组存储所有的枚举过的状态,然后使用链式前向星的思想,记录每一个节点...原创 2018-10-10 16:40:29 · 223 阅读 · 0 评论 -
Eight HDU - 1043 bfs+康托展开
这题是一道裸的八数码问题,用 0 表示空格,相当于一共有9个数字,012345678,9个数字共9!种排列。刚开始我使用map<string ,bool> 作为 visit 数组。5s 都t了。百度了才知道这题要用康托展开作为visit数组。 网上居然还有一种东西叫 八数码的八大境界,感兴趣的可以自行搜索一下。我看了一下我果然在第一重境界。我用map + stl 来做八...原创 2018-10-16 22:32:54 · 235 阅读 · 0 评论 -
# Fire! UVA - 11624
这题刚开始写的时候,人走迷宫的时候,没有用visit数组,导致 t 了。 然后没有注意到题目中的 portions ,意思是火苗可能有多个起点,人只能有一个起点。最后分析一下bfs 和 dfs 的时间复杂度:邻接矩阵 MxN (每个点最多访问一次,如果每个点有多种状态,就再乘以状态数)领接表 (v+e) (每个点最多访问一次)当然 以上的结论建立...原创 2018-10-15 21:09:40 · 252 阅读 · 0 评论 -
github flavored markdown
https://guides.github.com/features/mastering-markdown/老师要求学一些 github 味的markdown ,先整理这么多,以后再整理。 斜线 *dede* 加粗 **dede** 加链接 [link to google!](https://google.com) 加图片 ![ sta...原创 2018-10-15 14:53:53 · 684 阅读 · 0 评论 -
Shuffle'm Up POJ - 3087 简单模拟 + 状态记录
这题很简单,就是读题有点费劲。每次操作都只有一个后继状态,每次执行的操作都相同,所以所有的状态就像一个圈一样进行循环,我计算后发现,当长度为 n 时,循环周期最多为2n,最多100个字符,所以循环周期最多200次(使用map 标记一下是否访问过该状态)。最多 1000 个 test case,复杂度最大不超过 2e5 ,绝对不会t的。那么问题来了,我怎么看出来一个搜索题是个搜索题呢?我觉得...原创 2018-10-13 20:52:06 · 193 阅读 · 0 评论 -
Prime Path POJ - 3126 bfs 暴力
这题求最短路 ,所有的状态转移为 9999-999, 不超过10000,最多100个test case, 最坏的时间复杂度为 10e6,绝对不会超时的。因为求最短路,要么枚举所有 dfs路径, 要么使用 bfs ,不过我同学说求最短路一般bfs要比纯dfs快,但是bfs 会消耗更多的内存,这题内存65536kb,没有卡内存,所以直接暴力bfs。对于每个四位数, 最多有 999*9 =...原创 2018-10-13 17:28:29 · 283 阅读 · 0 评论 -
自己动手编程实现并讲解TCP connect scan/TCP stealth scan/TCP XMAS scan/UDP scan
实验5 自己动手编程实现并讲解TCP connect scan/TCP stealth scan/TCP XMAS scan/UDP scan实验工具scapy version 2.4.0ipython version 5.5.0netcat version 1.10-41.1实验背景 使用netcat监听tcp:80端口nc -nvl...原创 2018-10-17 22:36:17 · 1976 阅读 · 0 评论 -
Find The Multiple POJ - 1426
这题写bfs贼坑。论bfs与dfs的特点。刚开始发现位数有一百位,要么找规律,要么高精度。结果队友告诉我,有大牛打表找规律,发现每一个结果的长度都不会超过20,这样10^20, 暴搜也不会爆,我心想我也打一下表吧,结果果然发现是的,打表找规律,真开心啊。用计算机完成这种简单繁琐的计算,解放双手,舒服。然后查了下long long 的数据范围,发现 10^20 果然存的下。刚开始没剪枝...原创 2018-10-12 23:01:16 · 284 阅读 · 0 评论 -
待补题
https://pintia.cn/problem-sets/1036903825309761536/problems/1041156323504345088原创 2018-10-12 10:27:46 · 195 阅读 · 0 评论 -
Eight II HDU - 3567
#include<iostream>#include<queue>#include<cstring>#include<string>#include<vector>using namespace std;struct node{ int pre; int op; int x; int y;...原创 2018-10-20 21:41:45 · 357 阅读 · 0 评论
分享