- 博客(11)
- 收藏
- 关注
原创 java编译通过,为什么运行却提示找不到或无法加载主类?
java编译通过,为什么运行却提示找不到或无法加载主类?既然编译已经通过,说明java-home已经配置的没有问题了。(java-home对应的变量值为java.exe所在的路径;一般是在安装路径下,例如:c:\ProgramFiles\Java\jdk1.7.0_45\bin)第一种可能:问题出在了Patn变量对应的变量值上或者是新建用户变量classpath上有问题,重新配置试一哈。Path对应的变量值是在原来的变量值前面加上%Java_Home%;而classpath对应的变量值应该设为.;(一个
2021-09-16 21:32:18 1238
原创 栈 队列 KMP
栈先进后出int tt;int st[N];int x;cin >> x;//进栈st[ ++ tt] = x;//弹出t --;//输出栈顶元素cout << st[tt] ;//判空if(tt > 0) not empty;else empty; 830.单调栈#include<iostream>using namespace std;const int N = 1010;int n;int T[N], tt;i
2021-05-10 22:48:07 100
原创 双指针 离散化 位运算
双指针核心思想利用朴素算法的单调性,将O(n^2)优化到O(n)。算法模板for(int i = 0, j = 0; i < n; i ++){ while(check(i, j)) { ... j ++; }}离散化(整数)离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200}
2021-05-04 15:27:12 105
原创 高精度算法
高精度加法算法思想1.逆序储存,方便进位。2.位相加时用t记录,方便判断位上是否有数,方便进位处理。#include<iostream>#include<vector>using namespace std;vector<int> add(vector<int> &A, vector<int> &B){ vector<int> C; int t = 0; for(int i = 0; i <
2021-04-25 18:19:15 199 1
原创 快排 归并 二分
快排分治算法思想1.确定分界点x。2.将比x小的数放在x的右边,比x大的放在x的左边。3.递归处理左右两段。例题Acwing 785.快速排序#include<iostream>using namespace std;const int N = 1e6 + 10;int n;int q[N];void quick_sort(int q[], int l, int r){ if(l >= r) return; int x = q[l], i = l -
2021-04-24 00:47:26 125
原创 最短路径
最短路径单源最短路径所有边权都是正数朴素Dijkstra算法堆优化版的Dijkstra算法存在负权边Bellman-Ford算法SPFA算法多源汇最短路Floyd算法单源最短路径单源最短路:求一个点到其他所有点的最短距离。所有边权都是正数所有边权都是正数:所有边的权重都是正数。朴素Dijkstra算法朴素Dijkstra算法的时间复杂度为O(n²)(n表示点数),与边没有关系,所以我们多用朴素Dijkstra算法来解决稠密图的问题。实现过程1.初始化距离。dist[1] = 0;dis
2021-02-27 23:55:35 141
原创 单链表和双链表
单列表和双列表单链表单链表的简单操作双链表双链表的简单操作单链表单链表的最大特点是可以将物理地址上不连续的数据连接起来,通过指针来对物理地址进行操作,实现增删改查等功能。单链表可以用来写邻接表,邻接表可以用来存储图和树。 链表中的数据是以结点来表示的,每个结点存两个值:数据+next指针,空集的下标为-1,单链表是链式存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。 单链表结点中只有一个只指向后继的指针,使得单链表只能从头结点开始一次顺序的先后遍历。要访问某个结点的前驱结点
2021-02-02 23:07:33 737
原创 DFS和BFS
文章目录什么是DFS?什么是BFS?DFS与BFS的区别应用举例什么是DFS?深度优先遍历(DFS)也叫深度优先搜索。顾名思义,深度优先,则是以深度为准则,先一条路走到底,直到达到目标。这里称之为递归下去。 DFS相当与一种工具,回溯是深度优先搜索的一种。简述实现步骤1、从顶点出发。2、访问顶点,也就是根节点。3、依次从顶点的未被访问的邻接点出发,进行深度优先遍历;直至和顶点有路径相通的顶点都被访问。4、若此时尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到所有顶点均被
2021-01-29 13:20:39 575
原创 前缀和与差分
前缀和与差分前缀和前缀和的应用在一维数组中:比如说吧,当输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。我们很容易想出暴力解法,遍历区间求和。int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++) scanf("%d",&a[i]);while(m--){ int l,r; int sum=0; scanf
2021-01-24 18:30:33 207
原创 String库函数
常用的string函数库1.字符长度( length(); size(); )#include<bits/stdc++.h>using namespace std;int main(){ string a; cin>>a; cout<<a.length()<<endl; cout<<a.size()<<endl;}2.容量capacity(); 反应当前内存块儿的大小reserve(); 能
2021-01-12 18:01:38 1878
原创 C++中输入字符串的几种方法
C++中输入字符串的几种方法C++的字符串输入方式有1.cin>>2.cin.get()3.cin.getline()4.getline()5.gets()cin第一种用法是逐个输入数字或者字符,中间用空格隔开。第二种用法是读入一个字符串,遇到“空格”“TAB”“回车” 都会结束。例如:#include<iostream>#include<string>using namespace std;int main(){ string s;
2021-01-12 14:09:27 8593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人