自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 POJ 1086 Currency Exchange(SPFA判断正环)

spfa的深入理解https://blog.csdn.net/qq_43093454/article/details/88812117spfa本身是对Bellman-ford算法的优化。在Bellman-Ford算法中,n轮扫描每一条边看一看各个点有没有希望被松弛。spfa之所以能用来处理Bellman-ford并进行优化,其原因是在Bellman-ford中,每一轮扫描的边有很多都没有可能更新其它点。spfa指出,当一条边有希望更新它的一个端点的最短路值,当且仅当它的另一个端点的最短路值被更新过。s

2020-11-16 15:09:16 113

原创 分解质因数(luogu P2043 质因子分解)

luogu P2043 质因子分解#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;#define maxn 1000010#define ll long long#define IL inline#define clear(a) memset(a,0,sizeof

2020-10-04 22:33:50 143

原创 NOIP2010 关押罪犯 & NOI2001 食物链——种类并查集

NOIP2010 关押罪犯 & NOI2001 食物链——种类并查集(这两道题目是十分典型的种类并查集)种类并查集知识见引用:算法学习笔记(7):种类并查集NOIP2010 关押罪犯题目只给出了两个罪犯间的影响值,显然这道题需要用到贪心,也可使用二分图的相关知识,这里只使用种类并查集根据题目我们只知道哪两个人是不适合呆在同一个监狱的,但是并不知道哪两个人适合呆在同一间监狱,这就给了我们并查集一定的处理难度。此时种类并查集就有其用武之地了。根据题意可知,有A,B两间监狱,因此我们可以开一

2020-09-17 20:47:08 242

原创 HDU3038 How Many Answers Are Wrong

HDU3038 How Many Answers Are Wrong(带权并查集经典例题)题目大意:一共有n个数,接下来的m行,每行给出一组a,b,s,代表从第a到第b个数的和为s,但m组数据中会有错误的信息,要求你找出共有多少组错误的信息(并且该题默认当前的信息若不与之前的信息冲突的话即为正确的,若与之前的信息冲突,则认为该信息是错误的,并忽略该条信息)样例:Sample Input10 51 10 1007 10 281 3 324 6 416 6 1Sample Output

2020-09-17 16:28:13 119 1

原创 POJ3279 Fliptile

POJ3279 Fliptile(一个需要小技巧的爆搜题)思路:通过观察可以发现,当我们确定了第一行各个位置翻或不翻后,在处理第二行时,第二行每个位置翻或不翻应该是固定的,因为若想使第一行全变白,有且仅有第二行可以做到。以此类推,除第一行外,其余每行翻或不翻都是确定的。我们仅需暴力枚举第一行每个位置是否翻,然后处理其余每行。需要注意的是:在我们处理完m-1行后,需扫一遍最后一行是否已全变为白色,若是,则可用于更新答案。题目还要求该答案的字典序最小,我们可发现一种方案只与第一行有关,所以在dfs枚举第

2020-09-08 18:34:42 93

原创 POJ2251 Dungeon Master

POJ2251 Dungeon Master(典型的入门宽搜)思路:本题乍一看可以用迭代加深搜索来解决,但其3D地图大小限制在303030以内,显然通过迭代加深搜索来解决肯定会T掉,故可采用普通的宽搜bfs来解决与深搜的“不撞南墙不回头”不同,宽搜是逐层扩展进行搜索,在扩展时一定是将最先进入队列的(步数小的)处理完毕后再处理次小的,并以此类推…因此我们第一次搜到这个点可以知道这即是由起点到达该点的最优解,因此我们在搜索过程中可用vis数组标记,且不需回溯(因为一但该点被标记后,一定不会有更优的路

2020-09-08 15:52:04 70

原创 luogu P1803线段覆盖

luogu P1803 线段覆盖(典型的贪心:在所有区间中能够选择多的区间的个数)思路:比较简单易想:每次选择新区间时,仅需在所有符合条件的区间选择右端点最小的区间,因为这样可以保证下一次选择时可供选择的区间最多实现:首先将所有区间按照右端点从小到大排序,然后遍历一遍,遇到符合条件的便使ans++(因为已经按照右端点从小到大排序,可说明此时遍历到的第一个符合条件的区间即为最优解)代码实现:#include<iostream>#include<cstdio>#includ

2020-09-08 08:31:17 140

原创 POJ2376 Cleaning Shifts

POJ2376 Cleaning Shifts(贪心经典例题:区间覆盖问题)基本的贪心问题:给几段区间,用最少的区间覆盖一个特定区间,求解最小的区间数基本思路:将所有区间存入一个结构体中,按照其左端点从小到大排序,若两区间左端点大小相同,则按照右端点从大到小排序(因为两区间若左端点相同选择覆盖更多的区间显然更合算)即在操作时:设变量end代表当前覆盖到那个点了,设变量need,并令其need=end+1(假设end覆盖了1~10,则我们下一步需要有区间能够覆盖end+1及以后);同时循环条件为覆盖到

2020-09-07 23:36:43 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除