蓝桥杯真题
单词分析
1 | from collections import Counter |
成绩统计
1 | n = int(input()) |
门牌制作
1 | n = 2020 |
数字三角形
1 | n = int(input()) |
卡片
1 | from sys import exit |
跑步锻炼
1 | from datetime import datetime,timedelta |
蛇形填数
1 | nums = [[0] * 100 for _ in range(100)] |
货物摆放
1 | n = 2021041820210418 |
!杨辉三角形
暴力(40%)
1 | n = int(input()) |
组合数+二分
1 | import math |
时间显示
1 | from datetime import datetime, timedelta |
裁纸刀
1 | n, m = 20, 22 |
路径
1 | import math |
排列字母
1 | s = list(input()) |
答疑
1 | n = int(input()) |
直线
1 | n, m = 20, 21 |
特殊日期
1 | import datetime |
纸张尺寸
1 | a, b = 1189, 841 |
青蛙过河
1 | n, x = map(int, input().split()) |
工作时长
1 | from datetime import datetime |
求和
1 | res = 0 |
特殊时间
1 | def check(s): |
数位排序
1 | n, m = int(input()), int(input()) |
括号序列
!!!
天干地支
1 | tiangan = ['jia', 'yi', 'bing', 'ding', 'wu', 'ji', 'geng', 'xin', 'ren', 'gui'] |
阶乘的和
1 | n = int(input()) |
分糖果
1 | n, x = map(int, input().split()) |
平面切分
1 | n = int(input()) |
回路计数
1 | def gcd(a, b): |
三国游戏
1 | n = int(input()) |
左孩子右兄弟
1 | import sys |
2023
1 | res = 0 |
翻转
1 | n = int(input()) |
123
!!!暴力
1 | t = int(input()) |
!!!二分
1 | maxn = 1414215 |
平均
1 | n = int(input()) |
填充
1 | s = input() |
阶乘约数
1 | dicts = {} |
子树的大小
1 | T = int(input()) |
硬币兑换
1 | nums = [i for i in range(2024)] + [0] * 2023 |
玩具蛇
1 | dicts = [(1, 0), (-1, 0), (0, 1), (0, -1)] |
寻找整数
1 | # 11 * 17 = 187 |
合数个数
1 | n = 2020 |
寻找2020
1 | n = 300 |
子矩阵
!!暴力(5
1 | MOD = 998244353 |
管道
1 | n, m = map(int, input().split()) |
异或数列
1 | def init(n): |
纯质数
1 | n = 20210605 |
互质数的个数
1 | a, b = map(int, input().split()) |
最长不下降子序列
1 | from bisect import bisect_right |
松散子序列
1 | s = list(map(lambda x: ord(x) - 96, list(input()))) |
奇怪的数
!!暴力(10%)
1 | def check(num): |
公因数匹配
!!暴力(33.3%)
1 | import sys |
求因数+堆
1 | import heapq |
保险箱
1 | n = int(input()) |
蜂巢
1 | d1, p1, q1, d2, p2, q2 = map(int, input().split()) |
异或和
1 | n, m = map(int, input().split()) |
棋盘
!!暴力
1 | n, m = map(int, input().split()) |
差分+前缀和
1 | n, m = map(int, input().split()) |
美丽的 2
1 | n = 2020 |
数的拆分
!!暴力(10%)
1 | T = int(input()) |
数学
1 | status = [True] * 4001 |
大写
1 | s = input() |
重新排序
1 | n = int(input()) |
消除游戏
!!暴力(58.3%)
1 | s = list(input()) |
技能升级
!!暴力(40%)
1 | n, m = map(int, input().split()) |
二分
1 | n, m = map(int, input().split()) |
质因数个数
!!暴力(80%)
1 | n = int(input()) |
!!数学优化(90%)
1 | n = int(input()) |
全排列的价值
1 | n = int(input()) |
混乱的数组
1 | n = int(input()) |
完全日期
1 | from datetime import datetime, timedelta |
带宽
1 | print(200 // 8) |
小蓝的旅行计划
1 | import heapq, sys |
斐波那契与7
1 | # 14, 16, 17, 23, 34, 37, 43, 56 从14开始,60个循环, |
GCD
!!暴力(20%)
1 | def gcd(a, b): |
!!数学
1 | a, b = map(int, input().split()) |
最小权值
1 | dp = [float('inf')] * 2022 |
二进制问题
!!暴力(40%)
1 | n, k = map(int, input().split()) |
最优清零方案
!!暴力(60%)
1 | n, k = map(int, input().split()) |
!!优化
1 | n, k = map(int, input().split()) |
本质上升序列
!!暴力
1 | s = 'tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhfiadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqijgihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmadvrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl' |
!!动态规划
1 | s = 'tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhfiadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqijgihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmadvrnaaahahndsikzssoywakgnfjjaihtniptwoulxbaeqkqhfwl' |
矩形拼接
1 | T = int(input()) |
重复字符串
1 | k = int(input()) |
小蓝做实验
1 | n = 100000000 |
近似gcd
1 | def gcd(a, b): |
环境治理
1 | n, q = map(int, input().split()) |
取模
!!暴力(35%)
1 | T = int(input()) |
!!暴力换个顺序就全通过了
1 | T = int(input()) |
!!反证法
1 | import sys |
和与乘积
!!暴力(30%)
1 | n = int(input()) |
!!优化–处理连续的1
1 | n = int(input()) |
替换字符
!!暴力(40%)
1 | s = list(input()) |
!!用replace方法
1 | s = input() |
打折
!!暴力(40%)
1 | n, m = map(int, input().split()) |
翻转括号序列
1 | n, m = map(int, input().split()) |
斐波那契数组
1 | n = int(input()) |
最少的1
!!暴力(30%)
1 | def fun(x): |
冰山
!!暴力(80%)
1 | n, m, k = map(int, input().split()) |
六六大顺
!!暴力(30%)
1 | n = int(input()) |
补给
1 | n, d = map(int, input().split()) |
分石头
1 | t=int(input()) |
注意
二分找左边界l=mid+1
,找右边界r=mid-1
,并且mid=l+r+1>>1