自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ubuntu20.04配置Kinect 2.0驱动安装和ROS环境下配置以及录制bag包和制作ORB-SLAM数据集

11.6版本之前的CUDA安装时会附带安装CUDA Samples,helper_math.h文件在/xxxx/NVIDIA_CUDA-10.1_Samples/common/inc/helper_math.h位置;1.1. 从github下载Samples库,选择与那cuda同版本的sample库。1.3 将help_math.h复制到那报错的路径下。显示点云相机窗口,则代表启动成功!打开一个新的终端查看实时画面。打开两个终端,分别执行以下命令。注意修改路径和订阅的话题!打开一个新的终端测试话题订阅。

2024-04-06 15:14:35 572

原创 洛谷P6091(原根模板)

阶阶:由欧拉定理可知,对于a∈za\in\mathbb{z}a∈z,m∈N∗m\in\mathbb{N}^{*}m∈N∗,若gcd⁡(a,m)=1\gcd(a,m)=1gcd(a,m)=1,则aφ(m)≡1(modm)a^{\varphi(m)}\equiv 1\pmod maφ(m)≡1(modm)。因此满足同余式an≡1(modm)a^n\equiv 1 \pmod man≡1(modm)的最小整数nnn存在,这个n称作aaa模mmm的阶,记作δm(a)\delta_m(a)δm​(a)。性

2021-08-24 10:57:16 390

原创 2021牛客多校1——C:Cut the Tree(点分治,数的重心,树上最长上升子序列,动态权值线段树)

题面题意:给一个带点权的树,你可以删去树上一个点,最小化所有子树最长上升子序列的长度最大值 。N <= 100000前置知识:树的重心点分治权值线段树动态开点参考资料树分治 - OI Wiki (oi-wiki.org)『权值动态开点线段树』『线段树合并算法』简单理解_Ronaldo7_ZYB的博客-CSDN博客_权值线段树合并【AgOHの算法胡扯】点分治_哔哩哔哩_bilibili思路:要最小化所有子树的最长上升子序列的最大值,我们可以每次取这棵带权树的重心.

2021-07-27 00:01:04 504

原创 2021牛客多校1——B:Ball Dropping(简单平面几何)

