- 博客(41)
- 收藏
- 关注
原创 第26次CCF计算机软件能力认证——归一化处理
将数据从各种各样分布调整为平均值为 0、方差为 1 的标准分布,在很多情况下都可以有效地加速模型的训练。输出共 n 行,每行一个浮点数,依次表示按上述方法归一化处理后的数据 f(a1),f(a2),⋯,f(an)。全部的测试数据保证 n,|ai|≤1000,其中 |ai| 表示 ai 的绝对值。且输入的 n 个整数 a1,a2,⋯,an 满足:方差 D(a)≥1。第二行包含空格分隔的 n 个整数,依次表示 a1,a2,⋯,an。这里假定需要处理的数据为 n 个整数 a1,a2,⋯,an。
2023-09-20 19:15:57
303
原创 第26次CCF计算机软件能力认证——寻宝!大冒险!
最后 (S+1) 行输入小 P 手中完整的藏宝图,其中第 i 行(0≤i≤S)包含空格分隔的 (S+1) 个 0 和 1,表示 B[S−i][0]⋯B[S−i][S]。其中 A[i][j]=1 表示坐标 (i,j) 处种有一棵树,A[i][j]=0 则表示坐标 (i,j) 处没有树。对 B 上任意一处坐标 (i,j)(0≤i,j≤S),都有 A[x+i][y+j]=B[i][j]。,最先输入的是 B[S][0]⋯B[S][S] 一行,B[0][0]⋯B[0][S] 一行最后输入。
2023-09-20 19:13:31
326
原创 第25次CCF计算机软件能力认证——出行计划
如果一个场所要求持 24 个单位时间内核酸检测结果入内,那么凭上述的核酸检测结果,可以在第 t+k 时刻到第 t+k+23 时刻进入该场所。出行计划按时间顺序给出,满足 0
2023-09-20 19:08:02
220
1
原创 第29次CCF计算机软件能力认证——田地丈量
每块田地可视为平面直角坐标系下的一块矩形区域,由左下角坐标 (x1,y1) 和右上角坐标 (x2,y2) 唯一确定,且满足 x1
2023-09-19 19:58:25
173
原创 第29次CCF计算机软件能力认证——垦田计划
这 n 块区域可以同时开垦,所以总耗时 tTotal 取决于耗时最长的区域,即:tTotal=max{t1,t2,⋯,tn}接下来 n 行,每行包含空格分隔的两个正整数 ti 和 ci,分别表示第 i 块区域开垦耗时和将耗时缩短 1 天所需资源数量。输入的第一行包含空格分隔的三个正整数 n、m 和 k,分别表示待开垦的区域总数、顿顿手上的资源数量和每块区域的最少开垦天数。在第 i 块区域最多可投入 ci×(ti−k) 单位资源,将其开垦耗时缩短为 k 天;输出一个整数,表示开垦 n 块区域的最少耗时。
2023-09-19 19:56:32
167
原创 第28次CCF计算机软件能力认证——现值计算
简单来说,假设银行的年利率为 5%,那么当前的 100 元一年后就会变成 105 元,两年后变成 110.25 元。基于上述分析,我们使用如下的模型来衡量时间价值:假设银行的年利率为 i,当前(第 0 年)的 x 元就等价于第 k 年的 x×(1+i)k 元;相应的,第 k 年的 x 元的当前价值实际为 x×(1+i)−k 元。全部的测试数据满足 0
2023-09-19 19:50:31
123
原创 第28次CCF计算机软件能力认证——训练计划
具体来说,如果科目 j 从第 a 天训练到第 a+tj−1 天,那么科目 i 最早只能从第 a+tj 天开始训练。还好,顿顿需要训练的 m 项科目依赖关系并不复杂,每项科目最多只依赖一项别的科目,且满足依赖科目的编号小于自己。10 天时间恰好可以完成所有科目的训练。输入的第二行包含空格分隔的 m 个整数,其中第 i 个(1≤i≤m)整数 pi 表示科目 i 依赖的科目编号,满足 0≤pi
2023-09-19 19:47:54
258
原创 第27次CCF计算机软件能力认证-如此编码
已知某次测验包含 n 道单项选择题,其中第 i 题(1≤i≤n)有 ai 个选项,正确选项为 bi,满足 ai≥2 且 0≤bi
2023-09-19 19:43:12
154
原创 第27次CCF计算机软件能力认证-何以包邮
考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 m 在满足包邮条件(m≥x)的前提下最小。接下来输入 n 行,其中第 i 行(1≤i≤n)仅包含一个正整数 ai,表示购物车中第 i 本书的价格。一番浏览后,小 P 初步筛选出 n 本书加入购物车中,其中第 i 本(1≤i≤n)的价格为 ai 元。全部的测试数据满足:n≤30,每本书的价格 ai≤104 且 x≤a1+a2+⋯+an。仅输出一个正整数,表示在满足包邮条件下的最小花费。必须全部购买才能包邮。
2023-09-19 19:39:34
227
原创 嵌入式学习二阶段——并发(三)
2、线程 thread 定义: 线程是比进程更小的活动单元,它是进程中的一个执行路径(指令执行分支),线程也是一个并发的情形 一个进程内部可以有很多线程,他们是并发执行,进程内部的所有线程共享整个进程的地址空间 main 函数,是一个进程中的主线程,主线程结束,所有的线程都会结束 进程内部的指令部分可以分成很多的线程,去并发执行!//获取当前绝对时间。/* Seconds */ 秒。
2023-09-19 19:21:03
174
原创 嵌入式学习二阶段——并发(二):
2、信号量的实现 “信号量” 大家都可以访问的一个整数 一个进程/线程 可以在某个信号量上执行三种操作: (1)创建一个信号量 调用者要 设定一个信号量初值 初值:表示信号量保护的共享资源,可以同时被多个 进程/线程 访问 value_sem = 5;if(sem_flg==IPC_NOWAIT)//非阻塞,不等待,能P操作就操作,不能就返回 -1。//获取当前绝对时间。@semnum: 要操作信号量集中哪一个信号量,就是信号量数组的下标 0 ,1 ,2, ,3 ....nsems-1。
2023-09-14 19:06:41
159
原创 嵌入式学习二阶段——并发(1):
2、进程与程序的区别 (1) 程序是一个静态的概(指令集) 进程是一个动态的概念 (2) 进程是一个程序的一次执行活动 一个程序可以对应多个进程 (3) 进程是一个独立的活动单元 进程是竞争系统资源的基本单位 eg: 进程与程序的区别:就好比 “炒菜” 跟 “菜谱” 区别。4、Linux 进程地址空间的分布 “分段” : 分不同的逻辑区域 linux 对进程的数据进行分段管理,不同属性的数据,存储在不同的“内存段” 不同的内存段(内存区域)的属性以及管理方式都不一样。
2023-09-12 20:09:29
141
原创 嵌入式学习二阶段——文件I/O
2、linux 提供的文件的函数接口: 文件操作三部曲: 打开冰箱 -- 》把大象塞进去 --》关冰箱门 (open) (read ,write..) (close) 以上这些函数称之为”系统IO“ 系统IO:操作系统提供的对于文件的输入和输出接口。linux 是一款免费的操作系统,其性能强大,有很多的企业都会选择使用Linux应用开发 linux是一个开源的操作系统!O_APPEND:追加标记,打开文件时,光标会默认在文件的开头,如果以追加标记打开。如果文件内容满了,那么你去写内容时,write会阻塞。
2023-09-09 15:01:47
229
原创 嵌入式学习一阶段——交叉开发
二、交叉开发的概念是指在通用PC端把程序编写、编译好之后,再下载到嵌入式产品中去运行为什么要用交叉开发?(1)大多数的嵌入式产品只有运行环境。没有编译环境(2)程序员的工作环境更加舒适、安全三、GEC-6818开发板简介四、网络设置1)设置虚拟机IP1>虚拟机设置--》网络适配器--》桥连模式--》勾选上复制物理网络连接状态2>设置--》网络--》设置--》IPV4-->改为手动分配IP--》设置IP地址、子网掩码、网关--->重新打开网络连接。
2023-09-09 14:53:19
928
原创 嵌入式学习一阶段——C语言:数据结构(7)
定义:图(graph)是一种非线性结构,形式化的描述:其中,V = {vi | vi 属于某种数据类型 i=0,1,2,3,4,5.....}是图中的元素,vi就是图中的顶点,V就是顶点一个集合!!!就是图中的顶点,V就是顶点的集合,n代表 图中的顶点个数如果n = 0 , 就说明是一个空集其中,R代表V集合中任意两个顶点之间的关系。p(vi,vj)标识顶点vi到vj的路径如果两个顶点之间存在路径,我们说关系(vi,vj)是属于R。
2023-09-09 14:49:55
178
原创 嵌入式学习一阶段——C语言:数据结构(5)
树(tree)是由n个(n>=0)节点的有限集。在任意一棵非空树中:(1)、有且仅有一个特定的被称之为根节点(root)的节点(2)、当 n>1 的时候,其余的节点可以分为 m (m>0) 个互不相关的有限集T1,T2,T3.。。。。其中每一个有限集又可以组成一棵树,并且称之为根节点的子树树的结点包含一个数据元素和若干个指向其子树的分支(保存数据与数据之间关系)结点的度:结点的子树的个数(结点分支的个数),其中度为0的结点,称之为叶子节点或者。
2023-09-09 14:30:41
162
原创 嵌入式学习一阶段——C语言:算法的基本概念
算法是计算机处理信息的本质,因为计算机本质是一个算法来告诉计算机确切的步骤来执行指定的任务。算法是独立存在的一种解决问题的方法和思想对于算法来说,实现它的语言不重要,重要的是思想。
2023-09-09 14:25:45
146
原创 嵌入式学习一阶段——C语言:数据结构(2)
之前讲到,单链表,双向链表,都有一个特点,如果遍历到最后一个结点,要返回第一个结点,是不是需要重新遍历一次链表因为我们最后一个结点的next域为NULL.......这个时候,就有人提出,能不能让最后一个结点指向第一个结点=====》 循环链表循环单链表最后一个结点的next域,指向第一个结点循环双链表最后一个结点的next域,指向第一个结点第一个结点的prev域,指向最后一个结点。
2023-09-08 16:41:41
118
原创 嵌入式学习一阶段——C语言:数据结构(1)
刚刚我们讲到的线性表的顺序存储结构是有缺点的。最大的缺点就是就是插入和删除需要移动大量的元素,这显然是很浪费时间的,能不能像一个办法把这个问题解决呢??让当中每一个元素之间我都留一个位置,这样子插入的时候,就不至于要去移动所有的位置。存储数据元素 ‘1’ int&3 下一个元素的地址 *存储数据元素 ‘3’ int&5 下一个元素的地址 *........以前我们在顺序结构中,每一个数据元素只需要存储数据元素信息是不是就可以了!
2023-09-08 16:35:19
259
原创 嵌入式学习一阶段——C语言:数据结构(4)
队列是一个先进先出(FIFO:first in first out)的线性表。它允许在表的一端进行插入操作,而在另外一端进行删除队尾(rear): 允许插入元素的一端队头(front):允许删除元素的一端“队列的思想”:先进先出 “排队论”队列的实现:(1)、队列的数据类型的表述顺序结构:顺序队列用一组地址连续的空间,来保存队列的每一个元素。“数组”链式结构:链表(带头节点的)(2)、队列操作InitQueue 初始化一个队列。
2023-09-08 16:27:04
125
1
原创 嵌入式学习一阶段——C语言:数据结构(3)
栈(stack)是仅限定在表尾进行插入和删除的线性表栈就是一个线性表,只不过,栈的insert和delete 只能在表尾普通的线性表,是不是可以在任意位置进行insert和deleteLIFO:Last in first out 后进先出栈顶(top):进行插入和删除操作一端栈底(bottom)栈其实是我们计算机科学当中,更多来说,是一种思想,“先进后出的思想”,在很多的算法或者应用当中,需要用到“先进后出的思想”,我们就可以用栈来实现。
2023-09-08 16:19:43
240
1
原创 嵌入式学习一阶段——C语言:结构体
struct 结构体名成员类型1 成员名1;成员类型2 成员名2;.......成员类型n 成员名n;结构体类型是由多个成员构成的,而且每一个成员都有自己的类型(只要是合法的类型就可以),当然不同的成员,它的类型也是可以相同的,但是成员名不能一样。”结构体名“ : 符合C语言关于标识符的规定struct 结构体 => 你定义的新类型的名字。如:{};"成员类型1" 、 "成员类型2" 、。。。。。
2023-09-08 16:09:19
152
1
原创 嵌入式学习一阶段——C语言:指针二
函数指针就是一个函数的地址函数指针变量,就是一个指针变量,只不过它指向一个函数!!!指针的定义语法:指向的类型 * 指针变量名函数的类型在C语言中是如何来描述的?返回值类型 (参数类型列表)sum是一个带着两个参数的函数,一个参数是int类型,另外一个参数是int类型,返回值也是int类型定义一个指针p,来保存函数sum的地址!!!(函数指针就是一个函数的地址)定义一个指针,来保存函数find_max的地址!!
2023-09-08 16:06:28
156
1
原创 嵌入式学习一阶段——C语言:指针三
const的含义:只要在一个变量前面用const来修饰的话,就意味着这个变量里面的数据,你就只可以访问,不能去修改,也就意味着只读!const的规则:const一旦修饰了一个变量,你一定要给这个变量初始化,如果你定义的时候不初始化,那么你后面无法去初始化它了。
2023-09-08 16:02:50
189
1
原创 嵌入式学习一阶段——C语言:指针一
在程序运行的期间,系统会为每一个对象在存储器(Memory)中,分配一段存储单元存储单元,按照字节大小给每一个存储单元分配了一个唯一的编号,这个编号称之为存储单元的地址指针的概念和地址差不多,一个对象的地址,也可以称之为一个对象的指1普通变量的定义:变量的类型 变量名;指针变量的定义:指向的类型* 变量名;//定义指针变量时,变量名前面*,是用来标记后面的那个变量是指针变量eg:如果p保存了a的地址,则我们是:p指向ap = &a;p指向a。
2023-09-08 15:56:37
124
1
原创 嵌入式学习一阶段——C语言:循环结构
当(while)表达式的值为非0 , 则就会去执行“语句”,执行完语句后面,则跳转到上面,继续判断。当(while)表达式的值为非0 , 则就会去执行“语句”,执行完语句后面,则跳转到上面,继续判断。然后再判断“表达式2”的值,如果为非0,则执行“语句”,然后再跳到上面,执行表达式3。然后再判断“表达式2”的值,如果为非0,则执行“语句”,然后再跳到上面,执行表达式3。则回到上面,继续执行“循环体语句”,然后再判断“表达式的值”,如果“表达式”的值非0,一旦有这种情况,你就需要提前结束,break;
2023-09-08 15:51:38
399
1
原创 嵌入式学习一阶段——C语言:数组
根据刚刚选择排序的思想,可以直观的看到:假设排序表为a[n],第i趟的排序从a这个数组中找到一个关键字最小的元素与a[i],每一趟排序就可以确定一个。b[0] __ __ __ __ ====> b[0]里面包含了4个int,b[0]又是一个数组(名字b[0])//把数值1024存放到元素a[1][1]的地址中去, 左值。在定义二维数组中赋初值,数组元素的初始化,用{} , 可以指定每一个元素的值,也可以指定部分元素的值。//把数值为1024存放在元素a[0]的地址当中去,a[0]的左值。
2023-09-08 15:46:02
234
1
原创 嵌入式学习一阶段——C语言:函数
上面这两个代码块,功能是相同的把,只是说数组名和元素个数等参数不一样,但是代码的形式是一样,对于同一个功能但是参数不一样的代码的实现。函数结束之和,调用函数的那个表达式的值就是函数最后的那个return语句后面的那个表达式的值。就是调用函数的时候,函数的返回值,函数执行时,return 语句后面的那个表达式的值。实现要把实际参数的值一一对应的赋值给形式参数,然后再调转到被调用的函数的内部去执行,当一个函数的参数是一个数组的时候,函数声明/函数实现的时候,数组作为形式参数,我们该如何描述呢?
2023-09-08 15:27:49
260
1
原创 嵌入式6818开发板小游戏——五子棋
我要获取触摸点的纵坐标: if(type == EV_ABS && code == ABS_Y) -->value 就是纵坐标的值。重点: 我要获取触摸点的横坐标:if(type == EV_ABS && code == ABS_X) -->value 就是横坐标的值。if(type == EV_ABS) --> code == 触摸点的绝对坐标(ABS_X 或 ABS_Y)if(type == EV_KEY) // value == 0 代表松开 ,value == 1 代表按下。
2023-09-08 15:08:09
1945
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