06 2018 档案

摘要:转载请注明出处,部分内容引自李煜东《算法竞赛进阶指南》 前置知识: C++、C语言入门 Set是什么 Set是C++STL中提供的容器,set是数学上的集合——具有唯一性,即每个元素只出现一次,而multiset则是可重集,两者的内部实现是一棵红黑树,它们支持的函数基本相同 Set的相关操作 头文件 阅读全文
posted @ 2018-06-16 18:13 Ivanovcraft 阅读(934) 评论(0) 推荐(3)
摘要:搜索不知道为什么没有人写bfs觉得挺像是标准个bfs的 状态因为要统计次数,不能简单地跳过一个被经过的点这样的话,状态量会爆炸采用记忆化设dp[i][j][k]表示在第k分钟到达点(i,j)的方案数以地点+时间作为状态避免同一状态被反复拓展这样,状态量将减少至最多100*100*15 转移这就比较显 阅读全文
posted @ 2018-06-09 20:08 Ivanovcraft 阅读(155) 评论(0) 推荐(1)
摘要:一句话题意:在8 * 8的棋盘上,输出用最少步数从起点走到终点的方案数据很小,可以广搜无脑解决定义数据结构体 移动时新旧状态传递 判断是否可以拓展 打标记,入队 完整代码 阅读全文
posted @ 2018-06-05 17:21 Ivanovcraft 阅读(253) 评论(0) 推荐(1)
摘要:推荐一波数组模拟链表的讲解 这道题呢,数组写的话不好删除(因为后面要接过来),自然想到链表 对于一个果子,我们可以维护其前驱和后继,我们不妨记与一个点相邻的上面的点为其前驱,下面的点为其后继 观察到题目要求我们完成两种操作 1,跳,即遍历链表2,吃,即删除链表中元素 具体来讲删除就是普通的删除,不再 阅读全文
posted @ 2018-06-01 16:06 Ivanovcraft 阅读(272) 评论(0) 推荐(1)