自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

默的博客

一个小菜鸡

  • 博客(365)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 148. 排序链表

题目传送门链接:https://leetcode-cn.com/problems/sort-list/题干题解时间复杂度为 O(nlogn) 的排序有归并排序、堆排序、快速排序但是自顶向下排序的话,空间复杂度为 O(logn)。如果要达到 O(1) 的空间复杂度,需要自底向上进行排序本菜鸡不会写 O(1) 的算法,采用了一种投机取巧的方法:先把链表中的值取出放到数组内,对数组进行快速排序,再放回链表时间复杂度为 O(nlogn),空间复杂度为 O(logn)Code/** * Def

2021-03-19 17:33:19 171 1

原创 leetcode 234. 回文链表

题目传送门链接:https://leetcode-cn.com/problems/palindrome-linked-list/题干题解可以先把链表的值记录在一个数组内,再判断这个数组是否是回文即可Code/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {}

2021-03-19 11:02:42 190 1

原创 leetcode 92. 反转链表 II

题目传送门来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list-ii题干题解刚刚做完一道翻转链表,趁热打铁,把这道题也做了还是使用两个指针变量,pre 和 cur 来记录前驱节点和当前节点1、先进行右移,直到 cur 为 left 节点2、再把 left 和 right 范围内的节点指针进行反转因为最后需要更改这些指针的指向,我用到了四个指针 p1、p2、p3、p4,来记录 left-1 号节点、le

2021-03-18 21:20:50 142

原创 leetcode 206. 反转链表

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解法:需要将链表每个节点的指针进行翻转首先需要两个指针变量:前驱节点 pre、当前节点 cur因为需要把当前节点

2021-03-18 19:57:46 153

原创 leetcode 3. 无重复字符的最长子串(尺取法)

链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。尺取法分两种情况:①如果当前区间内没有重复的字符,就一直向右扩展右端点 r,并更新答案 res②如果有重复的字符,就左移左端点 l,直到没有重复

2021-03-18 15:02:05 184

原创 leetcode 5. 最长回文子串(区间dp)

链接:https://leetcode-cn.com/problems/longest-palindromic-substring给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。区间dp的做法:1、先设置好动态规划数组所表示的状态dp[i][j]:表示区间 [i, j] 是否为回文子串, 0 代表区间不是回文子串,1 代表区间是回文子串2、确定初始状态首先将区间长度为1的都设为1,即dp[i][

2021-03-18 12:20:27 362

原创 动态规划的基本模型

文章目录1258 【例9.2】数字金字塔1259:【例9.3】求最长不下降序列1258 【例9.2】数字金字塔#include <iostream>#include <algorithm>using namespace std;const int N = 1005;int a[N][N], dp[N][N];int main(void){ int r; cin >> r; for (int i = 1; i <= r; i++) for

2021-03-13 22:18:23 965 4

原创 感知机算法原理

