
蓝桥杯
文章平均质量分 99
QLUGCL
每一步都算数
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
蓝桥杯C/C++ AB组辅导课
文章目录递归与递推 递归与递推 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 通过二进制的特性枚举所有方案。 此特性还可以用于枚举某一问题的所有情况。 for(long long i=0;i<1<<n;i++){ for(long long j=0;j<n;j++){ if(i>>j&1){//i右移j位判断,第j+1位是否为1; } } } 把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。原创 2020-11-12 21:59:16 · 3357 阅读 · 8 评论 -
树状数组模板
//求和还有更改任意一点更加迅速。 int lowbit(int n){ return n&-n; } void add(int x,int v){ //更新的时候只需要更新对应的等级 for(int i=x;i<=n;i+=lowbit(i))tr[i]+=v; } // 根据对应的等级递减进行求和 int query(int x){ int res=0; for(int i=x;i;i-=lowbit(i))res+=tr[i]; return res; } ...原创 2020-10-28 19:13:54 · 188 阅读 · 0 评论 -
机器人跳跃问题(long long 数据范围越界)
机器人正在玩一个古老的基于DOS的游戏。 游戏中有N+1座建筑——从0到N编号,从左到右排列。 编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。 起初,机器人在编号为0的建筑处。 每一步,它跳到下一个(右边)建筑。 假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。 如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否则它将得到E-H(k+1)的能量值。 游戏目标是到达第N个建筑,在这个过程中能量值不能为负数个单位。 现在的问题是机器人至少原创 2020-09-27 20:48:28 · 437 阅读 · 0 评论 -
移动距离(计数开始从1变为0,方便列号求差)
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。 其楼房的编号为 1,2,3… 当排满一行时,从下一行相邻的楼往反方向排号。 比如:当小区排号宽度为 6 时,开始情形如下: 1 2 3 4 5 6 12 11 10 9 8 7 13 14 15 … 我们的问题是:已知了两个楼号 m 和 n,需要求出它们之间的最短移动距离(不能斜线方向移动)。 输入格式 输入共一行,包含三个整数 w,m,n,w 为排号宽度,m,n 为待计算的楼号。 输出格式 输出一个整数,表示 m,n 两楼间最短移动距离。原创 2020-09-21 22:18:46 · 239 阅读 · 0 评论 -
倍数问题(余数的骚操作)
众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。 但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。 现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。 数据保证一定有解。 输入格式 第一行包括 2 个正整数 n, K。 第二行 n 个正整数,代表给定的 n 个数。 输出格式 输出一行一个整数代表所求的和。 数据范围 1≤n≤105, 1≤K≤103, 给定的 n 个数均不超过 108 输入样例: 4 3 1 2 3 4 输原创 2020-09-08 20:38:46 · 1249 阅读 · 0 评论 -
K倍区间(数组多个区间求和)
给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai+1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N 行每行包含一个整数 Ai。 输出格式 输出一个整数,代表 K 倍区间的数目。 数据范围 1≤N,K≤100000, 1≤Ai≤100000 输入样例: 5 2 1 2 3 4 5 输出样例: 6 题解 首先需要找连续的区间且是k的倍数,于是双重fo原创 2020-09-06 22:31:44 · 952 阅读 · 0 评论 -
第十届蓝桥杯省赛 后缀表达式(思维题)
给定 N 个加号、M 个减号以及 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N+M+1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个? 请你输出这个最大的结果。 例如使用 123+−,则 “23+1−” 这个后缀表达式结果是 4,是最大的。 输入格式 第一行包含两个整数 N 和 M。 第二行包含 N+M+1 个整数 A1,A2,⋅⋅⋅,AN+M+1。 输出格式 输出一个整数,代表答案。 输入样例: 1 1 1 2 3 输出样例: 4 题解原创 2020-09-05 14:46:54 · 381 阅读 · 0 评论 -
暴力循环的技巧
小明开了一家糖果店。 他别出心裁:把水果糖包成4颗一包和7颗一包的两种。 糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。 当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。 大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。 输入格式 两个正整数 n,m,表示每种包装中糖的颗数。 输出格式 一个正整数,表示最大不能买到的糖数。 数据范围 2≤n,m≤1000,原创 2020-09-04 19:04:05 · 874 阅读 · 0 评论 -
整数拼接(记忆化更新)
给定一个长度为 n 的数组 A1,A2,⋅⋅⋅,An。 你可以从中选出两个数 Ai 和 Aj(i 不等于 j),然后将 Ai 和 Aj 一前一后拼成一个新的整数。 例如 12 和 345 可以拼成 12345 或 34512。 注意交换 Ai 和 Aj 的顺序总是被视为 2 种拼法,即便是 Ai=Aj 时。 请你计算有多少种拼法满足拼出的整数是 K 的倍数。 输入格式 第一行包含 2 个整数 n 和 K。 第二行包含 n 个整数 A1,A2,⋅⋅⋅,An。 输出格式 一个整数代表答案。 数据范围 1≤n≤1原创 2020-08-19 12:36:47 · 2065 阅读 · 3 评论