第26次CCF计算机软件能力认证

近几年的csp认证题目越来越难了,所以还是早考早好,考个高分放简历里也是不错的选择。

文章目录

一、归一化处理

题目背景:

样例输入

样例输出

思路:

代码:

二、寻宝!大冒险!

题目背景:

样例输入

样例输出

思路:

代码:

后续:

总结


一、归一化处理

题目背景:

在机器学习中,对数据进行归一化处理是一种常用的技术。将数据从各种各样分布调整为平均值为 0、方差为 1 的标准分布,在很多情况下都可以有效地加速模型的训练。

第26次CCF计算机软件能力认证_第1张图片

样例输入

7
-4 293 0 -22 12 654 1000

样例输出

-0.7485510379073613
0.04504284674812264
-0.7378629047806881
-0.7966476369773906
-0.7057985054006686
1.0096468614303775
1.9341703768876082

思路:

若是能导包,用numpy库一下就做出来了,不过csp认证不允许导包,所以就按照定义来就行,送分题。

代码:

import math

n=int(input())
nums=input()
nums=[int(x) for x in nums.split(" ")]
a_=sum(nums)/n
cov=0
for i in range(n):
    cov+=(nums[i]-a_)**2
fengmu=(cov/n)**0.5
for x in nums:
    print((x-a_)/fengmu)

#score : 100

二、寻宝!大冒险!

题目背景:

暑假要到了。可惜由于种种原因,小 P 原本的出游计划取消。失望的小 P 只能留在西西艾弗岛上度过一个略显单调的假期……直到……

某天,小 P 获得了一张神秘的藏宝图。

第26次CCF计算机软件能力认证_第2张图片

样例输入

5 100 2
0 0
1 1
2 2
3 3
4 4
0 0 1
0 1 0
1 0 0

样例输出

3

思路:

题目看上去文字描述挺多的,其实还是挺简单的一题。

1.首先可以看成藏宝图在地图上移动,移动方式当然是在地图上A[i][j]=1的点上移动(特别地,藏宝图左下角位置一定是一棵树,即 A[x][y]=B[0][0]=1,表示了宝藏埋藏的位置。)

2.理论上,绿化图 A 中存在着一处坐标 (x,y)(0≤x,y≤L−S)与藏宝图 B 左下角 (0,0) 相对应,即满足:
对 B 上任意一处坐标 (i,j)(0≤i,j≤S),都有 A[x+i][y+j]=B[i][j]。

当然藏宝图的点必须对应在地图上,即x+i,y+j不能超过地图边界

3.绿化图上的点与藏宝图的点必须一一对应,比如绿化图上的点为1,藏宝图上的点也必须为1;绿化图上的点为0,藏宝图上的点也必须为0,否则按照规则1进行移动。这里我们可以用到异或,1^0=1,0^1=1,0^0=0,1^1=0,遍历藏宝图上的点就行。

代码:

代码如下:

#读取数据
n,L,S=map(int,input().split())
points=[[i for i in map(int,input().split())] for j in range(n)]
temp={}
for point in points:
    x,y=point[0],point[1]
    temp[(x,y)]=1
money=[]
for i in range(S+1):
    money.insert(0,list(map(int,input().split())))
time=0
# 遍历地图所有带树的点
for x,y in points:
    #设置标志,若为0表示藏宝图找到了对应点,反之该点不对
    flag=0
    # 遍历藏宝图上的所有点
    for i in range(S+1):
        for j in range(S+1):
            # 超过边界,退出
            if (x+i>L) or (y+j>L):
                flag=1
                break
            if money[i][j]^((x+i,y+j) in temp):
                flag=1
                break
        if flag==1:#移动到下一点
            break
    if flag==0:
        time+=1
print(time)

后续:


总结

你可能感兴趣的:(leetcode,python,机器学习,pandas,算法)