12 2022 档案
摘要:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在 的某个排列中有多少个连号区间呢? 这里所说的连号区间的定义是: 如果区间 里的所有元素(即此排列的第 个到第 个元素)递增排序后能得到一个长度为 的“连续”数列,则称这个区间连
阅读全文
摘要:饮料换购 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。 输入格式 输入一个整数 n,表示初始买入的
阅读全文
摘要:蚂蚁感冒 长 厘米的细长直杆子上有 只蚂蚁。 它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是 1 厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有 1 只蚂蚁感冒了。 并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,
阅读全文
摘要:#买不到的数目 小明开了一家糖果店。 他别出心裁:把水果糖包成4颗一包和7颗一包的两种。 糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。 当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。 大于17的任何数字
阅读全文
摘要:k倍区间 给定一个长度为 的数列, ,如果其中一段连续的子序列 之和是 的倍数,我们就称这个区间 是 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N 行每
阅读全文
摘要:激光炸弹 地图上有 个目标,用整数 表示目标在地图上的位置,每个目标都有一个价值 。 注意:不同目标可能在同一位置。 现在有一种新型的激光炸弹,可以摧毁一个包含 个位置的正方形内的所有目标。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即
阅读全文
摘要:四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 4 个正整数的平方和。 如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 比如: 对于一个给定的正整数,可能存在多种平方和的表示法。 要
阅读全文
摘要:#子矩阵的和 输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 ,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n,m,q。 接下来 n 行,每行包含 m 个整数,表示整数矩阵。 接
阅读全文
摘要:前缀和 输入一个长度为 n 的整数序列。 接下来再输入 m 个询问,每个询问输入一对 l,r。 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。 输入格式 第一行包含两个整数 n 和 m。 第二行包含 n 个整数,表示整数数列。 接下来 m 行,每行包含两个整数 l 和 r,表示一个询问
阅读全文
摘要:机器人跳跃问题 机器人正在玩一个古老的基于 DOS 的游戏。 游戏中有 座建筑——从 0 到 N 编号,从左到右排列。 编号为 0 的建筑高度为 0 个单位,编号为 i 的建筑高度为 H(i) 个单位。 起初,机器人在编号为 0 的建筑处。 每一步,它跳到下一个(右边)建筑。 假设机器人
阅读全文
摘要:数的三次方根 给定一个浮点数 n,求它的三次方根。 输入格式 共一行,包含一个浮点数 n。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留 6 位小数。 数据范围 输入样例: 输出样例: . 思路 实数二分
阅读全文
摘要:数的范围 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。 如果数组中不存在该元素,则返回 -1 -1。 输入格式 第一行包含整数 n 和 q,表示数组长度和询问个数。 第二行包含 n 个整数(均在 $1
阅读全文
摘要:简单斐波那契 以下数列 0 1 1 2 3 5 8 13 21... 被称为斐波纳契数列。 这个数列从第 项开始,每一项都等于前两项之和。 输入一个整数 ,请你输出这个序列的前 项。 输入格式 一个整数 。 输出格式 在一行中输出斐波那契数列的前 项,数字之间用空格隔
阅读全文
摘要:计算1+2!+3!+...+n!的和 Code 点击查看代码 #include<iostream> #include<vector> using namespace std; typedef vector<int> VI; //动态数组 int n; VI add(VI &A, VI &B) //高
阅读全文
摘要:递归实现组合型枚举 从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比
阅读全文
摘要:谁作案了? 问题描述: 某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析: 至少1个人作案; A、E、F这3个人中至少2个人参与作案; A、D不可能是同案犯; C或B同时作案,或都与本案无关; C、D中有且仅有1个人作案; 如果D没有参与作案,则E也不可能参与作案 请找出作案人。 思路 推理已知正确答
阅读全文
摘要:递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数 n。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤
阅读全文
摘要:递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间
阅读全文