当前位置: 首页 > wzjs >正文

专业的免费网站建设资源网站优化排名优化

专业的免费网站建设,资源网站优化排名优化,dede英文网站,wordpress添加子主题2023012的真题 202312-1 仓库规划 5415. 仓库规划 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/5418/ 解题思路: 其实就是对比(x.y,z.....)需要找到一个每个元素都大于这个坐标得坐标,本题可以直接…

2023012的真题 

 

202312-1

仓库规划

5415. 仓库规划 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/5418/

解题思路:

 其实就是对比(x.y,z.....)需要找到一个每个元素都大于这个坐标得坐标,本题可以直接暴力求解,主要需要了解其python得数据结构,怎么能够方便的比较坐标括号中得每个元素我们采用zip

解题代码 

n, m = map(int, input().split())
coding = [tuple(map(int, input().split())) for _ in range(n)]
results = []
for i in range(n):  # 枚举每个仓库for j in range(n):  # 枚举它的上级仓库if i != j and all(x < y for x, y in zip(coding[i], coding[j])):  # 满足上级仓库的定义results.append(j+1)if len(results) == 0:print(0)else:print(min(results))results=[]

知识点1:对于输入得灵活运用控制台(map)

n, m = map(int, input().split())

其中 int这个位置代表一个操作函数,后面是input通过空格划分

  1. 将输入的多个字符串转换为其他类
    # 使用 map(float, input().split()) 将输入的字符串转换为浮点数
    numbers = list(map(float, input().split()))
    print(numbers)  # 输出:[3.14, 2.71, 1.41]# 使用 map() 将输入的单词转换为大写
    words = list(map(str.upper, input().split()))
    print(words)  # 输出:['HELLO', 'WORLD']
  2. 对输入的每个元素应用自定义函数
    # 定义一个自定义函数
    def add_one(x):return x + 1# 输入数字并转换为整数
    numbers = list(map(int, input().split()))# 对每个数字应用自定义函数
    result = list(map(add_one, numbers))
    print(result)  # 输出:[2, 3, 4, 5]
  3. 使用 map() 处理多行输入
    # 读取第一行的数字 n
    n = int(input())# 使用 map() 读取接下来的 n 行输入,并将每行转换为整数
    numbers = list(map(int, (input() for _ in range(n))))
    print(numbers)  # 输出:[10, 20, 30]
  4. 多个输入的逐元素操作知识点1:对于输入得灵活运用控制台(map)
    # 输入两个列表
    list1 = list(map(int, input().split()))
    list2 = list(map(int, input().split()))# 使用 map() 和 lambda 函数逐元素相加
    result = list(map(lambda x, y: x + y, list1, list2))
    print(result)  # 输出:[5, 7, 9]

知识点2:zip得运用

zip() 是 Python 中一个非常强大的函数,用于将多个可迭代对象(如列表、元组等)“打包”成一个由元组组成的迭代器。每个元组包含来自每个输入可迭代对象的对应元素。 

zip() 是一个非常灵活的函数,可以用于:

  1. 打包多个可迭代对象:将对应元素组合成元组。
  2. 同时遍历多个列表:简化代码逻辑。
  3. 解包:恢复为原来的多个列表。解包的过程是通过 * 运算符完成的,它可以将 zip 对象中的元组重新拆分为多个独立的列表。输出为按照列排列得元组
    matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
    ]# 遍历每一列
    for col in zip(*matrix):print("列:", col)# 可以对每一列进行操作,例如计算列的和col_sum = sum(col)print("列的和:", col_sum)
    列: (1, 4, 7)
    列的和: 12
    

    如果想要进行遍历得转化为列表

    matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
    ]# 交换第 1 行和第 2 行
    matrix[0], matrix[1] = matrix[1], matrix[0]# 交换第 1 列和第 2 列
    transposed = list(zip(*matrix))
    transposed[0], transposed[1] = transposed[1], transposed[0]
    matrix = list(zip(*transposed))print("交换后的矩阵:")
    for row in matrix:print(row)

  4. 创建字典:通过 dict(zip(keys, values))
  5. 排序:根据一个列表的值对多个列表进行排序。
  6. 举例说明

202312-2

因子化简

5416. 因子化简 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/5419/

 解题思路

题目写的比较晦涩难懂,但是看懂样例就比较简单了,主要掌握怎么求素数,怎么能在低时间复杂度下求素数(质数)。素数就是能被1或者它本身整除得,那2就是最小得素数。求素数就枚举,类似于辗转相除法,小素数除不尽了在试试大点得。一般情况下是在数字得一半就能找完,比如10=2*5,如果超过一般那跟小的一半是倍数关系了,但是特殊情况是如果这个数字本身就是质数例如7,那就是特例了,需要注意。

解题代码  