题面题意:一个球卡在一个直角等腰梯形内部,求卡着的高度。思路:主要利用相似三角形的性质对其进行求解。代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n, m, t;ll ar[105];int main() { ll i, j; ll r, a, b, h; scanf("%lld %lld %lld %lld", &r,.

2021-07-26 10:11:58 390

原创 2021牛客多校1——I:Increasing Subsequence(动态规划)

题面题意:给出排列P,两个人轮流取数,每次取的数需要在之前该人取数的右边,且比当前取出来所有的数都要大。所有当前可选的数都将等概率随机的被当前决策人选中。问两个人期望取数的轮数。规则1:每个人取的数字都应该比当前已经被取出来的数字大。规则2:每个人取的数字都只能取他上一个取的数字右边的数字。思路:通过两个规则,我们可以依次用dp[i][j]来代表前一个取了i,后一个人取了j,因为它是一个长度为n的排列,因此我们可以利用逆序的下标来满足规则1,我们先用i遍历一遍下标n到1,再逆序遍历数组a.

2021-07-26 09:55:05 375

原创 2021牛客多校1——K:Knowledge Test about Match(贪心)

题面题意:两个长度为n的序列,a序列从0到n-1.b序列里面的值的范围为[0,n-1],我们可以任意交换b序列里面的值的位置,使得从1到n两个序列差值的绝对值的根号值最小。概括为:随机生成一个权值范围为 0~n-1 的序列,你要用 0~n-1 去和它匹配,匹配函数是 sqrt,要使得其根号和最小。要求平均情况下和标准值偏差不能超过 4%。思路:这道题目可以随便乱搞,我们可以直接重复冒泡的过程,如果当前两个值的根号和大于交换之和的根号和,就将其两个数字交换。这样子保证其始终再像最优状态转移,.

2021-07-26 09:41:14 399 2

原创 2021牛客多校1——J:Journey of Railway Stations(线段树)

题面题意:一段路上有 NNN​​​​ 个火车站,每个火车站有一个合法时间段 [ui,vi][u_i, v_i][ui​,vi​]​​​​​,相邻两个火车站有一个长度cost[i]cost[i]cost[i](代表从iii到i−1i-1i−1的路径长度)。每次问,在 uiu_iui​ 的时间从 iii 出发后,能否依次经过 i+1i+1i+1~jjj​​​​​​ 的所有点,使得到达时间满足每个火车站的合法区间(如果提前到可以等待,迟到了失败了)。同时还可能修改一段路的长度,或者修改一个点的合法时间段。.

2021-07-26 09:40:39 455 3

原创 2021牛客多校1——H:Hash Function(FFT)

题面题意:给定 n 个互不相同的数,找一个最小的模域,使得它们在这个模域下互不相同。简单来说就是对其n个互不相同的数进行哈希,并且不发生哈希冲突。前置知识:快速傅里叶变化(FFT)快速傅里叶变换 - OI Wiki (oi-wiki.org)思路:如果aaa​ 与bbb​ 模mmm​的余数相同,当且仅当∣a−b∣|a-b|∣a−b∣​能被mmm​​整除,那么问题就转变为找到最小的mmm​,它不是任意一个∣ai−aj∣|a_i-a_j|∣ai​−aj​∣​的约数。由于1≤∣.

2021-07-26 09:40:01 387

原创 2021牛客多校1——G:Game of Swapping Numbers(贪心,结论)

题面题意:给定序列 A,B,需要交换恰好 k 次 A 中两个不同的数,使得 A,B 每个位置的绝对差值和最大。N <= 100000思路:参考题解 | #Game of Swapping Numbers#_牛客博客 (nowcoder.net)代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll MAXN = 5e5 + 10;ll a[MAXN];ll b[.

2021-07-26 09:39:16 343

原创 2021牛客多校1——F:Find 3-friendly Numbers(暴力,数位dp)

题面题意:定义一个自然数是 3-friendly 的,如果它存在一个子串(允许前导0)是 3 的倍数。多组数据,求 L~R 中 3-friendly 的数的个数。思路:这道题目我们可以发现规律,主要位数不少于3位,必定会出现一组前缀和%3相同的位置,所以他们这端区间必然%3=0。我们前3个数的选择方案总共就0,1,2。那么前三个数字的选择方案就9种,这9种方案必定会使得一个子区间%3=0,所以超过三位的数字都不需要进行判断和分析,直接暴力处理前100位即可。数位dp的解法,我们可以知道我.

2021-07-26 09:38:35 278

原创 2021牛客多校1——E:Escape along Water Pipes(bfs,模拟)

题面题意:给出一个 n*m 的水管图,要从 (1,1) 顶部走到 (n,m) 底部。每走一步前,可以选择一个管道集合旋转相同的角度。要求在 20nm 步前走到终点或者输出无解。思路:给了六种水管,其中1-4类型的水管都可以通过旋转互相转换,5-6类型的水管也可以通过旋转互相转换。因此我们其实每次走到下一个点的时候只需要判断当前的水管类型,如果当前水管类型为1-4的类型,那么就根据你进入的方向,来得到你如果转向的方向,例如你如果是方向向下进入的,你当前遇到的水管类型是1-4里面的,那么你下一步.

2021-07-26 09:37:46 305

原创 2021牛客多校1——D:Determine the Photo Position(简单思维,前缀和)

题面题意:给出一个 n* 的 01 矩阵,要用一个 1*m 的矩阵去覆盖一段 0,问方案数。思路:利用前缀和维护每一行的前缀和。接着遍历每一行,利用前缀和是否为0来判断是否可以插入,是就加1,最后输出方案数即可。代码:#include <bits/stdc++.h>using namespace std;const int MAXN = 5e3 + 10;char mp[MAXN][MAXN];int sum[MAXN][MAXN];char s[MAXN];i.

2021-07-26 09:37:07 300

原创 2021牛客多校1——A:Alice and Bob(博弈,sg函数)

题面题意:给你两堆石子,Alice和Bob两个进行博弈,博弈规则如下每次其中一个人从一堆中拿出来k(k>=1)个,同时从另外一堆中拿出来k*s(s>=0)个,Alice先手,问谁先不能拿石子。思路:结论1:如果每堆石子数量是i,另一堆石子最多只有一种数量满足后手胜。推导过程:反证法:假设 (i, p) 和 (i, q) 都是后手必胜,且 q > p。那么在状态 (i, q) 时,先手可以在第二堆选 q-p 个,第一堆选 0 个,转移到后手胜的 (i, p),说明 .

2021-07-26 09:36:18 797

原创 寛神的毕生功力(拓扑)

题目链接题意有一个无向图,给我们n个点,n条边,按从小到大的顺序输出成环的点思路我们可以借助拓扑排序的思想来实现,我们利用邻接表进行存图,记录每个点的入度。将入度为1的点删去,同时把入度为1的点所到的点的入度也减一,因为无向图中,环图上的每个点的入度一定是大于1,把入度为1的点和入度为1的点所到的点删去之后,剩下的入度大于1的点则是在环里面的点代码#include <bits/stdc++.h>using namespace std;const int MAXN = 1

2021-07-12 09:31:16 234

原创 Codeforces Round #719 (Div. 3) (A~G)

Codeforces Round #719 (Div. 3)A - Do Not Be Distracted!题意给定一个长度为nnn的且只包含大写字母的字符串sss问同一个字符是否只连续出现了一段思路直接依次遍历字符,利用map去标记已经出现的字符,检查新出现的字符是否被标记过即可。#include <bits/stdc++.h>using namespace std;const int MAXN = 1e5 + 10;char s[MAXN];map<char,

2021-05-08 11:49:01 297

原创 Latex——数学符号大全

2021-01-31 18:59:38 2086

原创 从零开始的Java世界(一)Java基本语法

Java基础语法文章目录Java基础语法1.注释、标识符、关键字注释标识符标识符注意点2.数据类型什么是字节扩展3.类型转换4.常量、变量变量变量作用域常量变量的命名规范5.运算符6.包机制、JavaDoc包机制JavaDocIDEA生成JavaDoc文件的方法1.注释、标识符、关键字注释单号注释//单行注释多行注释/* *多行注释 */文档注释//文档注释/** * @Author kunyuwan * @version 1.0 */标识符关键字

2021-01-30 11:56:46 2180 5

原创 第一次 ACM—TC 联合周赛题解

问题A:有趣的数字题意:输入n和k,问你是否可以将n这个数拆分成k个不同的奇数。思路:这题首先告诉我们要拆分成k个不同的奇数,那是不是意味着从1开始算k个奇数是满足条件时n最小的情况。根据等差数列的前n项和可知,前k个偶数的和为k * k。如果k * k==n时,这时候刚好满足条件,k * k>n时必定不满足,k * k<n时,我们先讨论的是拆分成k个奇数的n最小的情况,如果n大于k * k,我们只需要满足n-k * k是一个偶数,那么就可以在其原先选定的奇数上加2,还是保证了选定的数为

2020-11-14 23:36:24 3987

原创 Lingo学习笔记(1)基本界面与解方程

Lingo学习笔记(1):基本界面与解方程一、Lingo基本界面Step 1 :打开Lingo。Step 2 : 弹出一个对话框,点击Cancel左边Never Register即可,其余内容用不到。Step 3 : 界面自动弹出名为“Lingo Model—Lingo 1 ”的窗口,用于书写代码。Step 4 :以解方程的题目:x+1=2为例,写完代码后,点击“红色的靶心”运行程序。Step 5 :首先Lingo会弹出一个名为“Solver Status”的对话框,它会显示运行时间。

2020-07-27 22:55:55 12027

原创 Java(仿QQ)

项目流程:前要:数据库的处理1.首先我们把下载的MySQL打开,得到这样一个界面2.我们输入我们之前设定的数据库密码,就正式可以操作数据库3.接着我们首先创建一个数据库创建数据库的语句格式为:create database 数据库名;接下来我们再在此数据库下创建一个数据表,我们首先要使用这个数据库使用数据库的语句格式为:use 数据库名;然后在创建数据表创建数据表的语句格式为:CREATE TABLE IF NOT EXISTS 表单名字 ( number VARC

2020-05-17 17:29:28 2592

原创 Codeforces 60B(B. Serial Time!)(bfs)

1.题目链接:http://codeforces.com/problemset/problem/60/B2.题面:3.翻译:谷物佬的朋友连环佬喜欢看肥皂剧。一集即将开始,他还没有洗盘子。但是他决定至少要在水龙头下放满水。板块可以用平行六面体k×n×m表示,即它有k层(第一层是上一层),每个层都是矩形n×m,带有空正方形(’。’)和障碍物。 (’#’)。水只能存在于空的正方形中。抽头位...

2020-04-28 22:03:30 1204

原创 Codeforces Round #277.5 (Div. 2) C. Given Length and Sum of Digits...(贪心)

1.题目链接:https://codeforces.com/problemset/problem/489/C2.题面:3.翻译:您有一个正整数m和一个非负整数s。 您的任务是找到长度为m且位数为s的最小和最大数字。 所需数字应为以十进制为基数且不带前导零的非负整数。输入值输入的单行包含一对整数m,s(1≤m≤100,0≤s≤900)—长度和所需数字的位数之和。输出量在输出中,输出...

2020-04-04 17:03:58 1526

原创 Java学习笔记(字符流Reader和Writer)

1.ReaderReaderBufferedReaderCharArrayReaderInputStreamReaderPipedReaderLineNumberReaderFileReader2.Writerimport java.io.FileReader;public class Filereadwrite { public static void main(String[] ...

2020-04-02 22:26:45 1515

原创 Codeforces Round #260 (Div. 1) A:Boredom(dp)

1.题目链接:https://codeforces.com/problemset/problem/455/A2.题面:3.翻译:亚历克斯不喜欢无聊。因此,每当他感到无聊时,他都会提出游戏。一个漫长的冬天晚上,他想出了一个游戏,决定玩。给定一个由n个整数组成的序列。播放器可以执行几个步骤。在一个步骤中,他可以选择序列中的一个元素(用ak表示)并将其删除,因为所有等于ak + 1和ak-...

2020-04-02 16:59:55 1653

原创 Java学习笔记(字节流InputStream和OutputStream)

1.InputStream InputStream的常用方法方法声明功能描述int read( )从输入流读取一个8位的字节,把它转换为0~255之间的整数,并返回这一个整数int read( byte[ ] b)从输入流读取若干个字节,将它们保存到参数b指定的字节数组中,返回的整数表示读取字节的数目int read( byte[ ] b,int off...

2020-04-01 11:46:01 1592

原创 Java学习笔记(String类和StringBuffer类)

1.String类的常用操作:public class string { public static void main(String[] args) { //字符串的初始化 String str1=new String();//创建一个空的字符串 String str2=new String("abcd");//创建一个内容为abcd的字符串 char[] char...

2020-03-29 00:38:24 1560

原创 牛客 s01串 (递归)

题目链接:https://ac.nowcoder.com/acm/problem/14356题面:思路:由题目可以知道,我们可以列出前4项来看1. 12. 013. 1014. 01101我们很容易发现F(3)=F(2) + F(1)F(4) = F(3) + F(2)这时候就可以使用递归来实现01串的转变了代码:#include <bits/...

2020-03-24 15:51:03 1536

原创 Java学习笔记(数组)

数组1.数组的概念数组是一个存放多个数据的容器—数据是同一个类型—所有的数据都是线性排列的—可以通过位置索引来快速点位访问数据—需明确容器的长度2.Java数组定义和初始化int a[]; //a 还没有new操作 实际上是null,也不知道内存位置 int[] b; //b 还没有new操作 实际上是null,也不知道内存位置 int[] c = new int[2]...

2020-03-23 21:19:24 1433

原创 Java学习笔记(列表List :ArrayList ,LinkedList, Vector)

List1.List概念List : 列表—有序的Collection—允许重复元素—{ 1 , 2 ,4 ,{ 5,2} ,1 ,3 }List 主要实现—ArrayList (非同步的)—LinkedList (非同步的)—Vector( 同步 )2.ArrayList :以数组实现的列表,不支持同步利用索引位置可以快速定位访问不适合指定位置的插入,删除操作适...

2020-03-23 21:16:32 1428

原创 Java学习笔记Ⅱ(自定义函数)

自定义函数

2020-03-22 10:45:08 1577

原创 Java学习笔记Ⅰ(class类和main函数)

Java类结构和main函数1. class类Java文件必须以.java 作为扩展名一个java文件只能有一个public classpublic class 的名字必须和文件名字一样,大小写都要完全一致一个文件可以有多个class类,但是只能有一个是public class,不提倡一个文件里面放多个类(内部类除外)System.out.print 输出...

2020-03-19 23:17:52 5747 3

原创 第十届蓝桥杯省赛C++B组 年号字串

试题 B: 年号字串本题总分:5 分【问题描述】小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。请问 2019 对应的字符串是什么?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个大写英文字...

2020-03-12 16:20:18 2204

原创 第十届蓝桥杯省赛C++B组 组队

试题 A: 组队本题总分:5 分【问题描述】作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少?(如果你把以上文字复制到文本文件中,请务必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 team.txt,内容与上面...

2020-03-12 16:12:18 1782

原创 java(银行新用户现金业务办理业务系统)

这个博客主要自己存代码,有时间完善这个系统Bank.java文件public class Bank { public static String bankName;// 银行名字 private String useName;// 用户名 private String passWord;// 卡号密码 private double money;// 卡内余额 private dou...

2020-03-03 23:00:20 5935 2

原创 java实现大数

介绍java中用于操作大数的类主要有俩种 第一个是BigInteger,代表大整数。第二个是BigDecimal,代表大浮点数。两种类的操作方法类似基本用法Scanner in = new Scanner(System.in);BigInteger a = in.nextBigInteger();BigInteger b = in.nextBigInteger();1.更改为大数数据...

2020-02-21 18:32:06 1938

原创 2020牛客寒假算法基础集训营4(B:括号序列)(栈)

题目链接:https://ac.nowcoder.com/acm/contest/3005/B题面;思路:这道题目考察的其实就是一个灵活使用栈这个知识点,我们这里基本的思路就是一旦找到相邻的两个括号匹配,消除匹配了的括号,然后在继续判断下面的括号是不是一一匹配,而我代码的思路基本就是先把左括号一个个压入栈,然后一旦遇到右括号就直接访问栈头判断与不与之对应,如果不与之对应,那么就证明无法...

2020-02-11 22:38:15 1587

原创 2020牛客寒假算法基础集训营4(A:欧几里得)(规律题)

题目链接:https://ac.nowcoder.com/acm/contest/3005/A题面:思路:这道题目看似是考察欧几里得,但是实际上是一道规律题,我们可以先看题目的要求,a和b都是大于0的数字,并且a是大于b的数,根据题目中的递归公式,我们可以看出来当b=0的时候,是不需要继续一次递归的,但是首先a是要大于b的,所以当递归0次的时候应该就是gcd(1,0),那么递归一次找最...

2020-02-11 22:23:34 1589

原创 算法笔记:扩展欧几里得算法

1.引入扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。除了计算a、b两个整数的最大公约数,此算法还能找到整数x、y(其中一个很可能是负数)。通常谈到最大公因子时, 我们都会提到一个非常基本的事实: 给予二整数 a 与 b, 必存在有整数 x 与 y 使得ax + by = gcd(a,b)。有两个数a,b,对它们进行辗转相除法,可得它们的最大公约数——这是众所周知的。然后,收集辗转相...

2020-01-29 22:29:01 2189

原创 A/B(HDU 1576 扩展欧几里德算法)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576题面:思路:这道题目考察了扩展欧几里得算法的知识,求先了解相关知识再来写这道题目解题思路1.首先n=A%9973,那么n也等于A-A/9973*9973,这时候出现一个等式A-A / 9973 * 9973=n我们设A/B=x,那么A=Bx,等式就转换为Bx-A/9973 * ...

2020-01-29 21:28:22 4022 2

原创 又见GCD(HDU 2504 GCD(最大公约数))

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2504题面:思路:这道题目与正常的求最大公约数的题目又不一样,这里我们是已经两个数的最大公约数和其中一个数字的数值,求另一个数字,那我们一个数字一个数字的遍历来查找这个数和已知的数字的最大公约数等不等于b就可以了,注意题目要求另一个数字不等于b。参考代码:#include<cstdi...

2020-01-29 15:19:33 1592

空空如也

空空如也

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

TA关注的人

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