自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 clion ibus中文输入

export QT_IM_MODULE=ibusexport XMODIFIERS=@im=ibus2.打开clion点击菜单 “Help | Edit Custom VM options…”添加 -Drecreate.x11.input.method=true 到最后一行重启IDEA你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法

2024-05-27 09:58:17 618

原创 g20学习

https://www.cnblogs.com/gaoxiang12/p/5244828.htmlhttps://www.cnblogs.com/gaoxiang12/p/5304272.html2.https://wym.netlify.app/2019-07-05-orb-slam2-optimization2/3.https://mp.weixin.qq.com/s?__biz=MzIxOTczOTM4NA==&mid=2247486858&idx=1&sn=c...

2021-12-02 10:45:06 218

原创 牛客网-找出二叉树中所有的根节点到叶子节点的节点值之和为定值 的路径

/**struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;};/class Solution {public:/**@param root TreeNode类@param sum int整型@return int整型vector<vector<>>/vector<vector > pathSum(TreeNode root, int sum) {v.

2021-04-23 19:40:11 230

原创 牛客网-容器盛水问题

a[left, right] 是一个水槽, 递归的看,可能中间存在某个mid, a[left, mid]也是水槽,a[mid, right]也是水槽,那么怎么解决这个递归问题呢?本人的方法是用一把刀横着去切水槽:sum表示水槽容积1.假设用一把 刀 横着去切这个水槽 a[left, right] 那么从哪边开始切呢?当然是从小的一边开始切if a[left] <= a[right] 从左边向右切一刀水槽:怎么切?没有遇到挡住的障碍,说明可以装水,一路切过去,同时计算sum += a[left.

2021-04-23 18:40:28 237

原创 牛客网-找到字符串最长无重复子串

class Solution {public: int maxLength(vector<int>& arr) { // write code here int n=arr.size(); int l=0,r=0; set<int>s;//只用到set容器无重复值的特性,不用到有序的性质 int res=0; while(r<n){ .

2021-04-23 14:55:09 163

原创 链表中的节点每K个一组反转

class Solution {public: ListNode* reverseKGroup(ListNode* head, int k) { if(!head || k <= 1) return head; //空指针及不需要翻转的情况直接返回head ListNode* pre = nullptr; //记录前一个ListNode ListNode* cur = head; //记录当前ListNode ListNode.

2021-04-23 12:42:45 124

原创 C++文件操作

文件:文本文件和二进制文件。文件操作:1.包含头文件#include。2.创建流对象。读文件流对象 ifstream ifs; 写文件流对象 ofstream ofs;3.打开文件。读文件:ifs.open("文件名或文件路径”,打开方式);写文件:ofs.open("文件名或文件路径”,打开方式);打开方式:(多种方式并用用“|”运算符连接)ios::in 以读文件形式打开文件ios::out 以写文件形式打开文件ios::ate 初始位置为文件尾ios::app 以追加方式写

2021-03-31 23:14:22 392

原创 迷宫问题

问题:迷宫问题。迷宫问题的求解是实验心理学中的一个经典问题,心理学家把一只老鼠从一个无顶盖的大盒子的入口处赶进迷宫,迷宫中设置很多隔壁,对前进方向形成了多处障碍,心理学家在迷宫的唯一出口放了一块奶酪,吸引老鼠在迷宫中寻找出路来找到出口。设计回溯算法实现如图所示的迷宫的求解。#include <iostream>using namespace std;//可用const int hang=6,lie=8;进行数组行列大小宏定义,即int map1[hang+2][lie+2];int

2021-03-31 11:28:43 1409 1

原创 求解部分和问题

题目内容:给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K。如果可以,输出:“YES”,否则输出"NO"。输入格式:第1行:2个数N、K, N为数组的长度, K为需要判断的和(2 ≤N ≤ 20,1 ≤ K ≤ 10^9)第2 到第 N + 1行:每行1个数,对应数组的元素A[i] (1 ≤ A[i]≤ 10^6)输出格式:如果可以,输出:“YES”,否则输出"NO"。样例输入4 131247样例输出YES输入样例:5 912345输出样例:YE

2021-03-31 00:20:37 351

原创 回溯法-哈密顿回路

G中经过每个顶点一次且仅一次的回路称作哈密顿回路。欧拉回路要求通过每条边一次且仅仅一次,而哈密顿回路图则要求通过每个顶点一次且仅仅一次。哈密顿回路图有一个重要的问题:traveling salesperson problem,TSP,就是所谓的 货郎担 的问题即要求在图中发现经过所有顶点且总路程最短的回路。求解哈密顿问题代码#include <iostream>#include <vector>using namespace std;void dfs(int depth,

2021-03-30 16:26:56 6332 2

原创 回溯法-图着色问题

问题:给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色。这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边连接的2个顶点着不同颜色,则称这个数m为该图的色数。求一个图的色数m的问题称为图的m可着色优化问题。回溯法:回溯法是蛮力法的改进。基于深度优先遍历,若解空间树的节点满足约束条件(和限界函数),则继续搜索,否则进行减枝。回溯法最重要的是构造解空间树,以此撰写回溯程序。回溯法三要素:解向量,约

2021-03-30 11:14:00 3239

原创 贪心法-多机调度问题

问题:设有n个独立的作业{1, 2, …, n}, 由m台相同的机器进行加工处理. 作业i所需时间为t i. 约定:任何作业可以在任何一台机器上加工处理, 但未完工前不允许中断处理,任何作业不能拆分成更小的子作业。要求给出一种作业调度方案,使所给的n 个作业在尽可能短的时间内由m台机器加工处理完成。贪心策略:最长处理时间作业优先,即把处理时间最长的作业分配给最先空闲的机器。贪心法:贪心法是在已知信息下做出局部最优解,且做出贪心选择后不会再改变选择,贪心法的核心是贪心策略的选择。贪心法的一般过程:

2021-03-29 21:02:35 873

原创 分治法-求逆序数

问题:设a1, a2,…, an是集合{1, 2, …, n}的一个排列,如果i<j且ai>aj,则序偶(ai, aj)称为该排列的一个逆序。例如,2, 3, 1有两个逆序:(3, 1)和(2, 1)。设计算法统计给定排列中含有逆序的个数。#include <iostream>#include<vector>using namespace std;int sum=0;void merge_count(vector<int>&v, int s

2021-03-29 16:41:48 1516

原创 分治法-凸包问题

问题:设P1(X1,Y1),P2(X2,Y2)……Pn(Xn,Yn)是平面上n个点构成的集合S,求集合S的凸包。凸包:由平面上n个点组成的集合,其凸包就是包含这些点的最小凸边多边形。问题分析:采用分治法划分:设直线P1Pn是经过最左边的点P1和最右边的点Pn的直线,直线P1Pn将集合S划分为两个子集S1,S2。求解子问题:求集合S1的上包和集合S2的下包。合并:求解过程中获得凸包的极点,因此无须进行合并操作。算法:求直线PiPj的上包输入:按x坐标升序排列n个点的集合S={(Xi,Yi),(X

2021-03-29 11:00:42 651

原创 分治法-快速排序

分治法:1.递归出口(采用递归形式)2.把问题划分为若干形式相同,相互独立的子问题3.(递归)求解子问题4.合并子问题的解#include <iostream>#include<vector>using namespace std;void quicksort(vector<int> &v, int l, int r){ if (l >= r) { //递归出口 return; } else { int x = v[l];

2021-03-29 09:32:44 179

原创 N皇后问题

![解向量vector a,元素a[i]代表第i行第a[i]行放皇后(https://img-blog.csdnimg.cn/20210325171020962.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzQ4NzE1NQ==,size_16,color_FFFFFF,t_70#pic_center)N皇后问题。在N×N

2021-03-25 17:15:53 178

原创 贪心算法-求解畜栏问题

题目内容:有n头牛(1<=n<=50,000)要挤奶。给定每头牛挤奶的时间区间A,B。牛需要呆在畜栏里才能挤奶。一个畜栏同一时间只能容纳一头牛。问至少需要多少个畜栏,才能完成全部挤奶工作,以及每头牛都放哪个畜栏里?注意:在同一个畜栏的两头牛,它们挤奶时间区间不能在端点重合。输入格式:第1行:一个正整数N;第2…N+1行:第i+1行的两个整数给出第i头奶牛的挤奶时间。输出格式:需要畜栏的最小数输入样例:51 102 43 65 84 7输出样例:4#include

2021-03-22 11:05:51 1972

原创 求解区间覆盖问题

问题:题目内容:设x1,x2,… ,xn是实直线上的n个点。用固定长度的闭区间覆盖这n个点,至少需要多少个这样的固定长度闭区间?设计求解此问题的有效算法。对于给定的实直线上的n个点和闭区间的长度k,编程计算覆盖点集的最少区间数。输入格式:输入数据的第一行有2个正整数n和k,表示有n个点,且固定长度闭区间的长度为k。接下来的1行中,有n个整数,表示n个点在实直线上的坐标(可能相同)。输出格式:将编程计算出的最少区间数输出。输入样例:7 31 2 3 4 5 -2 6输出样例:3#incl

2021-03-22 00:01:51 412

空空如也

空空如也

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

TA关注的人

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