摘要: 当时写第一道题时, 只想到了40分的做法, 就是枚举每一种情况, 最后check一遍, 时间复杂度应该是(n * !n), 最后看了题解, 是一道树形dp, f[i][0] 表示不选第i个节点, f[i][1]表示选i节点, 则显然有 用邻接表就能做到O(n) 的时空复杂度。 #include <b 阅读全文
posted @ 2019-06-24 13:56 海边微风起 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 题目描述 人们在英文字典中查找某个单词的时候可能不知道该单词的完整拼法,而只知道该单词的一个错误的近似拼法,这时人们可能陷入困境,为了查找一个单词而浪费大量的时间。带有模糊查询功能的电子字典能够从一定程度上解决这一问题:用户只要输入一个字符串,电子字典就返回与该单词编辑距离最小的几个单词供用户选择。 阅读全文
posted @ 2019-06-19 13:28 海边微风起 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 足球锦标赛(bull.c/cpp/pas/in/out) Time Limit:1s Memory Limit:128MB 【题目描述】 贝西和她的朋友们在参加一年一度的足球锦标赛。FJ的任务是让这场锦标赛尽可能地好看。 一共有N支球队参加这场比赛,每支球队都有一个取值在1~2^30-1之间的整数编 阅读全文
posted @ 2019-06-17 13:53 海边微风起 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 今天打代码提交时, 出现Segmentation Fault这个错误, 很不解, 就去网上查了一下下... 以下文字皆出自:Linux下的段错误(Segmentation fault) Linux开发中常见段错误问题原因分析 1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针、不存在 阅读全文
posted @ 2019-06-10 13:07 海边微风起 阅读(6906) 评论(0) 推荐(1) 编辑
摘要: 98. 分形之城 城市的规划在城市建设中是个大问题。 不幸的是,很多城市在开始建设的时候并没有很好的规划,城市规模扩大之后规划不合理的问题就开始显现。 而这座名为 Fractal 的城市设想了这样的一个规划方案,如下图所示: 当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域 阅读全文
posted @ 2019-05-25 12:59 海边微风起 阅读(532) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const int MAXN = 5e5 + 100; const int MAXM = 3e3 + 10; template inline void read(T &x) { x = 0; T ff = 1, ch =... 阅读全文
posted @ 2019-05-12 13:06 海边微风起 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路。 每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家个数之差的绝对值。例如,在下图中 阅读全文
posted @ 2019-05-11 16:12 海边微风起 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目描述 小新正在玩一个简单的电脑游戏。 游戏中有一条环形马路,马路上有 nn个机器人工厂,两个相邻机器人工厂之间由一小段马路连接。小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn个机器人工厂编号为1-n1−n,因为马路是环形的,所以第nn 个机器人工厂和第11个机器人工厂是由一段马路连接在一 阅读全文
posted @ 2019-05-10 13:14 海边微风起 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵(0表示对应位置无鱼,1表示对应位置有鱼)有助于决定吃鱼策略。 在代表池子的01矩阵中,有很多的正方形子矩阵,如果某个正方形 阅读全文
posted @ 2019-05-04 12:47 海边微风起 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题目背景 给定一个正整数序列a(1),a(2),...,a(n),(1<=n<=20) 不改变序列中每个元素在序列中的位置,把它们相加,并用括号记每次加法所得的和,称为中间和。 例如: 给出序列是4,1,2,3。 第一种添括号方法: ((4+1)+(2+3))=((5)+(5))=(10) 有三个中 阅读全文
posted @ 2019-04-12 13:24 海边微风起 阅读(248) 评论(0) 推荐(0) 编辑