摘要: #include <algorithm> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> using namespace std; typedef struct LNode* LinkList; 阅读全文
posted @ 2020-10-02 11:16 Ssspirit 阅读(138) 评论(0) 推荐(0)
摘要: Gym100810J Journey to the "The World's Start" 阅读全文
posted @ 2020-08-01 09:38 Ssspirit 阅读(163) 评论(0) 推荐(0)
摘要: 2020春季集训最短路分享计划博客 阅读全文
posted @ 2020-05-29 12:05 Ssspirit 阅读(168) 评论(0) 推荐(0)
摘要: Codeforces Round #642 (Div. 3) E K-periodic Garland F Decreasing Heights 阅读全文
posted @ 2020-05-19 16:35 Ssspirit 阅读(116) 评论(0) 推荐(0)
摘要: 大一菜鸡肝了近两个小时的成果,用于计算真值表; 拿来水一篇博客(并不); 代码中比较重要的两部分是原式向后缀式的转换,遍历所有原子命题的可能取值; 具体的细节看代码吧,尽量添加了注释; #include<bits/stdc++.h> using namespace std; const int ma 阅读全文
posted @ 2020-03-10 17:52 Ssspirit 阅读(1723) 评论(0) 推荐(0)
摘要: 引用书籍:《算法竞赛入门到进阶》清华大学出版社 字符串匹配问题 有这样一个字符串的问题:在n个字符串中查找某个字符串是否存在? 如果使用暴力的做法,逐个来匹配每个字符串,复杂度是O(nm),m是字符串的平均长度,这种做法效率很低。 字典树:在上述问题中,如果像查字典一样,比如要查找单词"dog",先 阅读全文
posted @ 2020-03-06 21:23 Ssspirit 阅读(384) 评论(0) 推荐(0)
摘要: 并查集操作的简单实现 原理:定义一个数组s[i]来表示第i个元素属于哪个集团,因此初始化时s[i] = i;即每个元素都还是分散的。对于可以合并的两个元素x与y,查找到他们两个所属的集团,将其中一个合并到另一个即可; 代码实现: 查询的优化 每次搜索的过程中,如果顺便将i所属的集团改为根节点,再次查 阅读全文
posted @ 2020-02-28 21:35 Ssspirit 阅读(974) 评论(0) 推荐(2)
摘要: 简略模板记录 阅读全文
posted @ 2020-02-21 16:50 Ssspirit 阅读(1187) 评论(0) 推荐(0)
摘要: 堆栈(Stack) 参考浙大版《数据结构(第2版)》 堆栈可以认为是具有一定约束的线性表,插入和删除的操作都在栈顶的位置,先进入的元素将在后进入的元素之后取出,与生活中的桶类似,故又称为后入先出(Last In First Out, LIFO)表。 非STL的堆栈实现: 手写的堆栈主要有以下几种基本 阅读全文
posted @ 2020-01-24 12:22 Ssspirit 阅读(395) 评论(0) 推荐(0)
摘要: ##简单的背包问题 ###简单的01背包 问题导入:新年到了,mjl马上就要外出旅游。mjl拥有一个容量为P的小背包,他希望在自己的n件体积为Vi的物品中带走的物品体积之和尽可能的多,他最多能带走多少物品?(每件物品只有一个) 问题分析:可以创建一个二维数组dp[i][j],使用0和1表示对于前i件 阅读全文
posted @ 2020-01-20 21:58 Ssspirit 阅读(803) 评论(0) 推荐(0)