自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 c语言数据类型和储存模型以及内存模型

TC是按ANSI标准的,它的int是占2个字节的。float,double也是一样的,在不同的编译器里,占的字节是不一样的。枚举类型(enum)是C语言中的一种特殊类型,它允许程序员定义一个有限的、可枚举的数据集。void* 是一种无类型指针,它可以指向任何类型的数据,也可以接受任何类型指针的赋值,但是它不能直接解引用或进行算术运算,必须先转换为具体的类型指针才能操作。它是一种特殊的变量,用于存储内存地址。在这个例子中,定义了一个名为Weekday的枚举类型,它包含了7个枚举成员,分别表示一周中的7天。

2023-06-28 17:11:56 786

原创 记录一下queue的用法(简单易懂)

【代码】记录一下queue的用法(简单易懂)

2023-06-27 17:12:55 202

原创 记录一下set的用法(简单易懂)

【代码】记录一下set的用法(简单易懂)

2023-06-27 17:11:34 325

原创 记录一下stack的用法(通俗易懂)

【代码】记录一下stack的用法(通俗易懂)

2023-06-27 17:10:20 153

原创 常用库函数

【代码】常用库函数。

2023-06-27 17:05:55 59

原创 记录一下pair的用法(简单易懂)

【代码】记录一下pair的用法(简单易懂)

2023-06-27 17:05:03 92

原创 记录一下map的用法(简单易懂)

【代码】记录一下map的用法(简单易懂)

2023-06-27 17:04:00 69

原创 记录一下string的基本用法(简单易懂)

【代码】记录一下string的基本用法(简单易懂)

2023-06-27 17:01:55 48

原创 2022,4,1 算协笔记

进制转换:把十进制转换为二十六进制:方法:1.首先找到某个十进制数n,将其转换为x进制的数;2.将其mod x,并将余数保存,再将n/x,继续mod x ,存余数,直到n为零;3.因为先存的是低位,后面死高位,所以还需要把存下来的数翻转过来,就是答案;滚动数组:题目描述:给定数列1,1,1.....,从第四位开始,后面的数就是前三项之和,求2019324项数的后四位数;代码:本文所有代码来自:第十届蓝桥杯真题_糕小芝的博客-优快云博客代码的意思:

2023-06-27 16:50:29 71

原创 AcWing算法基础课——数据结构

基础课中所有的数据结构都是用数组模拟的2.1 单链表单链表是一种数据结构,是一种线性结构,每个节点都有一个val值和下一个节点的地址只能单向遍历。在这里用数组模拟单链表。const int N=1e5+10;int e[N],ne[N],head=-1,idx;//定义头节点,e数组存储值,ne数组存储下一个节点的下标。void add_head(int x)//添加头节点{ e[idx]=x; ne[idx]=head; head=idx++;}//...

2023-06-27 16:47:43 64

原创 struct和union的区别

是一个构造数据类型它将不同类型的数据组合成一个整体,也就是说可以自义定数据类型。例如声明一个结构体people在这里定义了一个人的结构体,包含三个数据类型。

2023-06-27 16:43:20 70

原创 12.15题解

【代码】12.15题解。

2022-12-15 14:07:59 121

原创 动态规划(最长上升子序列)

当怪盗基德只往右飞的时候,如果以任意一栋楼 i 作为起点,那么就可以看成以 i 为端点的最长下降子序列,也就是从右往左的最长上升子序列。当怪盗基德只往左飞的时候,如果以任意一栋楼 i 作为起点,那么就可以看成以 i 为端点的最长上升子序列。用 N 个建筑排成一条线,高度不尽相同,怪盗基德可以。,求怪盗基德最多可以落多少个建筑物。因此这个题目的解题思路就是分别。求一遍最长上升子序列,然后。,向左或者向右飞行,但是。

2022-11-20 17:02:07 152

原创 c++,位运算

想要找到的特殊数字 - 洛谷。

2022-10-29 19:18:21 163

原创 每日一题

