蓝桥杯 必看 (开头模板,知识点,骗分)

文章介绍了在竞赛编程中常见的代码导入和使用,如bisect库用于二分查找,Python标准库中的其他功能,以及如何利用Excel进行数据处理。还提到了骗分技巧和Excel的填充、序列操作作为实用工具。
摘要由CSDN通过智能技术生成

在竞赛编程中用于简化输入输出过程,以及定义一些常用的数据结构和算法。这样的代码块通常放在程序的开头。 

import bisect
import sys
import copy
from collections import deque, defaultdict
import heapq
from itertools import accumulate, permutations, combinations
import math

input = lambda: sys.stdin.readline().rstrip("\r\n")
printf = lambda d: sys.stdout.write(str(d) + "\n")
INF = int(1e12)
# INF = 0x3f3f3f3f3f3f

# sys.setrecursionlimit(100000)

def read():
    line = sys.stdin.readline().strip()
    while not line:
        line = sys.stdin.readline().strip()
    return map(int, line.split())

def I():
    return int(input())

这部分代码是导入Python标准库中的一些模块和函数,它们包括:

  • bisect:提供了二分查找和插入的功能。
  • sys:提供了与 Python 解释器进行交互的函数。
  • copy:提供了复制对象的功能。
  • deque:双端队列,可以在两端快速添加和删除元素。
  • defaultdict:提供了一种创建默认值的字典。
  • heapq:提供了实现堆(优先队列)算法的函数。
  • accumulate:提供了对可迭代对象进行累积操作的函数。
  • permutations:提供了计算排列的函数。
  • combinations:提供了计算组合的函数。
  • math:提供了数学运算的函数。
  • input:定义了一个名为input的函数,使用lambda表达式实现,作用是从标准输入中读取一行,并移除行末的换行符。
  • printf:定义了一个名为printf的函数,使用lambda表达式实现,作用是将传入的参数以字符串形式写入标准输出,并在末尾加上换行符。
  • INF:定义了一个名为INF的常量,表示无穷大,其值为10的12次方(即1e12)。
  • read:定义了一个名为read的函数,作用是从标准输入读取一行,并将其转换为整数列表返回。
  • I:定义了一个名为I的函数,作用是从标准输入读取一个整数并返回。

 具体实现十四届蓝桥杯省赛python b组

(***重点***)骗分技巧:骗分贴

如果你想使用集合(set)来移除相邻重复的元素,你可以简单地将列表转换为集合,然后再转换回列表。集合的特性是它会自动去除重复元素。下面是使用集合的修正版本代码:

def bianyuan(a):
    return list(set(a))

a = input("请输入一个字符串:")
result = bianyuan(a)
print("移除相邻重复元素后的列表:", result)

''.join 是一个字符串方法,它用于将可迭代对象中的元素连接成一个字符串。通常的用法是将一个列表中的字符串元素连接成一个字符串。

words = ['Hello', 'World']
result = ' '.join(words)
print(result)  # 输出: Hello World

使用math模块中的ceil()floor()函数来进行向上和向下取整操作

二分法:洛谷:二分查找与二分答案

 bisect 库的二分法

bisect 模块提供了一些用于操作有序列表的函数,其中最常用的包括:

  1. bisect.bisect_left(a, x, lo=0, hi=len(a)): 返回在有序列表 a 中插入元素 x 后的索引,如果元素已经存在,则返回应该插入的位置的左侧索引。可选参数 lohi 可以限定搜索范围,默认为整个列表的开始和结束。

  2. bisect.bisect_right(a, x, lo=0, hi=len(a)): 返回在有序列表 a 中插入元素 x 后的索引,如果元素已经存在,则返回应该插入的位置的右侧索引。可选参数 lohi 可以限定搜索范围,默认为整个列表的开始和结束。

  3. bisect.insort_left(a, x, lo=0, hi=len(a)): 将元素 x 插入到有序列表 a 中的适当位置,保持列表的有序性。如果元素已经存在,则插入在左侧。可选参数 lohi 可以限定搜索范围,默认为整个列表的开始和结束。

  4. bisect.insort_right(a, x, lo=0, hi=len(a)): 将元素 x 插入到有序列表 a 中的适当位置,保持列表的有序性。如果元素已经存在,则插入在右侧。可选参数 lohi 可以限定搜索范围,默认为整个列表的开始和结束。

excel:

  • 问号(?)代表任意单个字符
  • 星号(*)代表任意多个字符
  • Excel 是一个编辑器,能快速填充、统计数据,不用编写程序。
    Excel 能非常方便地处理简单的数列、日期类统计问题。以本题为例:在第一个单元格中
    输入 1 ,再选择“填充”→“序列”选项,打开“序列”对话框,在其中设置“终止值”
    2020 ,单击“确定”按钮,即可得到 1 2020 的数列;然后用“替换”功能将 2 替换
    成任何字符,从弹出的替换结果对话框中可以看到“完成 624 处替换”的提示,得到答案
    624

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值