- 博客(8)
- 收藏
- 关注
原创 离散化讲解
在信息学竞赛中,离散化(discretization)一般指的是,在待处理的元素来自于基数很大的集合甚至无穷集时,将这些元素映射到一个基数较小的有穷集,以降低后续处理的复杂度。如果这些元素之间是可比较的,则在离散时往往采用保序映射。所谓保序映射,指映射后的结果也保持相同的比较关系。离散化(discretization) ,“discrete" 是这个词的主要词根。它来源于拉丁语中的 “discretus”,意味着“分离”或“分开”。
2024-04-06 22:02:56
496
1
原创 2345 数干草包
任由他自己完成该项目时,他终于意识到,他使这个项目变得比必要的更复杂了。但是,当他们看到约翰希望他们遵循的复杂指令序列时,所有人都辞职不干了。第二行包含 N 个整数,表示每块土地的初始干草包数量。农夫约翰正试图雇用承包人来帮助重新安排他的农场。约翰的农场由一排 N 块土地构成,编号 1∼N。对于每个 M 指令和 S 指令,输出一个结果。每块土地的初始干草包数量范围 [0,105],请帮助他按照他的指示完成农场升级。每块土地中可以有任意数量的干草包。第一行包含两个整数 N 和 Q。中的一种,意义见题目描述。
2024-04-01 20:45:58
247
原创 位运算讲解
由于 atm 水平有限,他的初始攻击力只能为 0 到 m 之间的一个整数(即他的初始攻击力只能在 0,1,…为了节省体力,他希望通过选择合适的初始攻击力使得他的攻击能让 drd 受到最大的伤害,请你帮他计算一下,他的一次攻击最多能使 drd 受到多少伤害。第 1 行包含 2 个整数,依次为 n,m,表示 drd 有 n 扇防御门,atm 的初始攻击力为 0 到 m 之间的整数。类似的,我们可以计算出初始攻击力为 1,3,5,7,9 时最终攻击力为 0,初始攻击力为 0,2,4,6,8,10。
2024-03-10 11:01:37
781
1
原创 4906 Color the ball
N个气球排成一排,从左到右依次编号为1,2,3…N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?
2024-03-03 10:04:31
172
原创 树状数组讲解
树状数组可以动态维护前缀和,O(logn)的时间成本,所以涉及区间修改和区间查询的问题,可以考虑用树状数组加速。经典问题:一、单点修改+区间查询二、区间修改+区间查询三、二维区间修改+区间查询四、区间最值。
2024-02-06 12:34:15
290
1
原创 2339 品种计数
先看题目:描述农夫约翰有 N 头奶牛排成一排,依次编号为 1∼N。每头奶牛都有一个品种 ID:荷斯坦牛的 ID 为 1,根西岛牛的 ID 为 2,泽西岛牛的 ID 为 3。约翰共有 Q 个询问,每个询问需要你计算某一区间内各品种奶牛的数量。输入描述第一行包含两个整数 N 和 Q。接下来 N 行,每行包含一个整数(1,2,3 中的一个),按顺序给出了每头奶牛的品种 ID。接下来 Q 行,每行包含两个整数 a,b,表示询问在范围 [a,b] 内,各品种奶牛的数量。输出描述。
2024-02-05 21:19:24
164
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人