摘要:
River Hopscotch 给出n个点,最多能删除m个点,使得两个点之间的最短距离最大,问这个最大距离是多少 二分 直接二分答案,lower_bound,因为最后搜索到的是大的,所以要检查一下是否要减一,或者上界放大一点点,直接-1就行 检查的话就检查当前这个和前面里的最近的没被删掉的点的距离, 阅读全文
摘要:
Pie 有f+1个人分n个蛋糕,并且要求每个人分到的蛋糕得是从同一块上切下来的,并且要求每个人分到的蛋糕大小是一样的,问最多能切多大的蛋糕 二分 直接枚举答案,复杂度$O(nlogn)$ #include <iostream> #include <cstdio> #include <algorith 阅读全文
摘要:
Median 给n组数,将其两两之差列为新的数列,求这个数列的中位数 二分套二分 很容易想到是二分答案,查看有多少个数小于等于这个答案 抽象的地方在于查询有多少个差小于等于当前的差,通过二分$a[i]+x$在原数组的位置来判断,有多少个数 $y \ge a[i] + x$,从而判断以$pair(a[ 阅读全文
摘要:
For Gamers. By Gamers. 给出初始金币数 给出n个兵种,每个兵种有三个属性:$c_i, d_i, h_i$分别代表购买一只该兵种的代价,伤害,血量 同时给出m个敌人,每个敌人有两个属性$D_i, H_i$分别代表该敌人伤害,血量 每一次只面对一个敌人,同时刷新金币数(金币数回复初 阅读全文
摘要:
Drying 有n件衣服和一个吹风筒,每件衣服有$a_i$的潮湿度,每次只能用吹风筒吹一件衣服,如果选择自然风化,则衣服的潮湿度-1,如果选择用吹风筒则潮湿度-k 问最快需要多久能将衣服全部吹干 二分 二分枚举答案,答案的可行性具有单调01分布 直接检查就行,因为使用吹风筒就没有了潮湿度-1,所以仅 阅读全文
摘要:
Matrix 给出一个$n * n$的表格,每个$A_{ij}$上有一个数字,其值为$f(i, j) = i * i + 100000 * i + j * j - 100000 * j + i * j$,问第m小的值是多少 二分套二分 根据函数$f(i, j)$,我们可以看到,在同一列或同一行中,表 阅读全文
摘要:
Read Time 磁带上有n个头,每个头每秒可以向左滑动,或者向右滑动,同时有m个特定的位置需要滑过(n个头初始所在的位置已经被记为滑过),问最少需要多少秒,能够完成任务 二分 非常巧妙的题,由于给出的答案是呈一个01单调分布的,因此可以使用二分搜索答案 难点在于查询是否可行,我们将头从左到右进行 阅读全文
摘要:
Hamburgers 给出含有'B','S,'C'的字符串,然后现已有这个字符若干个,买入一个不同的字符需要花费一定的代价,给出当前金额,问最多能凑出多少个字符串 二分 或者 暴力 对于二分来说,枚举答案,然后用O(1)去查询,注意上界是金额+300(可能存在代价全是1,初始又能凑几个字符串的情况) 阅读全文
摘要:
New Year's Problem 有n个人,m个商店,每个商店有n个物品,也有对应的$a_i$,代表第i个人对这个物品的好感度。现在要求进入n-1个商店,为每个人购买一件物品,使得最后n个人中,获得物品的最低好感度最高 二分 一开始以为是贪心或者排序,没往二分上面想,想了半天的暴力也没想到有什么 阅读全文
摘要:
Keshi Is Throwing a Party 选择尽可能多的人,满足下列条件,每个人自身有一个价值,还有一个$a_i$和$b_i$值,表示第i个人能接受有$a_i$个人价值比他高和$b_i$个人价值比他低。第i个人的价值就是i 二分 一开始分析的时候觉得只要维护一个$a_i$的递减序列和$b_ 阅读全文