自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ra1nbow.的博客

好记性不如烂笔头

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

原创 线段树模板一

DescriptionInputOutput输出包含若干行整数,即为所有操作 2 的结果。#include<stdio.h>#define num 100001typedef struct node { int L, R; struct node* left, * right; long long sum; long long inc;}Node;Node tree[2 * num];//这里结构体用的指针所以开两倍叶子节点就行了,如果用直接用数组角标就应该开四倍

2020-11-15 14:52:10 102

原创 伸展树splaying代码

以下为伸展树的splaying操作代码(未含建树、插入、删除)#include<stdio.h>typedef struct node { struct node *parent,*lchild,*rchild; int val;}tree;typedef tree* Tree;void zig(Tree &root, Tree node)//逆时针单步旋转{ if (node == NULL) return; /*记录下node的父亲和祖父结点*/ Tree

2020-11-14 11:10:10 148

原创 有趣的数_oj记录

试题名称: 有趣的数时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述  我们把一个数称为有趣的,当且仅当:  1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。  2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。  3. 最高位数字不为0。  因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。  请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000

2020-11-07 12:59:26 163

转载 快速模幂算法分享

http://10.12.162.1:5881/topic/3/rsa%E8%A7%A3%E5%AF%86%E8%BF%87%E7%A8%8B%E7%9A%84%E5%8A%A0%E9%80%9F%E6%96%B9%E6%B3%95

2020-09-24 10:35:20 243

原创 快排 芜湖~

#include <stdio.h>#include <stdlib.h>void swap(int *array,int i,int j){ int temp = array[i]; array[i] = array[j]; array[j] = temp;}void quicksort(int *array,int a,int b){ int i = a,j = b+1; while(1) { do

2020-08-01 14:59:29 164 2

原创 洛谷P1058 立体图题解

纯属自己写完题后的总结,中间借鉴了很多博客的做法。题目:P2018 立体图本题乍一看好像无从下手,其实理清逻辑关系后还是较为简单。1.用一个数组单独存储单个方块。2.创建一个输出数组(即一块画布),先创建的尽量大一点,等下再根据输入的数据计算实际需要使用的大小。3.将方块从后到前,从左到右,从下到上存入‘画布’,这样就直接解决了重叠、遮挡的问题。4.每一个位置的方块我们用一个点来表示其位置,我看到的一个大佬用的左下角顶点,故我也用左下角。根据这个位置点在画布上再画出完整的方块,画图顺序按照3中所

2020-07-29 16:16:36 355

原创 树状数组的原理及其应用(HH的项链)

树状数组主要用于查询和计算前缀和,时间复杂度为O(nlogn),普通的数组的时间复杂度O(n^2)在大数据下是不可以接受的,所以树状数组是一个非常良好的数据结构。接下来是树状数组三种重要且基本操作的函数,具体原理很多博客上都有,B站上也有讲解视频:1.lowbits函数:int lowbit(int n){return n&(-n);//树状数组核心操作×1}2.add函数:void add(int n,int now){while(n<=N){tree[n]+=no

2020-07-27 15:47:09 168

转载 单调栈的原理及其实现

单调栈的实现,转自Ethan-Walker

2020-07-21 22:53:26 232

原创 归并排序(递归实现)

归并排序(递归实现)归并排序应该是稳定性排序中时间效率最高的算法归并排序概述图:如图,首先将一组序列递归拆分(分解)成多组,每组中只含一个元素。之后再归并(merging函数即为归并过程)。#include <stdio.h>#include <stdlib.h>#define maxsize 10 //排序序列长度void merging(int *left,int leftsize,int right,int rightsize) //归并函数{int

2020-07-17 15:41:26 468

原创 堆排(大顶堆C语言)

堆排(大顶堆C语言)借鉴的别人的代码自己做了一些注释便于理解#include <stdio.h>#include <stdlib.h>//这是一个大顶堆,实现从小到大排序 !!堆顶序号从1开始编号!!void swap(int k[] ,int i ,int j){int temp = k[i];k[i] = k[j];k[j] = temp;} //交换堆顶和最后一个节点的数据(具体使用时i = 1,即第一个节点下标,j就是最后一个节点的下标)vo

2020-07-15 16:27:27 381

空空如也

空空如也

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

TA关注的人

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