给出一个字符串s和一个空字符串t,会不断的将s的头部字符取出放入t的末尾和将t的末尾字符取出打印出来。如果不看题目的要求限制。我们可以将其看作一个。

2022-10-12 20:17:09 146

原创 每日一题

这里有个小细节就是哈希表可以使用 map,因为 map 可以自动排序,我们只需要从头遍历每一个点对应的键值是否为 n-1,然后输出,这就是最小的 i。给出 n 个点,一共有 n-1 条边,问是否存在一个点 i,使得所有其它点能够直接或间接(当然也有其他方法可以做,有兴趣可以点击题目链接去看看其他的题解。)的到达点 i,如果有,请输出最小的 i。最容易想到的方法就是用邻接表存储图。

2022-09-27 21:05:11 358

原创 每日一题

# 题目大意给出一个 n 行 m 列的二维二进制矩阵(只有 0 和 1 两个数),再给出一个数 cols 表示你**一共要选出 cols 列**。对于每一行,如果***这一行中的所有 1 都在你选中的列中***,那么称此行被覆盖。问:最多能有多少行被覆盖?

2022-09-19 20:47:07 100

原创 力扣周赛86第二题

将一个数 n 转化为 b 进制(b 为 2 到 n-2 的整数),如果在 b 进制下 n 都是回文字符串,那么 n 是严格回文的。是则返回 true;否则返回 false。直接将 n 的每一个 b 进制表示出来,在一个个判断是否回文,可以枚举。{% tip info %}知识点:进制转换{% endtip %}

2022-09-11 19:58:22 187

原创 每日一题题解

