- 博客(18)
- 资源 (1)
- 问答 (3)
- 收藏
- 关注
原创 Linux程序设计的入门操作及指令
1.ls命令ls:显示当前工作目录下的所有文件夹即文件名相对目录:相对于当前目录绝对目录:从根目录开始寻找./:表示当前目录…/:表示上一级目录常用的选项:ls -l 路径,ls -la 路径,ls -lh 路径-l:以详细列表的方式进行展示-a:列出当前目录的所有文件(包括隐藏目录)Linux中所有隐藏目录均已 ’.’ 开头-lh:列出指定路径下的所有文件/文件夹的名称,一列表...
2020-03-05 17:18:50
518
原创 高精度问题
适用范围:超出long long级别的运算本质:逆序存储数据,模拟现实运算为什么要逆序存储:理由很简单,便利于进位和借位。需要处理好的问题:进位,借位,以及输出问题(容易遗漏项)加法#include<iostream>#include<string>#include<math.h>using namespace std;int a1[1001]...
2020-02-25 19:45:20
678
原创 map和multimap容器的基本使用
map是STL的一个关联容器,它提供一对一的hashKey-value:键值匹对Map中key不可重复,value可重复内部实现:红黑树键值可以是自定义的数据Map<type,type>名map内部元素有序(根据key来堆大项)插入方式:主分两种Map<int,string>map1;1.array式map1[int]=stringmap1[1]=”l...
2020-02-21 16:34:43
228
原创 优先队列
priority_queue:优先级最高的元素先出队列(内部元素被赋予了优先级)与queue不同:可以自定义元素的优先级相同:具有队列的全部特性定义:priority_queue<type,container,functional>Type:数据类型Container:装载数据的容器(必须是数组实现的容器,如array,vector),默认vectorFunctional:...
2020-02-20 00:20:37
186
原创 容器与结构体的结合使用
容器中不仅可以安放基本的数据类型,也可以放置指定的数据类型。这里就简单介绍下set与结构体的混合使用,以及在set中搜索指定数据(这里需要用set的内置find函数,以及涉及到运算符的重载)#include<iostream>#include<set>#include<algorithm>using namespace std;struct Lov...
2020-02-19 16:25:17
1961
原创 再谈背包问题(涉及思想层面)
背包问题的本质:穷举背包的容量和可供选择的物品(物品),取得最优解,只不过在穷举的过程中,只去考虑可能会取得最优解的地方,不能取得最优解的不考虑。思想便是用每一个可执行的动作(或者物品)去更新当前的状态某物品在取或者不取的时候用的是前面的状态那么如何证明当前的状态一定正确呢?1.状态的转移正确(状态转移方程正确)2.之前的状态正确(最优解)那么为什么背包问题的求解要从最大的背包容量数开...
2020-02-14 01:07:08
371
原创 讲讲二进制中如何快速有几个1
在本章内容中主讲n&=n-1与n+=n&-n;判断一个数的二进制中有几个1,通常想到的办法是不断右移,不断判断(记住右移与左移是针对二进制中所有位数的,并非简单末尾指针的移动)代码如下:int fib(int n)//还可以继续优化{int count=0;for(int i=0;i<32;i++) if((n>>i)&1==1)count...
2020-02-10 14:19:44
459
原创 讲讲矩阵与倍数
对给定的一个数N,问求在1~N这个区间里有几个数x的倍数简单,小学问题,直接N/x便是其个数但是当问题来到矩阵里时,问求一个任意大的矩阵中共有几个点的横纵坐标的约数(不一定是最大约数)是x,(不过这里的横纵坐标是从1开始),其实解法相似,(n/x)(n/x)即为个数。好了,有了思想,下面便来一道例题练练手:1<=n<=40000问求给定一NN矩阵,问求矩阵中有几个点的横纵坐...
2020-02-09 21:39:41
4735
原创 upper_bound和lower_bound的相关用法及其误区
头文件:#includeupper_bound用于返回有序数组中第一个比指定数大的数的指针lower_bound用于返回有序数组中打一个大于等于指定数的数的指针函数内部的实现是通过二分查找(不有序的话边界会出问题,且放回来的值无厘头)对于指针,减掉其数组名便可以得到指定数在数组中的位置。好了,开始进入正题如所见,黑体字所标皆为重点,1.数组必须为有序且为升序,如果是降序就会发生莫名其...
2020-02-08 23:26:05
1008
1
原创 最大工时价值问题
动态规划问题描述:输入n个时间段以及各个时间段对应的价值,求解在不冲突的情况下能得到最大的工作价值(工作价值不一定与时间的长短成正比)输入有要求的,要求第i个任务的结束时间一定要大于前面任务的结束时间(有了这个要求皆可以不用谢结构体在进行排序了)样例:81 4 53 5 10 6 84 7 43 8 65 9 36 10 28 11 4``输出:3先分析分析问题,别看到这...
2020-02-08 20:33:39
985
原创 谈背包问题
背包问题主要分为两种,01背包和完全背包01背包:就是一个背包里不能重复的放入一件物品完全背包:放入背包的物品仅受当前背包的容量影响(可以重复放入物品)01背包的一维函数内层循环是倒着的,不然会重复完全背包的一维函数内层循环正序,正是利用了其重复来解决问题。下面由两道例题来讲述:1.采药问题:题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望...
2020-02-05 23:12:55
225
原创 在ASCLL上掉过的坑
如果对ASCLL不了解的话,容易在进制转换以及由ASCLL值输出对应的ASCLL码(控制字符)时出现错误,由于本博主常犯错,故写下此篇避免错误的再犯。下面列出常见控制字符及其对应的ASCLL值(往后的自己推理)‘0’:48‘9’:57‘A’:65‘Z’:90‘a’:97‘z’:122如果是直接输出两个字符相减或相加,输出的值会是运算后的字符的ASCLL值,而不是对应字符,如cout...
2020-02-05 21:29:28
260
1
原创 堆与栈
容量大小问题一般而言,局部变量是放在栈中,全局变量是放在堆中,栈相比堆更小些栈的大小通常为1M或2M,堆的大小为2G。不同环境所能开的到的最大空间有所差异int :4个字节char:1个字节long long:8个字节本人环境下,int q[30000][30000];二维数组可以开到3000030000.建议要使用的大容量多维数组放在全局位置(存储在堆中)注意的是static ...
2020-02-02 21:09:49
269
原创 如何开很大的数组问题
大数组问题在做题时常发现题目要求要开很大的数组(多则百万甚至上亿)此时,开long long 型的数组已经不管用了(不仅运行时间会卡爆,且本身不支持开这么大的数组)此时可以想到用vector来等效替代这么大的数组,vectorq,q.max_size()可知向量里可以容纳1073741823个数据(亲测开一亿没有问题,就是程序运行有点慢)有时候也会遇到要开非常大(如数百万,正常开肯定不行)...
2020-02-02 20:33:40
4451
原创 树形结构
对称二叉树一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树:二叉树;将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。下图中节点内的数字为权值,节点外的 ididid 表示节点编号。现在给出一棵二叉树,希望你找出它的一棵子树,该子树为对称二叉树,且节点数 最多。请输出这棵子树的节点数。注意:只有树根的树也是对称二叉树。本题中约定,以节点 TTT 为子树...
2020-02-02 13:43:40
507
原创 (动态规划)指定数字某一数列中累加能否得到的问题
指定数字某一数列中累加能否得到的问题样例:6 93 34 4 12 5 26表示数列的长度,9为指定数字输出:1利用动态规划,对数列里的每一个数字进行考虑,即选或不选fib(int n,int s)表示轮到第n个数字时,指定数字的大小为s在递归中要处理好出口问题即可。在这里插入代码片#include<iostream>using namespace std;int ...
2020-01-30 21:49:24
304
1
原创 动态规划
不相邻数字累加最大问题代码模型:fib(i)=max{选+另一步,不选(直接另一步)};对于重叠子问题,使用记忆化搜索#include<iostream>#include<math.h>using namespace std;int q[100];int mem[100]={0};bool flag[100]={false};int fib(int n)...
2020-01-30 19:28:14
219
原创 洛谷A+B问题(p1115)
标题 洛谷A+B问题(p1115)题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。输入格式第一行是一个正整数NNN,表示了序列的长度。第二行包含NNN个绝对值不大于100001000010000的整数AiA_iAi,描述了这段序列。输出格式一个整数,为最大的子段和是多少。子段的最小长度为111。输入输出样例输入 #172 -4 3 -1 2 -4 3输出 #...
2020-01-29 01:28:21
849
netty启动时打印了很多日志是什么原因?
2021-04-26
AQS疑惑,关于 AQS的可见性问题
2021-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人