![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 55
云夜OVO
欲买桂花同载酒,终不似,少年游
展开
-
【kaggle数据集无法下载解决办法】
然后在Settings里找API下的Create New Token,此时浏览器会自动下载kaggle.json文件。先登录自己的kaggle账号,再点击头像,在下拉列表里点击Settings。等待几分钟后C盘下的用户目录会出现.kaggle文件夹。原创 2024-06-24 17:00:08 · 544 阅读 · 2 评论 -
[兰顿蚂蚁]有感--诡异又不失优雅的蚂蚁
初始,蚂蚁的运行轨迹看起来是混沌的,不可预测的,但是当这只蚂蚁超过一万步之后i,我们发现它居然开始沿着一条直线运行。原创 2022-07-21 11:46:43 · 376 阅读 · 0 评论 -
【动态规划】完全背包问题求解方案数及其优化原理C++
动态规划完全背包的分析及优化原创 2022-06-05 15:26:26 · 319 阅读 · 0 评论 -
枚举题的做法思路总结
本文主要介绍算法题里面枚举题的做法思路,希望每天都能进步枚举题的做法思路一、什么是枚举以及枚举的优化策略?二、例题及思路1.[四平方和](https://www.acwing.com/problem/content/description/1238/)2.[递增三元组](https://www.acwing.com/problem/content/description/1238/)总结:`一、什么是枚举以及枚举的优化策略?枚举就是说通过一一列举每一种答案的可能情况,每一次枚举的时候判断当前的.原创 2022-04-05 11:45:23 · 2357 阅读 · 0 评论 -
深度优先遍历的应用之排列组合问题
本文主要介绍深度优先遍历及如何用深度优先遍历的思维去解题。主要例题有:全排列问题,洛谷P1036 [NOIP2002 普及组] 选数。一,深度优先遍历深度优先遍历分递归和非递归两种写法,这里介绍递归写法以及深度优先遍历的搜索框架。用深度优先遍历去解题的时候,我们的思路是:1.find,在当前层横向遍历,找到符合条件的节点;2.forward,如果找到了符合条件的节点,并且当前位置不是最后一层,那么就把该节点加入需要处理的数组或者其他存储结构中;3.done,如果找到了符合条件的节点并原创 2022-01-19 18:34:58 · 820 阅读 · 0 评论 -
高精度算法 (c++)
关于输入的数据比long long类型的还要大的时候,需要用到字符串存储数据,这里介绍关于高精度加法以及高精度乘法的一些思路及代码。首先思路是输入两个高精度吧数到两个字符串中,采用动态数组vector来存储字符转换成的数字,然后再分别遍历整个数组,每一次把两个数对应位置的数以及上一位产生的进位相加,最后输出结果。详细代码如下:#include<iostream>#include<string>#include<vector>using namespac原创 2022-01-17 14:47:16 · 1483 阅读 · 0 评论 -
关于删除有序数组中重复项的解法探讨
题目:来自leetcode第26题,删除有序数组中的重复项。链接如下力扣https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/如果用暴力解法,思路是将扫描一遍整个数组,发现两个元素相等时,把前面的元素赋值到一个新数组中,这样就剔去了数组中的重复元素。但是本题要求不使用额外的数组空间,必须原地修改数组,所以考虑扫描数组时把数组前面的值给覆盖掉。代码如下:class Solution {p...原创 2021-10-10 16:15:17 · 184 阅读 · 0 评论 -
关于用链表实现多项式加法问题探讨
#include<iostream>#include<malloc.h>using namespace std;int n;typedef struct pol{ float coe; int ex; struct pol* next;}pol,*Pol;Pol createPol(Pol L,int n){ L=(Pol)malloc(sizeof(pol)); L->next=NULL; Pol s; for(int i=0;i&.原创 2021-09-29 21:49:51 · 116 阅读 · 0 评论 -
用栈模拟队列详解
首先我们来看一下栈和队列的区别和联系。栈是一种后入先出的数据结构,队列是一种先入先出的数据结构。相同点是栈和队列都是属于线性表。通常来说有两种方法实现。 一种是用两个栈实现队列。这里附上leetcode第232题链接。力扣https://leetcode-cn.com/problems/implement-queue-using-stacks/用两个栈实现队列的核心操作是:定义两个栈,一个输入栈inStack,一个输出栈outStack.然后当输入栈inStack非空时,将输入栈中的元素值...原创 2021-09-25 18:28:51 · 319 阅读 · 0 评论 -
字符串匹配算法KMP详解
本人是普通本科院校的一名大二学生,为提高自身能力特地锻炼自己发表一些文章,题解等,望各位大佬能够对我这个菜鸟所做多多指正,在此谢过各位啦~~~文章的开始,我想向KMP算法的三位创始人Knuth,Morris,Pratt致敬,如此思维之精妙,堪称大神。KMP算法是字符串匹配算法中一个很重要的算法,KMP算法的作用是在一个字符串中寻找子串的位置,也叫串的模式匹配。如主串s="aaabbaab",子串t(也叫模板串)="aab",要寻找aab在主串中的位置。字符串匹配的暴力做法就是分别将两个指针i,原创 2021-09-04 11:01:39 · 4448 阅读 · 0 评论 -
归并排序算法详解
本人是普通本科院校的一名大二学生,为提高自身能力特地锻炼自己发表一些文章,题解等,望各位大佬能够对我这个菜鸟所做多多指正,在此谢过各位啦~~~本文主要讲解经典排序算法中的归并排序算法,归并排序的主要思想是分治,方法是先确定分界点mid=(l+r)/2,再分别递归左右两边,最后把两边归并,合二为一。具体代码如下:(c++版本)#include<iostream>using namespace std;#define N 100000int n;int q[N],te.原创 2021-08-28 18:45:41 · 681 阅读 · 0 评论 -
二分查找算法详解
二分法是一种高效的查找算法,在一个由若干个数由小到大组成的一维数组中,设左边界为l,右边界为r,主要思想就是先找中间值mid=(l+r)/2,写一个check函数,便于判断mid是否满足该性质,比如check函数可定义成其他数分别与mid比较,如果比较结果为真,就进一步判断如何更新区间,如果更新方式是l=mid,那么mid就要变成(l+r+1)/2,也可写作l+r+1>>1.这里解释一下为什么有的时候加一,有的时候不加一,就是说当最后状态为l=r-1的时候,mid下取整得mid=l,此时更新方式原创 2021-08-27 19:08:27 · 750 阅读 · 1 评论 -
链表(以数组模拟链表和结构体数组写法)的C++代码实现
本人是普通本科院校的一名大二学生,为提高自身能力特地锻炼自己发表一些文章,题解等,望各位大佬能够对我这个菜鸟所做多多指正,在此谢过各位啦~~~关于链表,我想大家一定不会陌生。链表是一种线性排列的成为节点元素的集合,每个节点当中包含一个数据值(data)和一个指向下一个节点地址的指针(next)。链表分为单链表和双链表,操作主要有插入,删除等。还有邻接表主要由n个链表组成,主要用来存储图和树。第一种方法,用数组模拟链表,定义一个val数组来存储数据值,一个ne数组存储的是指下一个节点的指针,此方原创 2021-08-27 15:57:45 · 907 阅读 · 0 评论 -
对于寻找大于n(n>100000)的最小质数的一些见解
本人是普通本科院校的一名大二学生,为提高自身能力特地锻炼自己发表一些文章,题解等,望各位大佬能够对我这个菜鸟所做多多指正,在此谢过各位啦~~~今天是第一次发表文章。#include<iostream>using namespace std;int n;int main(){ cin >> n; for (int i = n;; i++) { bool flag = true; for (int j = 2; j * j <= i; j.原创 2021-08-26 18:05:55 · 432 阅读 · 0 评论