q = int(input())
for _ in range(q):n, k = map(int, input().split())prime_factors = {}# 只需要检查到 sqrt(n)i = 2while i * i <= n:while n % i == 0:n = n // iprime_factors[i] = prime_factors.get(i, 0) + 1i = i + 1# 如果 n 仍然大于 1,说明 n 本身是一个质因数if n > 1:prime_factors[n] = prime_factors.get(n, 0) + 1result = 1for factor, exponent in prime_factors.items():if exponent >= k:result *= factor ** exponentprint(result)

 知识点1:对于字典得灵活运用

题目中有个要求就是幂小于m得时候就给删除了,我们可以用字典实现这个操作:

1使用 dict() 构造函数 
# 从键值对列表创建字典
person = dict([("name", "Alice"), ("age", 25), ("city", "New York")])# 从关键字参数创建字典
person = dict(name="Alice", age=25, city="New York")
2. 访问字典中的值
person = {"name": "Alice", "age": 25, "city": "New York"}# 访问键 "name" 对应的值
print(person["name"])  # 输出:Aliceprint(person.get("name"))  # 输出:Alice# 如果键不存在,get() 方法可以返回一个默认值
print(person.get("gender", "Unknown"))  # 输出:Unknownprime_factors.get(i, 0)#获取当前i的值,如果不存在则默认为 0
prime_factors[i] = prime_factors.get(i, 0) + 1
prime_factors[i] = ...:更新字典中的计数。
这种写法非常适合在质因数分解或其他需要统计频率的场景中使用。
3.遍历字典
person = {"name": "Alice", "age": 25, "city": "New York"}# 遍历字典的键
for key in person:print(key)  # 输出:name, age, city
# 遍历字典的值
for value in person.values():print(value)  # 输出:Alice, 25, New York
# 遍历字典的键值对
for key, value in person.items():print(key, value)  # 输出:name Alice, age 25, city New York

202309的真题  

202309-1

坐标变换(其一)

 5297. 坐标变换(其一) - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/5300/

 解题思路 

 此题没有难度

 解题代码  

n,m=map(int,input().split())
b=list()
c=list()
for i in range(n):a=list(map(int,input().split()))b.append(a)
for i in range(m):d=list(map(int,input().split()))c.append(d)
all=list()
for i in range(m):#操作需要改变的for j in range(n):#操作改变的次数c[i][0]=c[i][0]+b[j][0]c[i][1]=c[i][1]+b[j][1]for element in c[i]:print(element,end=" ")print()

知识点1:输出得控制

 end=" " 是 Python 中 print() 函数的一个参数设置,用于指定输出内容后的结束符。默认情况下,print() 函数在输出内容后会自动换行(即 end="\n")。通过设置 end=" ",可以让输出内容在同一行后继续输出,而不是换行。

print("Hello", end=" ")
print("World")
# 输出:Hello World
自定义分隔符:可以将 end 设置为其他字符,用于特定格式的输出。
print("Hello", end=",")
print("World")
# 输出:Hello,World

202309-2

坐标变换(其二)

 5298. 坐标变换(其二) - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/5301/

 解题思路 

 此题没有难度,但是有点烦人得是他操作从1开始,但是我们平时存储得列表索引是从0开始,容易绕混了,直接暴力解决多开一位。主要是不能被他给绕进去了,我们要知道度数变化不影响长度得变化,长度得变化不影响度数变化.然后就是理解题意i到  j 是经过一系列得操作

 解题代码  

 

http://www.dtcms.com/wzjs/506242.html

相关文章:

  • 深圳企业网站建设公司seo专员岗位职责
  • 网站设置不拦截好搜搜索引擎
  • 买域名之后怎样做网站公司网络营销推广软件
  • 做网站诈骗互联网营销的方式有哪些
  • 搭建游戏服务器福州百度快照优化
  • 自助建站软件考证培训机构
  • 长宁区企业网站建设短视频seo推广隐迅推专业
  • 苏州网站建设网页设计制作网站教程
  • 做网站一定要学java吗app下载推广
  • 如何做百度秒收录网站提升排名
  • 网站vip怎么做百度一下官网首页登录
  • 龙华学校网站建设公司推广渠道有哪些
  • 什么网站做招聘效果好抖音seo优化系统招商
  • wordpress游客怎么发表文章360优化大师官方版
  • wordpress发视频教程搜索引擎关键词优化有哪些技巧
  • 广告联盟网站怎么做seo怎么提升关键词的排名
  • 讨论建设网站的心得自己怎么制作网页
  • 网站怎么做外链海外推广方法有哪些
  • 我的世界做披风网站网站买卖交易平台
  • 东营市住房和城乡建设局网站设计网站模板
  • 大型建筑网站设计公司详情外链工厂 外链
  • 4399小游戏网页版入口长沙网站优化对策
  • 海宁网站建设淘宝客seo推广教程
  • 做预约的网站杭州seo推广服务
  • 小程序代理推广seo网站关键词优化软件
  • 怎样添加网站地图网站seo优化有哪些方面
  • 那种做任务的网站叫什么电子商务专业就业方向
  • seo 网站地图优化淘宝指数在线查询
  • 导航网站前端模板免费建站网站
  • 正规的徐州网站建设今日的最新新闻