- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 二维平面几何模板(kuangbin)
#define _CRT_SECURE_NO_WARNINGS#include "bits/stdc++.h"using namespace std;typedef long long ll;const double inf = 1e20;const double eps = 1e-8;const double pi = acos(-1.0);const int maxp = 1010;//判断正负int sgn(double x) { if (fabs(x) < eps) re
2021-08-28 11:20:14
246
原创 多重背包二进制优化
#include "bits/stdc++.h"using namespace std;const int maxn = 25000;int N, V;int w[maxn], v[maxn], dp[maxn];int main(){ cin >> N >> V; int cnt = 0; for (int i = 1; i <= N; i++){ int wi, vi, s; cin >> wi >> vi >>
2021-04-07 23:21:05
171
原创 完全背包:P1616 疯狂的采药
题目:P1616 疯狂的采药解析:完全背包模板题代码:#include "bits/stdc++.h"using namespace std;const int maxn = 1e7 + 7;long long int dp[maxn];long long int w[10010], v[10010];int main(){ int t, m; cin >> t >> m; for (int i = 0; i < m; i++){ cin >&
2021-04-07 22:40:05
185
原创 0-1背包习题:Charm Bracelet S
题目描述Bessie has gone to the mall’s jewelry store and spies a charm bracelet. Of course, she’d like to fill it with the best charms possible from the N (1 ≤ N ≤ 3,402) available charms. Each charm i in the supplied list has a weight Wi (1 ≤ Wi ≤ 400), a ‘de
2021-04-05 22:17:52
261
原创 快速幂+快速乘模板
#include "bits/stdc++.h"using namespace std;typedef long long ll;inline ll ksc(ll x, ll y, ll mod) { return (x * y - (ll)((long double)x / mod * y) * mod + mod) % mod;}inline ll ksm(ll x, ll y, ll mod) { ll ans = 1; while (y) { if (y) ans = ksc(
2021-03-20 13:30:58
77
原创 线段树模板
#include "bits/stdc++.h"using namespace std;const int maxn = 1e5 + 7;int Sum[maxn >> 2];int arr[maxn];int Add[maxn >> 2];void PushUp(int rt) { Sum[rt] = Sum[rt << 1] + Sum[rt << 1 | 1];}void Pushdown(int rt, int ln, int rn)
2021-03-19 16:08:52
73
原创 acm博弈论基础
一、Bash Game(巴什博弈)一堆n个物品,两个人轮流从中取出1~m个,最后取光者胜(不能继续取的人输)。1,分析:首先n一定可以表示为:n = k * (m + 1) + r (0 <= r <= m);2,代码:if (n % (m + 1)) return false;else return true;二、Wythoff Game(威佐夫博弈)有两堆各若干物品,两个人轮流从任意一堆中至少取出一个或者从两堆中取出同样多的物品,规定每次至少取一个,至多不限,最后取光者
2021-01-31 17:28:43
168
原创 大数运算模板(高精度加减乘除,取模,阶乘,比较)
转自:大数运算模板注:这里只有模板,没有解释。1,大数加法:string add(string a,string b){ string c; int len1=a.length(); int len2=b.length(); int len=max(len1,len2); for(int i=len1;i<len;i++) a="0"+a; for(int i=len2;i<len;i++) b="0"+b;
2021-01-31 15:38:35
435
2
原创 stl之队列,双端队列,优先队列
前提:知道什么是队列,双端队列和优先队列1,队列①头文件#include “queue”②声明queue<class> q;③基本操作push(x) 将x压入队列的末端pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值front() 返回第一个元素(队顶元素)back() 返回最后被压入的元素(队尾元素)empty() 当队列为空时,返回truesize() 返回队列的长度queue<class>:
2020-09-06 16:28:45
213
原创 string类与char数组的相互转换
1,string转char数组用c_str()函数#include "iostream"#include "string"#include "cstring"using namespace std;int main(){ string s = "cai"; char c[20]; strcpy_s(c, s.c_str()); //vs里的strcpy_s就是跟strcpy一样功能 printf("%s", c); return 0;}2, char数组转string
2020-09-06 15:06:38
3353
原创 bash: rqt: 未找到命令 rqt_image_view rqt_graph等等
可能是rqt被不小心卸载了,重装就好sudo apt-get install ros-kinetic-rqtsudo apt-get install ros-kinetic-rqt-graphsudo apt-get install ros-kinetic-rqt-common-plugins
2020-08-22 21:31:54
4503
2
原创 ubuntu下darknet的gpu配置(包含ros下的)
一,如果你不是在ros中使用的:只需要修改darknet文件下的Makefile文件的三处位置第一处:更改Makefile前两行GPU和CUDNN的配置:GPU=1CUDNN=1第二处:更改CUDA的路径(不一的要改,可以先确认一下你的路径是不是正确的)48~51行,在"ifeq ($(GPU), 1)"语句块中修改为自己的CUDA安装路径,更改前默认路径如下:ifeq ($(GPU), 1)COMMON+= -DGPU -I/usr/local/cuda/include/CFLAGS+=
2020-08-22 16:45:22
1304
原创 darknet yolo训练自己的数据集(包含ros封装)
1,先下载安装并简单学习使用labellmglabellmg2,接着用labellmg标注自己的图片(根据上面那个链接就好)3,训练自己的数据训练数据4,ros封装ros yolov3 训练集封装(在文章后半部分)
2020-08-21 20:20:55
1209
原创 ubuntu安装和使用labellmg(含pyqt4的安装教程)
说明:有两种安装方法,一种是基于pyqt5 + python3的 ,一种是基于pyqt4 + python2的。但是pyqt5 + python3的容易出现问题。所以建议用pyqt4+python2的安装。本文也是基于pyqt4+python2的。对labellmg的超级简单介绍:这是一个图片标注工具第一步: 把python版本调为python2确认一下你的python版本,输入python --version如果你不是python2的,请输入sudo update-alternatives -
2020-08-21 18:04:51
1547
原创 Could not find a package configuration file provided by “XXX“ with any of the following names :XXX
问题:– Could not find the required component ‘dynamic_reconfigure’. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.CMake Error at /opt/ros/kinetic/share/
2020-08-08 15:08:09
4335
原创 安装ROS报错bash: /opt/ros/kinetic/setup.bash: No such file or directory的解决方法
参考该篇文章
2020-08-08 14:51:50
6360
原创 catkin_make出现错误:ModuleNotFoundError: No module named ‘catkin_pkg‘
1,输入sudo gedit /opt/ros/kinetic/bin/catkin_make2把第一行的#!/usr/bin/python改为#!/usr/bin/python2ok!`
2020-08-07 17:00:10
2964
1
原创 px编译环境搭建报错总结
对于px编译环境的搭建csdn上有很多教程,官网和px中文维基上也有详细教程。但是>>>第一次编译还是会遇到各种各样的问题不过>>>基本上可以归纳为三类:1,python版本问题最好安装python.6及以上(我的是3.7)这个网上的教程非常多,就不细说了2,arm-none-eabi-gcc`` 版本问题(太老了不行)(可以输入arm-none-eabi-gcc --version查看你的版本,我一开始是4.9.3编译出现各种各样的问题)可以按照以
2020-08-06 17:20:37
187
原创 linux ubuntu 下载安装jdk 和 eclipse
1,先下载jdk在终端java -version会出现几种版本输入sudo apt install openjdk-8-jre-headless再输入java -version 就可以查看你下载的jdk版本了ok了;2,安装eclipse一,先下载,到下载位置后点击 Thank you for your download! 下面那行小字里的click here 就开始下载了直接到达下载位置注意:我的这个下载位置是对于c/c++开发用户的,如果你不是用的c/c++,你要在里面仔细找找你需要
2020-07-22 23:06:47
281
1
原创 ubuntu 彻底卸载eclipse
1,首先到/usr/share/applications下把eclipse.desktop删了2,把桌面图标删掉3,到/opt/中把文件夹eclipse删了4,把你的workspace删了(我的是在home/caiming/workspace,这要根据你自己打开eclipse时候的设置)
2020-07-22 22:39:42
5276
1
原创 Altium DesignerPCB绘制文件处理
1,智能PDF,装配图完成。2,输出Gerber文件①先把不需要的文件删掉(打叉的)②然后Gerber文件输出路径:文件->制造输出->Gerber File③这里看个人需要3,钻孔文件路径:文件->制造输出->钻孔文件(NC Drill Files)4,ipc网表输出路径:文件->制造输出->test point report5,坐标文件输出路径:文件->装配输出->Generates pick and
2020-06-18 13:54:50
243
原创 Altium Designer 导入原理图出现unknown Pin
1,可能是没有添加封装,把封装加上2,PCB封装脚位和原理图脚位(引脚标识)无法对上,比如一个电阻,封装上的标识是1和2,你画原理图时标识是3,4或a,b之类的就不行,原理图标识也必须是1,2。...
2020-06-17 16:23:31
3563
原创 Altium Designer测量距离的几种方法
1,快捷键Ctrl + M2,点击菜单栏的报告->测量距离(效果和1一样,快捷键RM)3,点击菜单栏的报告->测量(快捷键RP),这是测量两个焊盘的最小距离用的4,在绘制PCB时也可以点击放置->尺寸->线性(PDL),也可以不是线性,而是角度等等,读者可以自己去看看。...
2020-06-17 15:00:53
25888
3
原创 Altium Designer软件界面右边Libraries(库)不见了;界面下面的system不见了;
点击界面右下角的system->点击LIbraries(库)OK了;如果你的界面下面没有system:点击view(察看)->状态栏(workplace state)
2020-06-16 22:16:42
67025
7
原创 stm32中断优先级的讲解
一、优先级的排序STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作’亚优先级’或’副优先级’,每个中断源都需要被指定这两种优先级。具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则
2020-06-13 15:15:44
1426
原创 3.从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个 磁盘文件test中保存,输人的字符串以结束。
注意:有可能有换行的输入# include "stdio.h"# include "string.h"# include "stdlib.h"int main(){ FILE *fp; char ch; int cnt = 0; if ((fp = fopen("test", "w")) == NULL) { printf("1文件test打开错误\n"); exit(0); } do { cnt++; ch = getchar(); if (ch .
2020-05-22 20:38:29
3169
原创 12.建立一个链表,每个结点包括:学号、姓名、性别、年龄。输人一个年龄,如果链表 中的结点所包含的年龄等于此年龄,则将此结点删去。
主要思路:1,创建链表2,判断输入的年龄是否存在,存在就删去3,输出处理后的链表具体处理:1,创建链表:链表 = 头指针 + 节点所以先创建节点:typedef struct node{ int sid; char name[20]; char sex[10]; int age; struct node* next;}node;然后把节点链接起来,并且让头指针指向第一个节点,并返回头指针;代码:node *creatlink(int n)//n是节点个数{ nod.
2020-05-21 15:57:55
9658
原创 getline的常规使用
特点:可以输入空格目前我主要是两个用法:1, getline(std::cin, std::string s);2 , std::cin.getline(char *ch, unsigned int n, char c);一:输入字符串变量# include “string”# include “iostream”int main(){ std::string s; getline(std::cin,s); return 0;}二:获取字符串(C语言里面的那种字符数组)
2020-05-14 22:05:54
233
原创 11.有两个链表a和b,设结点中包含学号、姓名。从a链表中删去与b链表中有相同 学号的那些结点。
主要思路:1,先创建两个链表2,删去a链表中与b链表中有相同学号的节点3,打印处理后的a链表处理方法:1 :创建链表:链表 = 头指针 + 节点所以先创建节点typedef struct node{ int sid; char name[20]; struct node* next;}node;然后把节点串起来,并且把第一个节点的地址给头指针就成链表了代码: node* creatlink(int n) //n是链表长度,也就是节点个数,函数返回头指针 { node.
2020-05-14 16:51:40
2863
2
原创 10.已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按 学号升序排列。
我把成绩看成了姓名,不过对题目没什么影响;主要思路:1.先创建两个链表;2.把两个链表合并;3.把合并后的链表排序;4.输出排序后的链表具体处理:1.如何创建链表:链表 = 头指针 + 节点所以:首先,定义节点typedef struct node{ int sid; char name[20]; struct node* next;}node;然后就把节点连起来,形参n是要创建的链表长度,函数返回头指针; node* creatlink(int n) { nod.
2020-05-13 21:18:59
5728
3
原创 电脑的触摸鼠标不起作用了
很有可能是因为是因为你不小心按了触摸鼠标的开关快捷键,比如我的电脑是shift + F9还有可能你的电脑是Fn + F8Fn + F9Fn +F2。。。
2020-05-12 14:37:00
930
原创 求最大公因数和最小公倍数(详解,简洁方便)
最大公约数:用欧几里得辗转相除法,两个数a,bwhile(b > 0){t = a % b;a = b;b = t;}循环结束后的a 就是最大公约数里 a = 5, b = 8①b > 0 进入循环t = 5 % 8 = 5;a = b = 8;b = t = 5;②b = 5 > 0进入循环t = 8 % 5 = 3;a = b = 5;b = t = 3;③b = 3 > 0进入循环t = 5 % 3 = 2;a = b = 3;b = t
2020-05-12 11:49:03
1055
原创 ubuntu Linux常用命令总结
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...
2020-05-09 21:35:12
336
原创 c++字符串:提取子字符串,比较大小,搜索字符串,插入字符串,替换字符串,删除字符串总结
1.提取子字符串:void tiqu(){ std::string str1 = "0123456789"; std::string str2(str1,0,6);//str2为str1从第0位开始连续的6个字符组成的字符串 std::cout << str2 << std::endl; std::string str3 = str1.substr(2,...
2020-04-24 17:33:07
567
原创 kmp算法中next的介绍
kmp介绍对于串s = “abcdefg…” (s[0]s[1]s[2]…s[n-1])next[n-1](n > 2,next[0] = -1,next[1] = 0)的直观寻找过程应该是:1,先比较s[0]s[1]s[2]…s[n-3]和s[2]s[3]…s[n-2]是否相同,若相同,则next[n-1] = n-2;若不同进入2.2,比较s[0]s[1]s[2]…s[n-4]和...
2020-04-24 00:20:25
168
原创 字符串乘方(容易想到的方法)
样例分析:1、a = “abcd”2、a = “a”3、a = “ab”直接循环:使串a的长度i从1增加到输入字符串长度的一半(若i不能整除n则不需要考虑),对于每一个需要考虑的i,再进行单独判断是否满足要求即可。代码如下:# include "stdio.h"# include "string.h"char s[1000005];int judge(char s[], i...
2020-04-23 23:11:04
575
免费Smart Car.zip
2020-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人