1025笔记

1.浇草
  • S[i].a=x-sqrt(r - (w/2));
    S[i].b=s+sqrt(r-(w/2));
    在这里插入图片描述
  • 勾股定理求这个矩形边缘到中心的距离
  • 按S [i].a 从小到大快排
  • 从左到右依次处理每个区间
2.将n个正整数连成一个最大的整数

弱智贪心,按字典序大小排序即可。

bool cmp(string x,string y){
    return x+y>y+x;
}
3.Processor

题意:在时限 [ri,di]内处理工作量为wi的n个程序(可以随时中断和继续),求最大速度的最小值。
思路:按开始时间升序排列(若相同,则按结束时间升序排)再二分。(中断情况:一个任务完成 or 新任务加入)。

4.滑雪

题意:有s个滑雪器具, 下滑速度不同, 从高到低有n个门, 你的水平速度最大是v,求一个下滑速度最大的能够穿过所有n个门的器具。
思路:将n个器具的速度排序二分查找。判断是否能穿过所有门: 每次维护一个能滑到的最大范围。

5.n皇后问题进阶

首先得出:x,y轴互不相关,可分开求解。
问题转化为:在[1,n]中有一些区间,在每一个区间中选一个点,使最终恰好覆盖[1,n]中的这n个点。
解法:以r作为关键字排序,对于每一个序列,从l到r扫描。如果该点没有被选择过,那就选择该点。

6.The Trip, 2007

弱智问题,答案为最多的元素

7.司机问题

题意:n个司机,n个早,晚班路线。给每个司机安排一条早,晚班路线,使得每条路线只属于一个司机。如果一个司机总的驾驶时间超过d,超出时间按每小时r元付给司机。求费用最小。
思路:大水题,早班降序排,晚班升序排配对即可。

8.田忌赛马

显然,田忌不是出最强的,就是出最弱的。
分情况考虑:

  • 如果田忌目前的最快马快于齐王目前的最快马,则出最快
  • 如果田忌的最快马慢于齐王的最快马,则出最慢
  • 如果田忌的最快马和齐王的最快马相等,分以下两种情况:
    • 若田忌的最慢马快于齐王的最慢马,两者比
    • 否则,出最慢马
9.关于小立方体

总数至少是正视图里面的方块个数,对于侧视图的每个高度,如果正视图里没有出现过,那就要再加上这几个方块数。

10.间谍星球

离散化一下再暴力枚举QwQ。

11.Sumsets

a+b=d−c,接下就可以枚举a+b,并用hash记录下来,再枚举判断是否存在合法的d,c使得d-c=a+b。

12.复合词

map/hash一下再枚举即可。

13.Restaurant(计算几何)

题意:n个点,m×m的座标纸(0~m-1)。n个点中前两个为A和B,求满足以下性质的点的数目:当且仅当对任意一个给定点C,它对A曼哈顿距离小于C对A的曼哈顿距离 或 它对B的曼哈顿距离小于C对B的曼哈顿距离。
思路:显然满足的点都在AB之间,从A到B扫一遍确定每个点右侧的值,在从B到A扫一遍确定每个点左侧的值,最后答案即为AB之间每一个x的高度的和。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章