自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安装PCL库配置VS时出现的问题

需要将H:\PCL 1.11.1\3rdParty\VTK\bin路径下的所有dll文件复制到项目\x64\Debug路径下即可。

2023-07-27 14:57:08 86

转载 古月居ros第17讲遇到的问题

古月居ros第17讲遇到的问题在学习古月居第十七讲时,运行roslaunch turtle_tf_demo.launch时有了报错使用的是Ubuntu20.04,ros是noetic版本联想到之前编译python文件的时候,也有类似报错ImportError: No module name rospkg想了下原因大概是因为我的ubuntu是从老版本升上20.4的,因此默认的python为2.7,而我后来安装了python3,因此编译时产生错误大概是因为python解释器还是默认为python2,那么

2021-03-23 22:19:07 346 1

原创 图像分割 DFS

图像分割Time Limit:1000MS Memory Limit:65535K题型: 编程题 语言: 无限制描述给定一个n行m列的二值图像,0为背景,1为前景物,请计算该图像中有多少块连续区域(由连接的1构成),并输出最大的连续区域像点数。判断两个区域是否连接采用四邻域判定,即一点仅与它的上下左右四个点相连。输入格式第一行两个正整数,n和m(n,m<=100)此后n行,每行m个0或1输出格式输入连续区域数和最大连续区域像点数输入样例6 8011111100100

2020-11-16 19:51:30 195

原创 三分法