文章目录感知机是什么?感知机的原理感知机的学习算法一点心得参考资料感知机是什么?感知机(perceptron):模拟生物神经元行为的机器,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(细胞体),输出为+1或-1。感知机是神经网络(深度学习)的起源算法,学习感知机的构造是通向神经网络和深度学习的一种重要思想。感知机的原理接收多个信号 xix_ixi​,用权重 wiw_iwi​ 乘以 xix_ixi​,再加上一个偏置值 bbb得到结果 ∑i=1nwixi+b∑_{i=1}^{

2021-03-13 12:28:30 803 1

原创 Java大数类运算

心血来潮想写一下高精度,结果发现不会写 QAQ这个… 还是用Java吧import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] arg) { Scanner in = new Scanner(System.in); BigInteger a, b; a = in.nextBigInteger(); b = in.nextBigI

2021-03-07 20:24:02 172 1

原创 启动虚拟机出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”

启动虚拟机失败:原因:没有开启初始化打开任务管理器,点击“CPU”,可以看到:解决方法(联想电脑):1、开机时,按“Fn+F2”,会听到滴的一声,进入BIOS界面2、选择“configuration”,找到“intel virtual technology”,按回车,将“Disable” 改为“Enable”3、最后按“Fn+F10”保存并退出。这时打开任务管理器,点击“CPU”,可以看到:...

2021-02-27 20:36:06 32443 7

原创 洛谷题单【算法1-6】二分查找与二分答案

文章目录P2249 【深基13.例1】查找P1873 砍树P1678 烦恼的高考志愿P2440 木材加工P2678 [NOIP2015 提高组] 跳石头P3853 [TJOI2007]路标设置P1182 数列分段 Section II二分算法:https://blog.csdn.net/weixin_43772166/article/details/105307762P2249 【深基13.例1】查找使用STL即可#include <iostream>#include <cstd

2021-02-16 20:23:13 763 2

转载 Redis学习记录

文章目录NoSql概述为什么要用NoSqlNoSQL的四大分类Redis入门概述Linux环境安装redis测试性能基础知识五大数据类型Redis-keyStringListSetHashZset(有序集合)三种特殊数据类型geospatial地理位置HyperloglogBitmap事务Jedis常用API通过Jedis再次理解事物SpringBoot整合RedisRedisUtil实战记录Spring缓存Redis缓存RedisConfig.javaRedis.conf详解Redis持久化RDB(Red

2021-02-16 15:43:42 1217 1

转载 Typora+PicGo+Gitee搭建个人免费图床,创作博客必备~

前言写博客的时候,我是先在本地使用Typora写出markdown格式的内容后,再复制上CSDN发布,由于markdown文件对图片是采用特定语法从本地资源中引用显示的,而不是直接嵌入md文件,所以在粘贴到CSDN编辑器的时候,只要是图片,由于无法访问本地图片资源,就只能手动一张张上传图片,效率非常低下,所以才找到了利用Gitee+PicGo+Typora实时上传图片的方法,特地记录下来,希望能够帮到大家。1、创建Gitee图床仓库2、申请Gitee个人私钥只勾选projects,其余不勾

2021-02-16 15:10:55 348

原创 乌龟棋(动态规划)

小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。乌龟棋的棋盘只有一行,该行有 N 个格子,每个格子上一个分数(非负整数)。棋盘第 1 格是唯一的起点,第 N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中共有 M 张爬行卡片,分成 4 种不同的类型(M 张卡片中不一定包含所有 4 种类型的卡片),每种类型的卡片上分别标有1、2、3、4 四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数。游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使用过的爬行卡片,控制乌龟

2021-02-09 21:07:08 662 3

原创 耍杂技的牛(贪心)

农民约翰的N头奶牛(编号为1…N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。奶牛们不是非常有创意,只提出了一个杂技表演:叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。奶牛们正在试图找到自己在这个堆叠中应该所处的位置顺序。这N头奶牛中的每一头都有着自己的重量Wi以及自己的强壮程度Si。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括它自己)减去它的身体强壮程度的值,现在称该数值为风险值,风险值越大,这只牛撑不住的可能性越高。您的任务是确定奶牛的排序,使得所有奶牛的风险

2021-02-03 23:28:34 306 4

转载 GCC gcc g++ c++区分

含义GCC(GNU Compiler Collection):是由GNU开发的编译器套件gcc是GCC中的C编译器g++是GCC中的C++编译器对于G++和C++的区别在提交题目中的语言选项里,G++和C++都代表编译的方式。准确地说,选择C++的话,意味着你将使用的是最标准的编译方式,也就是ANSI C++编译。如果你使用的是G++的话,意味着你将使用GNU项目中最平凡适用人群最多的编译器(其实也就是我们熟悉的Code::Blocks的自带的编译器,Windows环境里一般是MinGW下的g

2021-01-31 20:50:11 529 1

原创 星星之夜(dfs)

夜空深处,闪亮的星星以星群的形式出现在人们眼中,形态万千。一个星群是指一组非空的在水平,垂直或对角线方向相邻的星星的集合。一个星群不能是一个更大星群的一部分。星群可能是相似的。如果两个星群的形状、包含星星的数目相同,那么无论它们的朝向如何,都认为它们是相似的。通常星群可能有 8 种朝向,如下图所示:现在,我们用一个二维 01 矩阵来表示夜空,如果一个位置上的数字是 1,那么说明这个位置上有一个星星,否则这个位置上的数字应该是 0。给定一个夜空二维矩阵,请你将其中的所有星群用小写字母进行标记,

2021-01-27 22:48:25 315 2

原创 关押罪犯(扩展域并查集)

扩展域并查集(不会二分图 QAQ)我们先按照两个人之间的仇恨从大到小排序,先解决大的仇恨,直到有仇恨无法解决,这样使得发生的冲突尽可能小因为一个罪犯有朋友和仇人,需要开2倍大小的并查集,表示朋友域和仇人域如果a和b是仇人,那么就进行:1)合并a和b的仇人域(表示a和b的仇人是朋友,关入同一个监狱)2)合并a的仇人域和b(表示a的仇人和b是朋友,关入同一个监狱)#include <bits/stdc++.h>using namespace std;const int N = 4..

2021-01-24 20:08:25 379

原创 poj2279 Mr. Young‘s Picture Permutations

DescriptionMr. Young wishes to take a picture of his class. The students will stand in rows with each row no longer than the row behind it and the left ends of the rows aligned. For instance, 12 students could be arranged in rows (from back to front) of 5

2021-01-16 21:27:49 270

原创 poj1191 棋盘分割(记忆化搜索)

题目传送门:http://poj.org/problem?id=1191Description将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行)原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成n块矩形棋盘,并使各矩形棋盘总分的均方差最小。均方差 σ=Σi=1n(xi−xˉ)2nσ=\sqrt \

2021-01-16 13:53:47 410 1

原创 2020年天梯赛题目

文章目录L1-1 嫑废话上代码 (5分)L1-2 猫是液体 (5分)L1-3 洛希极限 (10分)L1-4 调和平均 (10分)L1-5 胎压监测 (15分)L1-6 吃火锅 (15分)L1-7 前世档案 (20分)L1-8 刮刮彩票 (20分)L2-1 简单计算器 (25分)L1-1 嫑废话上代码 (5分)#include <bits/stdc++.h>using namespace std;int main(void){ puts("Talk is cheap. Show me

2021-01-11 10:45:13 2039

原创 数字三角形(动态规划)

确定状态为分数的累加和,边界位置只能由上面转移而来,其他位置则可以由正上方和左上方转移而来#include <bits/stdc++.h>using namespace std;const int N = 505;int arr[N][N], dp[N][N];int main(void){ int n; cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j &..

2021-01-10 10:10:34 667

原创 批量修改文件名

批量修改指定文件夹下的文件名import os# 需要重命名的文件夹path = 'E:/rename'# 得到文件夹中的文件名file_list = os.listdir(path)# 文件的索引idx = 1# 改名后的文件类型new_type = '.jpg'for file in file_list: # 原文件名 name = path + '/' + file # 新文件名 new_name = path + '/' + str(idx)

2021-01-06 18:33:34 187

原创 python实现手写数字识别

手写数字识别是一个经典的机器学习问题,通过识别手写体图片来判断数字因为数字类别是0——9,所以是十分类问题本文以KNN算法为例,来实现手写数字的识别文章目录实现简单的手写数字识别关于load_digits简介调用索引以第0个元素为例:使用KNN来进行训练和预测维度较高的手写数字识别导入数据集reshape数据集特征降维实现简单的手写数字识别在sklearn中有一个自带的数据集,可以使用datasets.load_digits()来调用关于load_digits简介

2021-01-02 12:50:11 12605

原创 洛谷题单 206【数据结构2-2】线段树与树状数组

文章目录P3374 【模板】树状数组 1P3368 【模板】树状数组 2P3374 【模板】树状数组 1单点增加和区间查询#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 5;typedef long long ll;int n, m, a[N]; // a 为原数组 ll c[N]; // c 为树状数组 // 返回x的二进制数下最小2的次幂 int lowbit(int x){ retu

2020-12-26 17:50:10 330

原创 线段树的例题

文章目录影子的宽度区间平方和问题:区间开根号问题stars逆序对影子的宽度题目描述桌子上零散地放着若干个盒子,盒子都平行于墙。桌子的后方是一堵墙。如图所示。现在从桌子的前方射来一束平行光, 把盒子的影子投射到了墙上。问影子的总宽度是多少?输入第1行:3个整数L,R,N。-100000 <=L<=R<= 100000,表示墙所在的区间;1<=N<=100000,表示盒子的个数接下来N行,每行2个整数BL, BR,-100000 <=BL<=BR<=

2020-11-29 16:26:47 421

原创 线段树

文章目录245. 你能回答这些问题吗245. 你能回答这些问题吗刚刚做完这道题,心情有点复杂,先把题解链接发上来,我先去冷静一下链接:https://www.acwing.com/solution/content/19422/#include <bits/stdc++.h>using namespace std;const int MOD = 1e9 + 7;const int N = 5e5 + 10;typedef long long ll;ll a[N];str

2020-11-29 16:26:19 215

原创 2020天梯赛模拟赛

文章目录L1-1 新世界 (5分)L1-2 打折 (5分)L1-3 奇偶分家 (10分)L1-4 冠军魔术 (10分)L1-5 L1-6 检查密码 (15分)L1-7 谷歌的招聘 (20分)L1-8 阅览室 (20分)L2-1 出栈序列的合法性 (25分)L2-2 抢红包 (25分)L2-3 二叉搜索树的2层结点统计 (25分)L1-6 检查密码 (15分)密码可能会有空字符,所以需要读入一行#include <bits/stdc++.h>using namespace std;

2020-11-18 11:02:09 1947 4

原创 kuangbin带你飞 并查集专题

文章目录A - Wireless NetworkB - The SuspectsC - How Many TablesA - Wireless Network发现时限是10s,那么就直接开始暴力#include <cstdio>#include <cstring>#include <cmath>#include <iostream>#include <algorithm>using namespace std;const int

2020-11-11 14:18:27 423

原创 机器学习 逻辑斯蒂回归

文章目录基本定义对数几率函数的引入对数几率函数的推导逻辑回归模型模型参数的估计基本定义二项逻辑斯蒂回归,简称逻辑回归,也被称为对数几率回归是一种二分类模型利用概率来研究类别与特征之间的关系,是一种非线性回归。对数几率函数的引入因为二分类任务的输出标记 y∈{0,1}y∈\{0,1\}y∈{0,1},而线性回归的预测值 z=wTx+bz=w^Tx+bz=wTx+b 是实数值。我们希望将实数值 z 转换为 0/1值,最理想的是单位跃阶函数:又因为它并不连续,我们希望找到在一定程度上接近它的替代

2020-11-10 10:03:13 551

原创 机器学习 线性回归分析

文章目录线性模型基本形式线性回归求解w和b常见的参数求解方法批量与小批量算法正则化(参数范数惩罚)线性模型基本形式通过属性的线性组合来进行样本预测:f(x)=w1x1+w2x2+...+wdxd+bf(x)=w_1x_1+w_2x_2+...+w_dx_d+bf(x)=w1​x1​+w2​x2​+...+wd​xd​+b写成向量的形式:f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+bw 表示每个属性的权重,b 为偏置值,x 为样本向量,f(x) 为预测值线性回归回归分析是一种预

2020-11-10 09:58:48 797

原创 主席树简介及代码模板

主席树全称是可持久化权值线段树,通常用来解决区间第 k 小的问题。可持久化数据结构 (Persistent data structure) 总是可以保留每一个历史版本,并且支持操作的不可变特性 (immutable)。权值线段树是记录每个权值出现次数的一种线段树。为什么要使用主席树?如果我们要求区间第 k 小的数,如果暴力一点,可以每插入一次开一棵线段树,但是空间一定会爆掉。所以要使用主席树,在原有空间的基础上,进行插入。

2020-10-28 11:10:53 663

原创 特殊的进制转换

小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26。对于 27 以上的数字,小明用两位或更长位的字符串来对应,例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ 对应 329。 请问 2019 对应的字符串是什么?遇到类似的题目好多次了,每次都做不上来,总结一下想一下,十进制数如何得到每一位上的数字?首先把n对10取余,得到每一位上的数字,再除以10…直到n变成0while (n > 0) { s[idx++] = n % 10; n /= 10;.

2020-10-18 07:59:25 596

原创 树状数组

文章目录241. 楼兰图腾242. 一个简单的整数问题241. 楼兰图腾类似于求逆序对,求出每个数前面有多少个比它大/小,每个数后面有多少个比它大/小最后相乘再累加就是答案#include <bits/stdc++.h>using namespace std;const int N = 2e5 + 5;typedef long long ll;int n, m, a[N]; // a 为原数组 ll c[N]; // c 为树状数组 ll l1[N], r1[N], l

2020-10-15 10:47:27 308

原创 洛谷题单 115【数据结构1-3】集合(并查集部分)

文章目录P1551 亲戚P1536 村村通P1955 [NOI2015]程序自动分析P4305 [JLOI2011]不重复数字P1551 亲戚并查集模板题#include <cstdio>#include <iostream>#include <cstring>using namespace std;const int N = 5e4 + 5;int fa[N]; // 记录每个节点的父节点void init(int n){ for (int i

2020-10-14 07:53:36 318 1

原创 线段树简介及代码模板

树状数组可以在 O(logn) 的时间复杂度内实现单点修改、区间查询。相对于树状数组,线段树更加通用,代码更长,功能也更加强大。线段树是一种基于分治思想的二叉树结构,用于在区间上进行信息统计。线段树可以在 O(logn) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。线段树的一些性质:1、每个节点都代表一个区间2、根节点代表的区间是整个统计范围,如 [1, N]3、线段树的每个叶节点都代表长度为 1 的元区间 [x, x]4、对于每个内部节点

2020-10-13 20:57:20 660

原创 解决C盘存储空间不足

之前安装框架,结果把C盘搞崩了心血来潮写一篇关于清理的文章清理C盘中的更新文件选中C盘,“属性”——>“磁盘清理”——>“清理系统文件”——>“windows更新清理”使用dism++

2020-10-12 18:44:39 757

原创 Codeforces Round #674 (Div. 3)

文章目录A - Floor NumberB - Symmetric MatrixC - Increase and CopyD - Non-zero SegmentsA - Floor Number输入房间号,问在第几层#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5 + 5; int main(void){ int t, n, x; cin >>

2020-10-06 20:51:45 355

原创 单调栈简介及代码模板

单调栈简介单调栈,栈内的元素要从小到大,或者从大到小如果一个栈是单调递增的,要求从栈顶到栈底单调递增:当要进栈的元素 x 大于栈顶元素时,需要先弹出所有比 x 小的元素,再将 x 压入栈当要进栈的元素 x 小于栈顶元素时,直接将 x 压入栈while (stk.size() && x > stk.top()) { stk.pop();}stk.push(x);P5788 【模板】单调栈题目链接:https://www.luogu.com.cn/problem/P5

2020-10-04 10:35:15 391

原创 带权并查集简介及代码模板

简介:并查集实际上是由若干课树构成的森林,我们可以在树中的每条边上记录一个权值,即维护一个数组 d,用 d[x] 保存节点 x 到父节点 fa[x] 之间的边权。在每次路径压缩后,每个访问过的节点都会直接指向树根,如果我们同时更新这些节点的 d 值,就可以利用路径压缩过程来统计每个节点到树根之间的路径上的一些信息。这就是所谓的“边带权”的并查集。——摘录自蓝书初始化操作:void init(int n){ for (int i = 1; i <= n; i++) { fa[i] = i

2020-09-30 16:35:05 326

对于物理层时延的总结.txt

个人学习过程中的一点总结,内容包括:物理层四种时延的概念、四种时延产生的位置、三种交换(电路交换、报文交换、分组交换)总时延的求法

2020-04-25

空空如也

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

TA关注的人

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