对于当前第 i 个数对,如果可以和之前的某一个数对 j 形成数对链,那么 dp[i] 就可以更新为 dp[i] 和 dp[j]+1 的较大值。通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。给出 n 个数对,设 [a,b] , [c,d] (的题目所使用的方法类似,可以使用动态规划。,数对可以以任意顺序排列,

2022-09-03 17:17:32 151

原创 【无标题】AcWing算法基础课——基础算法

AcWing算法基础课1.1 快速排序快速排序属于分治算法,快速排序的算法步骤,用分治的思想确定分界点,数组内任意一个值(这里建议取中点,即(l+r)/2); 调整区间,让x左边的数都小于x,右边的数都大于x; 递归处理左右两个区间,直到细分到不能细分对于第二步的调整区间,具体就是弄两个指针,分别指向数组的左右边界;不断的向中间遍历,将遍历过程中左边比x大的数和右边比x小的数交换;直到i,j相遇。快排模版void quick_sort(int q[],int l,int r)

2022-04-19 14:23:56 5152

原创 类的学习。

#include<iostream>using namespace std;class Circle{private: float radius; int *p_index;public: Circle(float r=1.0,int index=100);//构造函数的声明 ~Circle(); //析构函数 Circle(Circle &c); //拷贝构造函数 float area();};Circle::Circ.

2022-04-15 17:18:24 193

原创 构造函数(..)

#include<iostream>//下次实验题选做题using namespace std;const float FencePrice=35.0 , ConcretePrice=20.0;class Circle{ private: float radius; public: Circle(float r);//构造函数的声明 float area(); float perimeter(); .

2022-04-08 17:29:17 282

原创 DP(遇到的题目可以dp的)

/* 状态表示 { 1.集合:dp[i]表示前i个字符最多保留多少个 2.属性:max } 状态计算 { 1.不保留这个字符:那么这个就是与上个状态一样:dp[i]=dp[i-1] 2.保留这个字符:那么就要把中间的都删掉,即是把这个字符与前面出现过这个字符之间的字符全都删掉,再加上这两个字符: dp[i]=dp[pre[s[i]-'a']-1]+2(前提是要前面出现过) } 状态转移方程:dp[i]=max(dp[i-1],dp[pre[s[i]-'a'].

2022-04-06 21:31:51 259

原创 基础语法

HTMl 是一种超文本语言;1.标签:1.单标签1.无属性的标签: 写法为:<标签名 /> 就可以了2.有属性的标签:写法为:<标签名(空格)属性名=“(具体的参数)” />2.双标签双标签与单标签类似,不同的是有两个标签名1.无属性的标签:写法为:<标签名></标签名>2.有属性的标签:写法为:<标签名 属性名=“(具体的参数)”></标签名>(要注意的是:当一个标签里面写多个属性的时候,每个属性之

2022-04-02 15:53:13 339

原创 记录一下vector基本用法(简单易懂)

vector容器的初始化vector的使用首先需要加一个头文件#include<vector>;vector<int> a; 最一般的初始化方法,就是定义一个容器啊a;vector<int>a(n); 定义一个长度为n的容器a;vector<int>a(n,x); 定义一个长度为n,每...

2022-03-12 09:17:48 5913

原创 刷题笔记(知识点:排序,双指针)

不多废话,直接上代码;class Solution {public: vector<vector<int>> merge(vector<vector<int>>& in) { if(!in.size()) return {}; sort(in.begin(),in.end()); vector<vector<int>> ans; fo..

2022-02-26 13:14:34 208

原创 刷题笔记(知识点:单指针,双指针...)

这个题目来一个排序就可以解决,但是让我感兴趣的是如何遍历一边就弄完,先附上我写的代码:class Solution {public: void sortColors(vector<int>& n) { int point =0;//基本的单指针o(n),交换0和1,遍历两次; for(int i=0;i<n.size();i++) { if(n[i]==0) swap(n[point],...

2022-02-25 22:04:31 288

原创 刷题笔记(知识点:双指针)

这个题目第一眼看上去就会想到用三重循环,但是用完之后会发现超时,所以需要去优化。身为小白的我肯定是想不出来怎么优化的,于是我为了不浪费时间,果断去看了官方题解。双指针:当需要枚举数组中的两个元素的时候,如果发现这两个元素当其中一个是递增的时候,另一个随之递减,那么就可以将原本o(n^2)的时间复杂度降为o(n)。当左指针向右移动一个位置的时候,右指针会向左移动若干个位置。在这个题目里面,因为有三个数,所以还需要在外面套一程循环,并且因为不能重复的原因,也就是这三个指针移动的时候,..

2022-02-24 16:09:45 698

原创 刷题笔记(知识点:投票算法)

这个题可以用哈希表计算,也是只需要将整个数组遍历一遍,然后记录每个数字出现的次数,当某个数出现超过n/2的时候,这个数就是答案;在官方题解中,我看到了一种算法,是叫做投票算法;不妨假设整个数组的众数记做a,则最初的数组中a的数量大于其余所有数。当采用count计数的时候有两种情况:1)假设candidate等于a,则当count从1变为0的过程,此区间内a的数量等于其余数的数量,因此以count=0为分界线,数组右端部分的众数仍然为a2)假设candidate不等于a,则当count..

2022-02-24 15:00:38 147

原创 刷题笔记(知识点:位运算)

位运算(做题笔记)

2022-02-24 13:08:57 177

原创 2021-10-27

C语言入门首先,来学习C语言的人,最关心的应该是怎么样快速的上手。我建议大家在开始学习的时候就要上机实践,从刚开始的模仿到自己默写,最后在别人的代码的基础上自己来改善,规划,让它彻底的成为自己的知识。学习C语言会是一个漫长的过程,并不是一蹴而就的,我们不仅要学习语言知识,还要不断的熟悉代码的编写,学习计算机语言,最重要的应该就是实践。程序的执行过程实际上是对程序所表示的数据进行处理的过程,总之,c语言是一种程序设计语言,是人与计算机交流的语言,我不多展开赘述,我们直接来看代码。学习语言有个不成文的规

2021-11-07 20:08:16 661

原创 2021-10-27

c语言初学者 我会整理自己学习c语言中的一些经验和一些我觉得比较有意思的代码并分享给大家。 希望自己能在学习的过程中也能帮助到其他人

2021-10-27 20:30:25 89

空空如也

空空如也

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

TA关注的人

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