在说三分法之前,先说一下二分法与三分法的区别。二分法:只适用于单调函数,常用于对单调递增或单调递减的一个序列的某一个元素进行查找。三分法:三分法用于单峰函数,左边递增右边递减或者左边递减右边递增的函数,也就是凸函数和凹函数。以凸函数为例(凹函数类似,只是判mid大小的时候保留小的即可(其实也是保留离极值最近的mid)),先以left和right为端点计算出它们的中点midl,然后再以midl和right为端点计算出它们的中点midr,接下来就需要判断f(midl)和f(midr)值的大小了,如果f(m

2020-11-15 20:23:09 1842 2

原创 hdu6187 最大生成树

Destroy WallsProblem DescriptionYou are given a rooted tree of N nodes, labeled from 1 to N. To the ith node a non-negative value ai is assigned.An ordered pair of nodes (u,v) is said to be weak if(1) u is an ancestor of v (Note: In this problem a node

2020-10-21 00:27:16 172

原创 欧拉回路

欧拉回路欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路欧拉回路: 通过图中每条边且只通过一次,并且经过每一顶点的回路有向图的基图:忽略有向图所有边的方向,得到的无向图称为该有向图的基图。无向图设G是连通无向图,则称经过G的每条边一次并且仅一次的路径为欧拉通路;如果欧拉通路是回路(起点和终点是同一个顶点),则称此回路是欧拉回路具有欧拉回路的无向图G成为欧拉图有向图(1)设D是有向图,D的基图连通,则称经过D的每条边一次并且仅有一次的有向路径为 有向欧拉通路(2)如果有向欧拉

2020-10-20 23:24:07 451

原创 hdu5965 dp枚举

Problem Description扫雷游戏是晨晨和小璐特别喜欢的智力游戏,她俩最近沉迷其中无法自拔。该游戏的界面是一个矩阵,矩阵中有些格子中有一个地雷,其余格子中没有地雷。 游戏中,格子可能处于己知和未知的状态。如果一个己知的格子中没有地雷,那么该 格子上会写有一个一位数,表示与这个格子八连通相邻的格子中地雷总的数量。现在,晨晨和小璐在一个3行N列(均从1开始用连续正整数编号)的矩阵中进 行游戏,在这个矩阵中,第2行的格子全部是己知的,并且其中均没有地雷;而另外 两行中是未知的,并且其中的地雷总数

2020-10-20 00:30:35 113

原创 RMQ

现在给你一个问题:给你一个数组 ,其中有N个数字,现在给你一次询问,给你区间[l ,r],问你在这个区间内的最大值为多少?哇!这题简单啊,一个for循环,遍历数组记录最大值输出即可啊。那好,现在我告诉你假设N为50000,给你Q次询问((1 ≤ Q ≤ 200,000)),如果这种情况,我们还每次都进行暴力遍历求解的话,这时算法耗时就会很长,并且可能会超时。是的,这种暴力遍历求解虽然思维简单,代码简短,但是很慢啊。那该怎么做呢?这时候就需要RMQ算法来解决这个问题RMQ(Range Minimum

2020-10-16 00:55:41 105

原创 数位dp入门

数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。所谓数位dp,字面意思就是在数位上进行dp咯。数位还算是比较好听的名字,数位的含义:一个数有个位、十位、百位、千位…数的每一位就是数位啦!之所以要引入数位的概念完全就是为了dp。数位dp的实质就是换一种暴力枚举的方式,使得新的枚举方式满足dp的性质,然后记忆化就可以了。两种不同的枚举:对于一个求区间[le,ri]满足条件数的个数,最简单的暴力如下:for(int i=le;i<=ri;i++)

2020-10-15 00:50:48 195

原创 欧拉函数

欧拉函数:φ(n)表示从1~n-1中有多少个数与n互素, φ(1) = 1。互素的意思即为两个数只有公因数1。我们首先应该要知道欧拉函数的通项公式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn),其中pi为n的质因数下面介绍三种方法求欧拉函数方法1:求单个数的欧拉函数int euler(int n) { int ans=n; for(int i=2;i*i<=n;i++){ if(n%i==

2020-10-14 01:18:28 1878 1

原创 哥德巴赫猜想

哥德巴赫猜想哥德巴赫猜想:即任一大于2的偶数都可写成两个质数之和。下有模板题:Description验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3, 8=3+5,…18=5+13(若某一偶数可分成多组素数和,只取前一个加数最小的那一个组合)。要求将6-99之间的偶数都表示成两个素数之和,输出时每行输出5组。Input无Output输出格式:每个整数占两位,且左对齐,两个式子间空格隔开。Sample InputSample Output6 =3 +3 8 =

2020-10-06 00:38:02 963

原创 中国剩余定理(SCAU 1077 韩信点兵)

看了很多博客始终没弄明白中国剩余定理到底是怎么算出来的,看孙子的话完全是一脸懵逼啊……还好有这个博客大神的博客Orz,真的讲的特别清晰。点赞点赞~下面会用到的数学公式:①如果a%b=c,那么如果x%b=c/2,此时x=a/2;也就是说除数相等时,被除数和余数是成比例的。②如果a%b=c,那么 (a + k*b)%b=c,其中k为整数问题引入: 在《孙子算经》中有这样一个问题:“今有物不知其数,三三数之剩二(除以3余2),五五数之剩三(除以5余3),七七数之剩二(除以7余2),问物几何?”这个问题

2020-10-05 14:06:00 2285 2

原创 费马小定理

费马小定理内容:若存在整数 a , p 且gcd(a,p)=1,即二者互为质数,则有a^(p-1)≡ 1(mod p)。(这里的 ≡ 指的是恒等于,a^(p-1)≡ 1(mod p)是指a的p-1次幂取模与1取模恒等)(不理解的话请留言)证明:这里证明较为复杂需要先引出两个定理:引理一:若a,b,c为任意3个整数,m为正整数,且gcd(m,c)=1,则当a·c≡b·c(mod m)时,有a≡b(mod m)。  证明:a·c≡b·c(mod m)可得ac–bc≡0(mod m)可得(a-b)·

2020-10-05 00:52:15 514 1

原创 逆元

1. 乘法逆元如果a·x≡1(mod p)且gcd(a,p)=1(即a,p互质),那么x为模p意义下的乘法逆元。一个数有逆元的充分必要条件是gcd(a,p)=1,此时逆元唯一存在。2.拓展欧几里得求逆元a·x≡1(mod p)可以转化成a·x+p·y=1求逆元即求xtypedef long long ll;ll exgcd(ll a, ll b, ll &x, ll &y) //扩展欧几里得算法{ if (b == 0) { x = 1, y = 0; retu

2020-10-04 23:27:42 1034 1

原创 拓展欧几里得

关于欧几里得算法和拓展欧几里得算法求解两个数的最大公约数,有三种比较常用的算法:蛮力法、更相减损法以及欧几里得算法。在这里我们只讨论欧几里得算法,蛮力法的时间复杂度过大,不适合求解数据量比较大情况。而更相减损法与欧几里得算法其实有共通性。首先,欧几里得算法,可以用一个函数gcd()表示,我们假设现在有两个数a和b。1、gcd(a,b)= gcd(b,a)2、gcd(a,b)=gcd(b,a%b)3、gcd(a,0)=a通过以上三个公式,我们就可以求解两个数的最大公约数了。这里给一个例子:假设我

2020-10-04 22:33:55 192

原创 快速幂

问题描述:求A^B的最后三位数表示的整数说明:A^B的含义是A的B次方什么是快速幂这个题目看起来很简单,貌似A^B%1000就能得到答案,但真的是这样吗?如果按上述方法,当A=2,B=100时,2^100%1000得到却是0,这就有问题了。因此,如果题目让你求2的100次方,貌似我们程序设计语言中最大的long lnog类型也无法承载这么大的数值,所以题目才不会要求你输出结果,因为结果可能会非常的大,大到没有任何类型可以承载。所以我们会发现上面的结果为什么是0,因为已经发生溢出了。那为什么题目要

2020-10-02 17:43:08 190

原创 最大公约数(GCD)和最小公倍数(LCM)

思路:最大公约数用辗转相除法,最小公倍数等于n*m/最小公倍数。#include <iostream>using namespace std;int gcd(int m,int n){ return n==0? m : gcd(n,m%n);}int lcm(int m,int n){ return m*n/gcd(m,n);}int main(){ int n,m; cin>>n>>m; cout<&lt

2020-10-02 17:04:44 263

原创 欧拉筛(线性筛)

时间复杂度:O(n)比埃氏筛快,埃筛重复筛了许多数,如6被2筛了一次,又被3筛了一次思路:从2开始遍历,是素数就装起来,任一合数只被:“最小质因数 × 最大因数(非自己) = 这个合数”的途径筛除,这样保证合数只被筛除一次,只有唯一的筛除途径。如何确保是最小质因数:比如8执行完8 * 2(2是自然数中最小的质因数),如果说现在不退出循环,那么下一步8 * 3=24,则当前质因数是3,但是我们知道8的最小质因数是2(因为8%sushu[i]==0且循环为递增),那么很显然这里的3大于2,那就不满足唯一途

2020-10-02 16:44:57 150

原创 埃氏筛

题目:筛选1到n之间的素数思路:从2开始遍历,找到素数,将所有素数的倍数标记为合数(素数的倍数必定不是素数)时间复杂度:O(nloglogn)#include <iostream>#define maxn 100000+10using namespace std;int flag[maxn];//0为素数,1为合数int sushu[maxn];int main(){ int n,Count=0;//Count为指针 cin>>n; for(

2020-10-02 16:21:43 230

原创 莫队算法(普通莫队)智慧暴力例题模板

1 基础莫队算法  莫队算法 = 离线 + 暴力 + 分块。  “离线”和“在线”的概念。在线是交互式的,一问一答;如果前面的答案用于后面的提问,称为“强制在线”。离线是非交互的,一次性读取所有问题,然后一起回答,"记录所有步,回头再做”。   基础的莫队算法是一种离线算法,它通常用于不修改只查询的一类区间问题,复杂度O (n√n),没有在线算法线段树或树状数组好,但是编码很简单。2.莫队算法实现  莫队算法把排序做了简单的修改,就把暴力法的复杂度从O(mn)提高到O (n√

2020-10-02 14:00:35 255

原创 网络流-最大流(增广路算法)例题模板

Flow ProblemTime Limit: 5000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 5111 Accepted Submission(s): 2385Problem DescriptionNetwork flow is a well-known difficult problem for ACMers. Given a graph, your ta

2020-09-30 00:20:44 553

原创 线段树模板(有注释)

线段树模板(有注释)#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#define N 100000using namespace std;int a[N],Sum[N<<2],Add[N<<2];//开4倍大的数组构建线段树void Pushup(int rt){Sum[rt]=Sum[rt<<1]+Sum[rt

2020-09-29 13:03:03 201

原创 SCAU2020春季个人排位赛div2 #3----E(HDU-3788)

问题描述对给定的字符串(只包含’z’,‘o’,'j’三种字符),判断他是否能AC。是否AC的规则如下:zoj能AC;若字符串形式为xzojx,则也能AC,其中x可以是N个’o’ 或者为空;若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个’o’或者为空;Input 输入包含多组测试用例,每行有一个只包含’z’,‘o’,'j’三种字符的字符串,字符串长度小于等于100...

2020-02-29 18:16:02 1294

空空如也

空空如也

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

TA关注的人

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