贺巩山的博客

没有伞的孩子更要努力奔跑


  • 首页

  • 文件系统

  • Linux运维

  • 剑指Offer

  • LeetCode题解

  • PAT甲级题解

  • PAT乙级题解

  • CCF CSP题解

  • 分类

  • 标签

  • 归档

  • 书单

  • 关于

  • 搜索

CCF CSP 201803-2 碰撞的小球

发表于 2018-06-06 | 更新于 2018-06-06 | 分类于 ccf csp
字数统计: 1.2k

问题描述

  数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。
  当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。
  当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。
  现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。

提示

  因为所有小球的初始位置都为偶数,而且线段的长度为偶数,可以证明,不会有三个小球同时相撞,小球到达线段端点以及小球之间的碰撞时刻均为整数。
  同时也可以证明两个小球发生碰撞的位置一定是整数(但不一定是偶数)。

阅读全文 »

CCF CSP 201803-1.跳一跳

发表于 2018-06-05 | 更新于 2018-06-05 | 分类于 ccf csp
字数统计: 436

问题描述

  近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱。
  简化后的跳一跳规则如下:玩家每次从当前方块跳到下一个方块,如果没有跳到下一个方块上则游戏结束。
  如果跳到了方块上,但没有跳到方块的中心则获得1分;跳到方块中心时,若上一次的得分为1分或这是本局游戏的第一次跳跃则此次得分为2分,否则此次得分比上一次得分多两分(即连续跳到方块中心时,总得分将+2,+4,+6,+8…)。
  现在给出一个人跳一跳的全过程,请你求出他本局游戏的得分(按照题目描述的规则)。

阅读全文 »

数据结构(C/C++版)之动态顺序表的实现

发表于 2018-06-03 | 更新于 2018-06-03 | 分类于 数据结构
字数统计: 788

写在前面的话:类似如下函数:bool add(SqList &list, int i, ElemType e)
c语言没有bool关键字,c++才有,若需要在c语言中使用,需要引入<stdbool.h>(或者自己定义).
另外,函数参数中&符号,表示引用,c语言也没有(c语言中的&表示取地址符),这是c++才有的语法,若需要在c语言中实现类似功能,即改变实参的值,只能采用指针实现

用C/C++实现的动态顺序表

阅读全文 »

C语言中的动态内存分配

发表于 2018-06-01 | 更新于 2018-06-01 | 分类于 c
字数统计: 565

简介

全局变量是分配在内存中的静态存储区的,非静态的局部变量是分配在内存中的动态存储区的,这个存储区是一个称为栈(stack)的区域。

除此以外,C语言还允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放。这些数据是临时存放在一个特别的自由存储区,称为堆(heap)区。由于未在声明部分定义它们为变量或数组,因此不能通过变量名或数组名去引用这些数据,只能通过指针来引用。

阅读全文 »

算法的时间复杂度和空间复杂度

发表于 2018-05-31 | 更新于 2019-11-24 | 分类于 算法
字数统计: 1.9k

算法效率的度量是对算法所需要的时间和空间进行估算,分别称为时间复杂度和空间复杂度。

时间复杂度

算法的时间效率称为算法的时间复杂度,它是问题规模n的某个函数,记作:T(n) = O(f(n))。

其中问题规模n是指输入量的多少,一般可以从问题描述中得到。如,数组元素的个数、矩阵的阶数等。f(n) 是问题规模n的某个函数。这里的O是Order的简写,意指数量级,表示随问题规模n的增大,算法执行时间的增长率和 f(n) 的增长率相同。

一个没有循环的算法基本运算次数与问题规模无关,记作O(1),也称为常数阶。

常见的算法时间复杂度由小到大排列如下:

O(1) < O($\log_{2}n$) < O(n) < O($n\log_{2}n$) < O($n^2$) < O($n^3$) < … < O($c^n$) < O(n!)

阅读全文 »

C语言结构体

发表于 2018-05-31 | 更新于 2018-05-31 | 分类于 c
字数统计: 1.8k

C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。(类似于Java中的类)

定义结构体类型

声明一个结构体类型的一般形式:

1
2
3
struct 结构体名 {
成员列表
};

对结构体中各成员都应进行类型声明,即

1
类型名	成员名;
阅读全文 »

数据结构与算法分析作业之自己实现Java双链表

发表于 2018-05-27 | 更新于 2018-05-27 | 分类于 数据结构与算法分析:Java语言描述
字数统计: 795

自己实现的Java双链表

阅读全文 »

数据结构与算法分析作业之自己实现Java单链表

发表于 2018-05-26 | 更新于 2018-05-26 | 分类于 数据结构与算法分析:Java语言描述
字数统计: 1k

自己实现的Java单链表

阅读全文 »

浅析C语言指针

发表于 2018-05-26 | 更新于 2018-05-26 | 分类于 c
字数统计: 474

    指针是一个地址,而指针变量是存放地址的变量。

阅读全文 »

数据结构与算法分析作业之自己实现Java顺序表

发表于 2018-05-25 | 更新于 2018-05-25 | 分类于 数据结构与算法分析:Java语言描述
字数统计: 775

自己实现的Java顺序表

阅读全文 »
1…474849
Gongshan He

Gongshan He

490 日志
62 分类
89 标签
GitHub 微博 知乎 Linkedin E-Mail
友情链接
  • 卢明冬的博客
  • lipixun
  • 柳婼 の blog
  • 心灵港
  • Liudeyin
© 2016 — 2023 Gongshan He
访问人数 总访问量 次