他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔有多优秀呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔有多优秀呢?相关的知识,希望对你有一定的参考价值。

他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔十分优秀,对阵勇士狂砍17分成抗勇奇侠,扎伊尔威廉姆斯当年可是美国五星高中生,布朗尼的队友詹姆斯大侄子,高中一场比赛投中高难度绝杀。

他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔十分优秀,如果说如今联盟状态最好的一支球队,那么无疑就是孟菲斯灰熊了,在击败勇士后,他们拿到了目前联盟最长连胜,10连胜,期间更是连续击败太阳,湖人,勇士,篮网等诸多豪强,而在对阵勇士的比赛中,19岁扎伊尔威廉姆斯就砍下17分,空接暴扣,压哨三分成为比赛的焦点,而他当年,竟然还是布朗尼的高中队友。

他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔十分优秀,扎伊尔2020年来到塞拉峡谷高中,于是他便和勒布朗詹姆斯的儿子布朗尼成为队友,当年的扎伊尔,可是顶着美国五星高中生的头衔进入该校,曾在高中一场比赛中,投进一记制胜的绝杀中投,当时,塞拉峡谷中学和对手打成61平,最后时刻,扎伊尔展现自己球星本色,持球突破杀进内线,随后,后撤步投进一局绝杀中投,球星本色从这一刻开始展露无遗。

他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔十分优秀,高中时期的扎伊尔就展现出如此高的篮球天赋,只要他继续努力,我相信假以时日,肯定会成为一颗NBA冉冉升起的新星,让希望年轻的扎伊尔能够在未来的比赛中越打越好,兑现自己高中时期的天赋,我们一起期待他更加优秀的表现吧。

参考技术A 非常的优秀。在高中的时候,就发挥出了自己的天赋,在参加比赛的时候成功获得了17分,成功的获得了胜利,打败了勇士队。而且是美国5星的高中生,人们都说他是下一个小卡。 参考技术B 特别的优秀,在高中的时候就可以展现出一个人的天赋和才华,而且本来就是一个非常优秀的篮球运动员,每次比赛都表现的特别好。投篮的分数可以达到十二中。身高1米79。 参考技术C 他的篮球天赋很高,后天又很努力,在高中时期就投出了高难度绝杀,是真正的球星。

2022蓝桥杯省赛——砍竹子

问题描述

这天, 小明在砍竹子, 他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的 高度为 hi​。

他觉得一棵一棵砍太慢了, 决定使用魔法来砍竹子。魔法可以对连续的一 段相同高度的竹子使用, 假设这一段竹子的高度为 H, 那么用一次魔法可以把这一段竹子的高度都变为,其中⌊x⌋ 表示对 x 向下取整。小明想知道他最少使用多少次魔法可让所有的竹子的高度都变为 1 。

输入格式

第一行为一个正整数 n,表示竹子的棵数。

第二行共 n 个空格分开的正整数 hi​, 表示每棵竹子的高度。

输出格式

一个整数表示答案。

样例输入

6
2 1 4 2 6 7

样例输出

5

样例说明

其中一种方案:

214267

共需要 5 步完成。

评测用例规模与约定

对于 20% 的数据,保证 n≤1000,hi​≤10^6 。对于 100% 的数据,保证 n≤2×10^5,hi​≤10^18。

运行限制

语言最大运行时间最大运行内存
C++2s256M
C2s256M
Java5s256M
Python310s256M

问题分析

把每棵竹子砍到1,每砍一次计数器加1;再回来看第i和第i-1棵竹子在砍的时候是否有出现相同的高度,每出现一次计数器减1。

我们需要建立一个二维数组,每一行存储一棵竹子从原始高度到1的高度变化。二维数组的行数我们已知是n,我们还需要知道它的列数。从评测用例规模中我们可以看到,竹子的最大高度为10^18,通过循环我们易求出二维数组的列数最大值是m=6。

 

在构建二维数组的同时,进行计数器加操作,易得此时count=7。但是,通过这个二维数组我们无法进行计数器减操作。因此,为了方便计算,我们将该二维数组左右翻转,格式仍保持左对齐,得到如下形式:

这样一来,我们就能很直观地看出来,有两次砍竹子的动作是多余的,于是执行两次计数器减操作。

Python代码如下:

import math

H=10**18  # 最大高度
n=int(input())  # 竹子的棵数
a=list(map(int,input().split()))

# 砍竹子
def cut(h):
    return int(math.sqrt(int(h/2)+1))

# 假设最多需要砍m次,求m
m=-1
for i in range(10):
    H=cut(H)
    if H==1:
        m=i+1  # i是从0开始计的,而m最小是1,故加一
        break
# print(m)

h=[[] for i in range(n)]

count=0  # 所求次数

# 构造二维数组
for i in range(n):
    hh=a[i]
    h[i].insert(0,hh)
    while hh>1:
        hh=cut(hh)
        h[i].insert(0,hh)  # 每次都插到行首,这样就能实现二维数组的左右翻转
        count+=1

# 逐列扫描二维数组
for j in range(1,m+1):  # 列标
    for i in range(1,n):  # 行标
        if j<len(h[i]):
            if j<len(h[i-1]) and h[i][j]==h[i-1][j]:  # 当前的竹子和前一棵竹子高度一致
                count-=1
        else:
            continue

print(count)

但是我这个代码的通过率只有65%,目前还不知道哪里需要改进,欢迎读者批评指正。

以上是关于他高中时期一记绝杀尽显巨星本色,砍17分成抗勇奇侠的扎伊尔有多优秀呢?的主要内容,如果未能解决你的问题,请参考以下文章

生死系列--WuJie

P1873 砍树

2022蓝桥杯省赛——砍竹子

17岁高中生手搓发动机获50万元大奖,自称天生工程爱好者,已有60余项发明

LQ0143 砍竹子序列处理

追星的新姿势:使用NLP来分析巨星专辑的特别之处