
AcWing
qq_52051345
博客转移至www.acming.net和51codefly.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
波动数列
观察这个数列: 1 3 0 2 -1 1 -2 … 这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加 a 或者减少 b 的整数数列可能有多少种呢? 输入格式 共一行,包含四个整数 n,s,a,b,含义如前面所述。 输出格式 共一行,包含一个整数,表示满足条件的方案数。 由于这个数很大,请输出方案数除以 ...原创 2020-01-12 11:54:41 · 586 阅读 · 0 评论 -
地宫取宝
XXX国王有一个地宫宝库,是 n×mn×mn×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是kkk件,则这些宝贝就可以送给小明。 请你帮小明算一算...原创 2020-01-12 10:58:41 · 491 阅读 · 0 评论 -
逆序对的数量
给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<ji < ji<j 且 a[i]>a[j]a[i] > a[j]a[i]>a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。 输出格式 输出一个整数,表示逆序对...原创 2019-12-10 20:05:24 · 176 阅读 · 0 评论 -
归并排序
给定你一个长度为n的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在1−1091-10^91−109范围内),表示整个数列。 输出格式 输出共一行,包含 n 个整数,表示排好序的数列。 数据范围 1≤n≤1000001≤n≤1000001≤n≤1000001≤n≤100000...原创 2019-12-10 19:35:50 · 224 阅读 · 0 评论 -
第k小数
给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数据范围 1≤n≤1000001≤n≤1000001≤n≤100000 1≤k≤n1≤k≤n1≤k≤n 输入样例: 5 3 2 4 1 5 3 输...原创 2019-12-10 19:19:18 · 193 阅读 · 0 评论 -
第k个数
给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数据范围 1≤n≤1000001≤n≤1000001≤n≤100000 1≤k≤n1≤k≤n1≤k≤n 输入样例: 5 3 2 4 1 5 3 输...原创 2019-12-10 18:54:37 · 185 阅读 · 0 评论 -
快速排序
给定你一个长度为n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。 输出格式 输出共一行,包含 n 个整数,表示排好序的数列。 数据范围 1≤n≤1000001≤n≤1000001≤n≤100000 输入样例: 5 3 1 2 4 5 输...原创 2019-12-10 18:38:30 · 189 阅读 · 0 评论 -
机器人跳跃问题
机器人正在玩一个古老的基于DOS的游戏。 游戏中有N+1座建筑——从0到N编号,从左到右排列。 编号为0的建筑高度为0个单位,编号为 i 的建筑高度为H(i)个单位。 起初,机器人在编号为0的建筑处。 每一步,它跳到下一个(右边)建筑。 假设机器人在第k个建筑,且它现在的能量值是E,下一步它将跳到第k+1个建筑。 如果H(k+1)>E,那么机器人就失去H(k+1)-E的能量值,否则它将得到E...原创 2019-12-09 21:19:15 · 165 阅读 · 0 评论 -
前缀和
输入一个长度为n的整数序列。 接下来再输入m个询问,每个询问输入一对l, r。 对于每个询问,输出原序列中从第l个数到第r个数的和。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数数列。 接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。 输出格式 共m行,每行输出一个询问的结果。 数据范围 1≤l≤r≤n1≤l≤r≤n1≤l≤r≤n 1≤n,m≤1000001≤n,...原创 2019-12-09 21:16:03 · 169 阅读 · 0 评论 -
数的三次方根
给定一个浮点数n,求它的三次方根。 输入格式 共一行,包含一个浮点数n。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留6位小数。 数据范围 −10000≤n≤10000−10000≤n≤10000−10000≤n≤10000 输入样例: 1000.00 输出样例: 10.000000 #include <iostream> #include <cstdio...原创 2019-12-09 21:14:04 · 1224 阅读 · 0 评论 -
激光炸弹
一种新型的激光炸弹,可以摧毁一个边长为 R 的正方形内的所有的目标。 现在地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。 激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个边长为 R 的正方形的边必须和x,y轴平行。 若目标位于爆破正方形的边上,该目标不会被摧毁。 求一颗炸弹最多能炸掉地图上总价值为多少的目标。 输入格式 第一行输入正整...原创 2019-12-09 21:10:55 · 161 阅读 · 0 评论 -
数的范围
给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内),表示完整数组。 接下来q行,每行包含一个整数k,表示一个询问元素。 输出格式 共q行,每行包含两个整数,表示所求...原创 2019-12-08 23:07:10 · 733 阅读 · 0 评论 -
飞行员兄弟
“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。 已知每个把手可以处于以下两种状态之一:打开或关闭。 只有当所有把手都打开时,冰箱才会打开。 把手可以表示为一个4х4的矩阵,您可以改变任何一个位置[i,j]上把手的状态。 但是,这也会使得第i行和第j列上的所有把手的状态也随着改变。 请你求出打开冰箱所需的切换把手的次数最小值是多少。 输入格式 输入一共包含四行,每行包含四个把手...原创 2019-12-08 17:36:19 · 328 阅读 · 0 评论 -
费解的开关
你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。 我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态 10111 01101 10111 10000 11011 在改变了最左上角的灯的状态后将变成: 01...原创 2019-12-08 16:12:39 · 98 阅读 · 0 评论 -
带分数
题目描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。 类似这样的带分数,100 有 11 种表示法。 输入格式 输入样例 100 输出样例 6 分析 大佬都自己写递归,唉可是我这个蒟蒻只会用函数。题目要求1-9中每个数都用一次,这个时时候...原创 2019-12-08 15:10:31 · 184 阅读 · 0 评论 -
递归实现组合型枚举
从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行1个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。 数据范围 n>0 , 0≤m≤n , n+(n...原创 2019-12-08 15:07:24 · 104 阅读 · 0 评论 -
翻硬币
小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:oo*oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作。 输入格...原创 2019-12-08 14:38:48 · 697 阅读 · 0 评论 -
递归实现排列型枚举
把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数n。 输出格式 按照从小到大的顺序输出所有方案,每行1个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤n≤9 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 AC代码 #i...原创 2019-12-07 15:48:01 · 130 阅读 · 0 评论 -
递归实现指数型枚举
从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围 1≤n≤15 输入样例: 3 输出样例: 3 2 2 3 1 1 3 1 2 1 2 3 #inc...原创 2019-12-07 15:45:18 · 113 阅读 · 0 评论 -
小凯的疑惑
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。 每种金币小凯都有无数个。 在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。 现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币? 注意:输入数据保证存在小凯无法准确支付的商品。 输入格式 输入数据仅一行,包含两个正整数a和b,它们之间用一个空格隔开,表示小凯手中金币的面值。 输出格式 输出文件仅一行,一个正整数N,表示...原创 2019-11-27 21:22:40 · 259 阅读 · 0 评论