
基础算法
我的算法学习
LHNC
大四再不努力学习工作技能,准备吃土了!
展开
-
成绩排序 C++多排序
接下来的NN行包括NN个学生的数据。每个学生的数据包括姓名(长度不超过100100的字符串)、年龄(小于等于100100的正数)、成绩(小于等于100100的正数)。有NN个学生的数据,将学生数据按成绩从低到高排序,如果成绩相同则按姓名字符的字典序排序,如果姓名的字典序也相同则按照学生的年龄从小到大排序,并输出NN个学生排序后的信息。学生姓名的字母序区分字母的大小写,如AA要比aa的字母序靠前(因为AA的ASCII码比aa的ASCII码要小)。...原创 2022-07-27 22:49:33 · 2375 阅读 · 1 评论 -
质数+C++处理整数和字符串
给定一个正整数XX,请你在XX后面添加若干位数字(至少添加一位数字;添加的数不能有前导0),使得结果为质数,在这个前提下所得的结果应尽量小。输入格式第一行包含一个整数TT,表示共有TT组测试数据。每组数据占一行,包含一个整数XX。...原创 2022-07-25 21:30:55 · 483 阅读 · 0 评论 -
MNIST数据集(CNN+Adam+F.nll_loss)
MNIST包括6万张28x28的训练样本,1万张测试样本,可以说是CV里的“HelloWord”。下面我们就开始进行实战。我们直接使用PyTorch中自带的dataset,并使用DataLoader对训练数据和测试数据分别进行读取。test_loss+=F.nll_loss(output,target,reduction='sum').item()#将一批的损失相加。optimizer=optim.Adam(model.parameters())#使用Adam优化器。......转载 2022-07-22 17:55:03 · 546 阅读 · 0 评论 -
c++ set容器、双指针去重--每日一题
给定一个包含nn个整数的数组,请你删除数组中的重复元素并将数组从小到大排序后输出。第二行包含nn个不超过10001000的正整数。输出去重和排序完毕后的数组。第一行包含一个整数nn。原创 2022-07-21 14:32:15 · 501 阅读 · 0 评论 -
最大连续子序列--每日一题
dp原创 2022-07-19 18:53:31 · 156 阅读 · 0 评论 -
二叉搜索树c++--每日一题
输入一系列整数,利用所给数据建立一个二叉搜索树,并输出其前序、中序和后序遍历序列。共三行,第一行输出前序遍历序列,第二行输出中序遍历序列,第三行输出后序遍历序列。输入中可能有重复元素,但是输出的二叉树遍历序列中重复元素不用输出。输入元素取值范围[1,1000][1,1000]。第一行一个整数nn,表示输入整数数量。第二行包含nn个整数。...原创 2022-07-15 22:42:42 · 605 阅读 · 0 评论 -
二叉树遍历(前序+中序->后序)c++
2022/7/13原创 2022-07-13 20:41:55 · 217 阅读 · 0 评论 -
手机键盘(模拟题)
2022/7/12原创 2022-07-12 23:18:49 · 221 阅读 · 0 评论 -
连通图(并查集)
例题:并查集 2022/7/11原创 2022-07-11 21:59:31 · 217 阅读 · 0 评论 -
基础算法--快速幂
快速幂 例题-acwing 2022/7/8原创 2022-07-08 21:45:11 · 197 阅读 · 0 评论 -
判断素数function
C++判断素数函数(算法)2022/7/6原创 2022-07-06 21:50:06 · 246 阅读 · 0 评论 -
字符串模式匹配kmp算法(找到p在模式串s中多次出现的位置)
题意:s是模式串,求p在s中多次出现的位置输入:第一行:一个整数n,表示p的长度第二行:字符串p第三行:一个整数m,表示s的长度第四行:字符串s输出:一行整数,表示p在s中多次出现的位置样例:输入:3aba5ababa输出:0 2注意:字符串在数组中从 1 存到 n / m 一般的数据结构书上求的next数组是p[i]之前(不包含p[i])的最长真前缀和真后缀匹配的长度,而本例中求的next数组(ne)表示包含p[i]的最长真前缀和.原创 2022-05-15 19:45:39 · 560 阅读 · 0 评论 -
单调队列(滑动窗口)
要求:给定一组数和滑动窗口的大小,从左至右,输出每个位置滑动窗口中的最小值,从左至右,输出每个位置滑动窗口中的最大值。样例:输入:8 31 3 -1 -3 5 3 6 7输出:-1 -3 -3 -3 3 33 3 5 5 6 7队列中存放的是数组下标 队列前面的值对应数组中的数一定小于队列后面的值对应数组中的数(队头元素对应的数组中的数就是当前窗口中的最小值 最小值和最大值的代码只需修改>=为<=即可达到队列单调效果#include..原创 2022-05-12 20:16:58 · 513 阅读 · 0 评论 -
单调栈(从前往后求小于且最接近当前数的数)
要求:给定一组数a1,a2,a3……an,求每个数之前的小于且距离当前数最近的数。若没有,则输出 -1。样例:输入:53 4 2 7 5输出:-1 3 -1 2 2#include<iostream>using namespace std;const int N=100010;int n;int stk[N],tt;int main(){ cin>>n; for(int i=0;i<n;i+...原创 2022-05-11 20:20:55 · 213 阅读 · 0 评论 -
vector容器 C++
C++ vector用法解析 - 知乎 (zhihu.com)一、什么是vector数组vector是向量类型 vector数组是可以存放任意数据类型的动态数组 和普通数组类似,可以通过下标对数组中的元素进行引用二、vector的基本操作使用vector数组要在头文件中加 #include<vector> vector数组的声明vector<int> vec;//声明一个存放int型的向量vector数组的初始化vector<int> v原创 2022-05-01 09:14:53 · 1646 阅读 · 0 评论