自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU 3635 Dragon Balls——并查集

HDU 3635 Dragon Balls因为这道题卡了我几个小时,后来发现变量命名错误因此记录一下这里一些注意的点题目链接这里的思路是如果要移动的两个城市没有合并时(也就是px!=py),就将x的根节点更新成y的根节点(x移到y),变换次数也加一,将当前的数量更新成x城的龙珠数量加y城的龙珠数量(即将以y为根节点的龙珠数量加上以x为根结点的龙珠数量)#include<iostream>#include<cstdio>using namespace std;

2021-06-04 00:18:15 120

原创 并查集———食物链

POJ 食物链题目链接这里是输出假话的数目三种情况1)x或y大于n2)自己吃自己3)与前面的话矛盾该怎么表示每个元素之间的关系,这是一个难点这里的办法是将每个元素关系放在一棵树中通过x和y两者与根节点的关系来判断语句的正确与否这里有三种种类的生物,即以3为一个周期用并查集来维护他们之间的关系如果d[x]>d[y]表示x吃y;如果d[x]=d[y]则是同类;用他们与根节点的距离来表示他们的关系利用并查集来维护距离#include<iostream>#in

2021-06-01 00:33:26 247

原创 vector模拟约瑟夫环

HDU 4841圆桌问题题目链接这里考的是约瑟夫问题,我们可以用vector实现#include<iostream>#include<vector>using namespace std;int sum;int main(){ vector<int> p; int n,m; while(cin>>n>>m) { p.clear(); //由于每次输入都要更新数组

2021-05-11 17:04:30 288

原创 Acwing 797. 差分

差分差分就是前缀和的逆运算,前缀和类似于数组前N项之和,因此差分相当于数组的公差,不过这里每个差不一定相等因此我们可以这样写b[1]=a[1];b[i]=a[i]–a[i–1];如果在L和R之间加上C,则写成b[L]+=C;b[R+1]–=C;由于在L这里加上了C,下面每次都会加上C,但是我们在R+1的位置又减去了C;因此抵消掉,C+1(包括C+1)之后的与开始一致,达到了只给L和R这个区域加C的目的下面是代码#include<iostream>using name

2021-05-06 10:41:28 92

原创 Acwing796. 子矩阵的和

前缀和这个题目我认为难点在于矩形的面积怎么求假设有两个坐标分别为(A,b)和(c,d)(这个坐标打的时候打错了)所以这两个坐标围成的面积就是灰色的部分因此我们先来想想怎么表示出面积首先我们定义s[i][j]的含义,是指如图所围成的矩形面积所以我们可以将我们要求的面积分块这里我们可以知道我们要求的是蓝色区域很容易可以看出应该是蓝色面积=s[c][d]–橙色部分–绿色部分;代码表示就是s[c,d]–s[a-1][d]–s[c][b-1]+s[a-1][b-1](这里由于s[a-1]

2021-05-05 21:47:47 164

原创 高精度加减乘除

高精度加减乘除加法思想就是模拟加法的过程,我们先将两个数逆序之后进行操作,便于进位/*思想是模拟数据加减的过程*/#include<iostream>#include<vector>using namespace std;vector<int> add (vector<int> &A,vector<int> &B)//传地址可以减少数据再次复制{ vector<int> C; i

2021-04-29 23:35:19 148

原创 AcWing 785. 快速排序算法

快速排序模板给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围 1≤n≤100000输入样例: 5 3 1 2 4 5输出样例: 1 2 3 4 5这个可以直接用sort过,但是为了训练一下快排,这里我们采用快排的方法快排采用了分治思想,概述就

2021-04-21 23:55:59 150

原创 迷宫问题

关于bfs迷宫问题模板第一行,两个整数 n,m 代表此二维迷宫的行和列接下来 n 行, 每行 m 个字符,描述了这个迷宫:其中,0代表迷宫的墙,1代表这里可以行走,2代表被传送到的位置,3代表迷宫的出口(保证迷宫只有一个出口和传送点,且存在解)0 < n, m <= 100Sample Input5 6000000011120001100013110000000Sample Output3关于求迷宫最短距离的问题是bfs的典型题#include<iost

2021-04-20 16:24:51 305

原创 关于质数和约数问题

质数和约数问题整理了一下自己的学习笔记。如果有错误,欢迎指正~~试除法试除法用于判断一个数是否为质数#include<iostream>using namespace std;bool f(int n);bool f(int m){ for(int i=2;i<m;i++) { if(m%i==0) return false; } return true;}int main(){ in

2021-04-17 00:09:40 260

空空如也

空空如也

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

TA关注的人

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