- 博客(18)
- 资源 (8)
- 收藏
- 关注
原创 20年408真题 三元组的最小距离
20年408真题 三元组的最小距离定义三元组(a,b,c)(a,b,c均为整数)的距离D = ∣ a − b ∣ + ∣ b − c ∣ + ∣ c − a ∣ 。给定3个非空整数集合S1,S2和S3,按升序分别存储在3个数组中。请设计一种尽可能高效的算法,计算并输出所有可能的三元组(a,b,c)(a ∈ S1 , b ∈ S2 , c ∈ S3)中的最小距离。阅读完题目,很容易就能想到三重循环O(n^3) 暴力计算的方法。但是这样时间复杂度过高了,需要进行优化 。算法思路:D = ∣ a − b
2022-05-26 17:38:34 2048 6
原创 数据结构概论
什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构的三大问题数据的逻辑结构,数据的存储结构,数据的运算集合数据的逻辑结构数据的逻辑结构指的是数据与数据之间所存在的逻辑关系。数据的存储结构数据的逻辑结构是独立与计算机的,它与数据在计算机中的存储无关。要对数据进行处理则必须要将数据存储在计算机中。数据在计算机中的存储方式称为计算机的存储结构。主要是顺序存储,链式存储,索引存储,散列存储这四种。数据的运算集合..
2022-03-02 20:09:13 206
原创 简单词法分析c语言实现
/*单词编码方式*//* 标识符: token.class=1 *//* 正整数: token.class=2 *//* 加号: token.class=3 *//* 分号: token.class=4 *//* 冒号: token.class=5 *//* 赋值号: token.class=6 *//* 小于号: token.class=7 *//*小于等于号: token.class=8 *//*文件结束符'#': token.class=9*/#inclu
2021-11-01 16:35:55 219 1
原创 实现一个给定文法的递归下降程序c语言实现
#include <stdio.h>#include <stdlib.h>#include <syspes.h>#include <unistd.h>/*要求实现文法S->aSeS->BB->bBeB->CC->cCcC->d*/char s[1000];//字符串int index;//下标bool ok;void C(char c){ if(c=='d') { .
2021-11-01 16:32:35 899 3
原创 C++关键字const
1、const修饰变量,表示变量不能被改变,并且变量必须初始化,const int N=100;N=200;//错误,N不能被改变const int i;//错误,i未能初始化2、const初始化引用用法,可以使const引用绑定到一个非左值上C++允许这么做,是因为const引用将创建一个临时变量,并且允许绑定int &i=2;//错误,左值引用只能绑定左值,不允许绑定一个右值const int &j=2;//正确,常量引用可以绑定到非左值上int ii=222;con
2021-09-09 20:26:13 163
原创 操作系统简要
1.操作系统定义及功能操作系统是计算机系统中的一个系统软件,它统一管理计算机的软硬件资源和控制计算机程序的执行,提供人机交互的接口和界面。处理器管理、存储管理、设备管理、文件管理、作业管理2.多道程序设计定义及特点多道程序设计是一种软件技术,该技术使同时进入计算机主存的几个相互独立的程序在管理程序的控制下相互交替地运行。特点(1)、多道 (2)、宏观上并行 (3)、微观上串行3.分时/实时操作系统,网络/分布式操作系统4.操作系统的特征和作用(1)、并行 (2)、共享 (3)、异步 (4)、
2021-07-04 18:32:34 153
原创 C++函数模板
认识过C++语言,都知道它是一门泛型的编程语言。那么到底什么是泛型呢?百度百科介绍:泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。那么具体实现应该怎么样理解呢?最好的例子就是函数模板了。函数模板使用泛型来定义函数,所谓泛型就是用不同的类型替换。举个栗子,如果没有模板要编写一个交换函数,有n种数据类型交换就可能要需要写n个函数了。使用函数模板就不必考虑这么多变化的数据类型了。那么具体程序是怎么样实现的呢?在程序运行时,编译器讲检查所使用的参数类
2021-05-22 20:56:15 85
原创 C++内联函数
内联函数是C++提高程序运行速度得一项改进原理:操作系统逐步执行指令,有时需要跳过一些指令去执行其他指令,这就意味着执行指令,来回跳跃并记录,需要花费开销。内联函数就是将相应的函数代码替换调用,省去跳跃指令的开销,按顺序执行就好了。这样的确比常规函数要快,但会多花费更多的内存。使用关键字inline来实现内联函数内联函数和常规函数一样,只不过加上了inline关键字。示例:#include <iostream>inline int add(int a,int b){ re
2021-05-13 12:51:31 79
转载 局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)
我们先来看内存中的几大区: 内存到底分几个区?下面有几种网上的理解,我整理一下:一:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始
2021-04-22 11:33:20 440 1
原创 2021年第十二届蓝桥杯省赛B组C/C++部分填空题解
题A:看到题意很容易算出答案就是256乘1024乘1024乘8除以32答案:67108864题B:直接模拟就好了,用一个数组来记录每个数字的次数,暴力到数组该数字不够时,就不能表示完这个数字。想到今天做这题吐血,考完反应过来问的从1最多拼到多少,我还以为是最多不够拼出多少,没减1。。。。#include <bits/stdc++.h>using namespace std;int main(){ int a[10]; for(int i=0;i<9;
2021-04-18 22:21:35 8371 20
原创 试题 算法提高 递归输出
试题 算法提高 递归输出链接问题描述 编写递归函数,将组成整数的所有数字逐个输出,每个数字后面加上一个减号“-”,例如对于整数123,该函数将输出1-2-3- 。编写主函数测试该递归函数。输入格式 输入一个整数n输出格式 如题目要求,把n的每个数字后面加一个减号”-“输出样例输入一个满足题目要求的输入范例。例:123样例输出与上面的样例输入对应的输出。例:1-2-3-数据规模和约定输入n>0,必须使用递归调用来实现!递归过程回溯输出即可我的代码#includ
2021-04-14 20:58:04 181 1
原创 试题 算法训练 P0505
试题 算法训练 P0505 链接 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量中;而35!就更大了,它已经无法存放在一个浮点型变量中。因此,当n比较大时,去计算n!是非常困难的。幸运的是,在本题中,我们的任务不是去计算n!,而是去计算n!最右边的那个非0的数字是多少。例如,5!=12345=120,因此5!最右边的那个非0的数字是2。再如,7!=5040,因此7!最右边的那个非0的数字是4。再如,15!=
2021-04-14 19:49:05 130
原创 c++11中的auto声明
auto是c语言的一个关键字,但是却很少使用。c++11重修定义了auto的含义,如果使用auto关键字,而不指定变量的类型的话,编译器将把变量的类型设置成为初始值相同的变量类型。例auto n=1//n is intauto x=1.0//x is doubleauto y=1.55e12L //y is long doublestd::vector<int>a;auto it=a.begin();//it is an iterator of this vector用法虽好,但
2021-04-10 11:53:36 221
原创 c/c++万能头文件#include <bits/stdc++.h>
好奇万能头文件#include <bits/stdc++.h>怎么能够如此强大直到打开文件发现原来。。。// C++ includes used for precompiling -*- C++ -*-// Copyright (C) 2003-2019 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library. This library is free// software;
2021-03-26 14:38:43 1582
原创 通过Ping检测网络故障的典型次序和IPconfig命令的使用
1、通过Ping检测网络故障的典型次序(1)ping 127.0.0.1这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。(2)ping 本机IP这个命令被送到你计算机所配置的IP地址,你的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。(3)pi
2021-03-23 16:37:37 2574
原创 c/c++ 取整函数使用
c/c++ 取整函数使用ceil 向上取整floor 向下取整round 四舍五入int k; k=ceil(3*1.5);//向上取整 printf("%d\n",k);//k=5 k=floor(3*1.5);//向下取整 printf("%d\n",k);//k=4 k=round(3*1.5);//四舍五入 printf("%d\n",k);//k=5...
2020-10-27 23:11:49 260
原创 快读输入
inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar(); return s*w;}
2020-07-23 18:46:58 179
原创 codeforces Shovels and Swords
Shovels and Swords纯数学#include<bits/stdc++.h>using namespace std;int main(){int t,n,m;scanf("%d",&t);while(t–){scanf("%d%d",&n,&m);if(m>n) swap(n,m);if(n>=m*2) printf("%d\n",m);else printf("%d\n",(m+n)/3);}return 0;}
2020-06-13 19:11:33 260
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人