摘要: 洛谷-P1525 关押罪犯 https://www.luogu.com.cn/problem/P1525 首先分析题目,题目的意思就是让我们将罪犯分到两个监狱,使两个监狱中的最大仇恨尽可能最小,那么我们肯定要先对仇恨进行从大到小的排序,然后尽可能别把仇恨大的给拆散。这里需要用到并查集,俗话说的好:敌 阅读全文
posted @ 2020-09-06 19:26 故犹 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 洛谷试题之选数 首先分析题目,从n个数里选m个,输出相加为素数的个数。 由数学中的排列组合可知,有$C^m_n$, 我们需要列举出所有可能性,这时候我们就可以想到用搜索。 但是还有一个问题 比如1 3 7是和是素数,但是还有五种情况,1 7 3;3 7 1,3 1 7,7 1 3,7 3 1 但是我 阅读全文
posted @ 2020-09-06 15:38 故犹 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 洛谷P2404 自然数的拆分问题 题目描述 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。现在给你一个自然数n,要求你求出n的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。 首先分析题目,给任意一个数,比如7,要把 阅读全文
posted @ 2020-09-06 14:03 故犹 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 二叉树的遍历 已知一课二叉树的前序遍历和中序遍历,求它的后序遍历。 那么我们就需要了解前序遍历,中序遍历,后序遍历的遍历过程。 前序遍历:子节点—>左子树—>右子树 中序遍历:左子树—>子节点—>右子树 后序遍历:左子树—>右子树->子节点 举个栗子 c / \ / \ B G / \ / A D 阅读全文
posted @ 2020-09-06 10:44 故犹 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 洛谷P2036 [COCI2008-2009#2] PERKET https://www.luogu.com.cn/problem/P2036 先分析题目,题目中有n种食材,每食材有酸度和苦度,然后要求选取食材,使酸度和苦度绝对值差最小,其中酸度是相乘,苦度是相加。 很明显 ,题目的意思是要我们算出 阅读全文
posted @ 2020-09-06 09:50 故犹 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 洛谷试题 -Lake Counting S https://www.luogu.com.cn/problem/P1596 这是一道经典的搜索题,其实就是求其中连通块的数目。 既可以用深搜,又能用广搜。 下面放广搜代码。 #include <iostream> #include<queue> #inc 阅读全文
posted @ 2020-09-06 09:35 故犹 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 村村通(并查集) 链接https://www.luogu.com.cn/problem/P1536 根据题意可知有若干组数据,我们需要对每组数据使用并查集,然后判断最少需要建设多少条路才能使各个城镇之间互通。 下面放蒟蒻的代码 #include<iostream> #include<cstring> 阅读全文
posted @ 2020-09-06 00:15 故犹 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 算法之并查集 首先解释一下并查集是什么,并查集就是判断两个元素是不是同一个集合里,如果不是同一个集合,就将两个元素合并。 并查集里经常用到的操作有查找和合并。 首先需要初始化 void make_set() { for(int i=1;i<=n;i++) fa[i]=i; } 查找代码(加上了路径压 阅读全文
posted @ 2020-09-06 00:10 故犹 阅读(58) 评论(0) 推荐(1) 编辑