自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

处_的博客

算法小胖墩的成长历史

  • 博客(20)
  • 收藏
  • 关注

原创 C++快速读写

C++ 快速读写

2022-08-04 15:50:30 1556 1

原创 AcWing.提高课.275.传纸条

方格取数与传纸条代码对比

2022-07-28 22:32:07 179

原创 pdsuacm2559.X 进制减法

【问题描述】进制规定了数字在数位上逢几进一。X 进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某种 X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则X 进制数 321 转换为十进制数为 65 。现在有两个 X 进制表示的整数 A 和 B ,但是其具体每一数位的进制还不确定,只知道 A 和 B 是同一进制规则,且每一数位最高为 N 进制,最低为二进制。请你算出 A − B 的结果最小可能是多少。请注意,你需要保证 A 和 B 在 X 进制下都是合法的,即每一数

2022-04-16 18:15:14 305

原创 C++手写简单STL(数组模拟实现STL)

C++手写STL库(通过数组模拟实现),包括单链表、双链表、栈与队列、单调栈、单调队列、KMP、Trie、堆(大根堆、小根堆)、哈希表

2022-04-14 07:40:05 776

原创 简单双指针算法

简单双指针算法算法介绍双指针算法可用来优化算法时间复杂度,其中要的思想是,在一重循环内,通过特定的条件,使快指针每次都移动,慢指针在特定条件下移动一部分。双指针算法通常用来解决这两类问题:1.两个指针分别处在两个序列中,慢指针会在限制条件下移动。2.两个指针位于同一序列中,共同维护一个区间,慢指针为左端点,快指针为右端点。...

2022-04-13 22:47:04 120

原创 第十三届蓝桥杯C++ B组省赛(题解+个人心得)

初赛心得2022/4/9,本人于大一下初次参加面向各大高校的编程竞赛,在参赛选拔时,对算法的了解仅为皮毛,学习acwing算法基础课,仅能掌握快速幂、前缀和等初级算法。经过大约一个月的学习,初步了解二分、前缀和、位运算、STL库(观看数组实现视频,无法独立完成)、暴搜、简单并查集、Kruskal(克鲁斯卡尔)求最短路、快速幂、简单博弈论(Nim游戏),知道DP(仅观看推导视频,跟抄代码,从未自己实现),会做简单贪心,并能够做出简单推导,学习了微扰法证明国王游戏(可在算法竞赛进阶指南中查阅)。...

2022-04-12 22:55:23 9837 5

原创 C语言中qsort的用法(函数指针)

其中cmp的实现较为复杂在C++中sort的使用类似于qsort,区别是sort中cmp的实现可以是bool函数,实际还是一个函数指针。

2022-04-11 20:04:33 862

原创 单精度浮点数在计算机的存储

单精度浮点数的存储方式较为复杂

2022-04-11 19:59:04 269

原创 C++中for(auto a:b)的使用

for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。

2022-04-11 19:54:41 735

原创 迷宫.2543(第十届蓝桥杯C/C++ B组)

题目描述 下图给出了一个迷宫的平面图,其中标记为1的为障碍,标记为0的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR的顺序通过迷宫, 一共10步。其中D、U、L、R分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30行50列),请找出一种通过迷宫的方式,其使用的步数最少...

2022-04-03 09:54:06 1141

原创 国王游戏.2333_微扰(邻项交换)证明

目录题目描述输入输出样例输入样例输出提示贪心解题思路参考答案 题目描述 恰逢 H 国国庆,国王邀请 t 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 t 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:「排在该大臣前面的所有人的左手上的数的乘积」除以「他自己右手上的数」,然后向下取整得到的结果。国王不希望某一个

2022-03-27 10:22:06 3409

原创 算法 一维差分

算法介绍差分是为了处理在数列中,进行多次区间数同时+c的操作,并输出操作后的数组。

2022-03-20 16:32:24 82

原创 二维前缀和(子矩阵的和)

学习二维前缀和之前,大家可以先去了解一下一维前缀和。https://blog.csdn.net/qq_63944516/article/details/123495969算法介绍二维前缀和是由一维前缀和推演得到的,在一维前缀和中,我们已经知道了多次查询使用前缀和算法会减少运算次数,从而达到了减少运算时间的目的。二维前缀和的运算的减少二维前缀和比一维前缀的预处理更为复杂,每个sum[][]需要3次加法、1次减法运算。经过预处理后的查询需要1次加法、2次减法运算。

2022-03-15 13:17:43 2496 1

原创 一维前缀和

算法介绍前缀和是为了处理多次加法查询并输出查询结果的基本算法。简单的来说,如果在遇到前缀和问题时,不使用前缀和处理,每次查询需要执行查询范围数据个数次的加法,当查询次数过多,或者查询范围较大时,就需要执行多次加法,当使用暴力解法时会出现时间超限的情况。如果使用了前缀和算法,在所有查询之前,进行一个n次的加法运算(即前缀和预处理),之后的每次查询,仅需要执行一次减法运算。具体做法:首先做一个预处理,定义一个sum[]数组,sum[i]代表a数组中前i个数的和。求前缀和运算:con

2022-03-15 10:43:30 528

原创 数组名是首元素的地址

1.sizeof(数组名)- 数组表示整个数组2.&数组名 - 数组名表示整个数组

2022-01-22 12:38:22 266

原创 移位操作符

左移操作符左边抛弃,右边补0右移操作符1.逻辑移位左边补0,右边丢弃2.算数移位左边用原该值的符号位填充,右边丢弃

2022-01-21 21:42:32 205

原创 原码反码补码

三种表示方式均有符号位和数值位两部分,符号位都是用0表示"正",用1表示"负"而数值位三种表示方式各不相同。原码直接将二进制按照正负数的形式翻译成二进制就可以。反码将原码的符号位不变,其他位依次按位取反就可以得到了。补码反码+1就得到补码。...

2022-01-21 21:40:53 393

原创 归并排序c语言

#include<stdio.h>//归并排序int tmp[100000] = {0};//tmp不可在函数中定义,由于数组过大会造成栈溢出void guibing(int q[], int l, int r){ if (l >= r) return;//左边界大于等于右边界结束递归(当q[]有1或0个数) int mid=(l+r)/2;//选取中间值 guibing(q, l, mid), guibing(q, mid + 1, r); //对两部分分别递归.

2022-01-01 11:42:38 530

原创 快速选择c语言

//快选#include<stdio.h>int kuaixuan(int q[], int l, int r, int k){//快选 数组 左边界 右边界 第k个数 if (l == r) return q[l];//如果左边界等于右边界,直接返回那个数 int x = q[l], i = l-1, j = r+1; //确定中间值x 左边界 右边界 while (i < j) {//当i>=j循环结束 while (q[++i] &l.

2022-01-01 11:31:21 427

原创 快速排序c语言

//快速排序void kuaipai(int q[], int l, int r){//快排 if (l >= r) return;//左边界大于等于右边界结束递归(当q[]有1或0个数) int x = q[(l+r)/2];//确定中间值 int i = l-1, j = r+1; while (i < j) {//当i>=j循环结束 while (q[++i] < x);//如果左边的数大于x停下 wh...

2022-01-01 11:26:24 1032

空空如也

空空如也

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

TA关注的人

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