算法提高
文章平均质量分 52
4triumph
这个作者很懒,什么都没留下…
展开
-
动态中位数( 堆 )
依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。输入格式第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。每个数据集的第一行首先输入一个代表数据集的编号的整数。然后输入一个整数 M,代表数据集中包含数据的个数,M 一定为奇数,数据之间用空格隔开。数据集的剩余行由数据集的数据构成,每行包含 10 个数据,最后一行数据量可能少于 10 个,数据之间用空格隔开。输出格式。...原创 2022-08-09 21:51:18 · 95 阅读 · 0 评论 -
天才的记忆 (
,在你看过一遍之后,它便消失在你面前,随后问题就出现了,给你 M 个询问,每次询问就给你两个数字 A,B,要求你瞬间就说出属于 A 到 B 这段区间内的最大数。一天,一位美丽的姐姐从天上飞过,看到这个问题,感到很有意思(主要是据说那个宝藏里面藏着一种美容水,喝了可以让这美丽的姐姐更加迷人),于是她就竭尽全力想解决这个问题。),如果谁能轻松回答出这个问题,便可以继承他的宝藏。从前有个人名叫 WNB,他有着天才般的记忆力,他珍藏了许多许多的宝藏。输出共 M 行,每行输出一个数,表示对一个问题的回答。...原创 2022-08-08 22:50:32 · 85 阅读 · 0 评论 -
最佳牛围栏( 二分 + 前缀和 + 双指针 )
农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于 1 头,也不会超过 2000 头。约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。接下来 N 行,每行输入一个整数,第 i+1 行输入的整数代表第 i 片区域内包含的牛的数目。在给定条件下,计算围起区域内每块地包含的牛的数量的平均值可能的最大值是多少。围起区域内至少需要包含 F 块地,其中 F 会在输入中给出。第一行输入整数 N 和 F,数据间用空格隔开。......原创 2022-08-08 17:58:04 · 104 阅读 · 0 评论 -
增减序列( 差分 )
假设p >= q ,那么我们要求正数p都减成0,所以最少要进行p次操作,所以方案数就是p,q的最小值 + p,q之间的差的绝对值 = p,q之间的最大值 即最少操作数:min(p,q) + abs(p - q);当正数减为0或者负数加为0了,那么就需要进行第二种或者第三种操作,所弥补的就是p与q之间差,可以只选第二种或者第三种,然后多一种0次的方案(即 不对b1 进行操作那么a1就不会改变):abs(p- q) + 1。尽量选择第一种:选择两个数进行操作,正数的和为p,负数的和为q,第一行输入正整数 n。.原创 2022-08-08 00:08:53 · 183 阅读 · 0 评论 -
激光炸弹( 二维前缀和 )
接下来 N 行,每行输入一组数据,每组数据包括三个整数 Xi,Yi,Wi,分别代表目标的 x 坐标,y 坐标和价值,数据用空格隔开。这道题目还有一个重点,就是要注意,坐标x,y都要加1,因为这题的坐标是从0开始的,而我们处理是从一开始的。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和 x,y轴平行。地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。输出一个正整数,代表一颗炸弹最多能炸掉地图上目标的总价值数目。...原创 2022-08-07 22:07:58 · 93 阅读 · 0 评论 -
费解的开关( 递推 + 位运算 ) + 费解的开关
这道题我写的时候一直卡着的地方就是没想出来要把第一行32种情况枚举一遍,因为第一行的开关情况决定了最后要走多少步,所以需要枚举每一种情况来确定最小步数。一共输出 n 行数据,每行有一个小于等于 6 的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。给定一些游戏的初始状态,编写程序判断游戏者是否可能在 6 步以内使所有的灯都变亮。每一个灯都有一个开关,游戏者可以改变它的状态。各组数据间用一个空行分隔。..原创 2022-08-05 22:10:19 · 89 阅读 · 0 评论 -
64位整除法( 位运算 )
第一行输入整数a,第二行输入整数b,第三行输入整数p。求 a 乘 b 对 p 取模的值。原创 2022-08-05 17:05:39 · 302 阅读 · 0 评论