题目汇总1

NO.1 CF Gym 100738A Fitting boxes

分类: 数学
简要题解:
  • 设大矩形(长宽为c,dc,d)水平放置,小矩形(长宽为a,ba,b),与水平方向夹角为θθ,那么需要满足:
    bsinθ+acosθ<=dasinθ+bcosθ<=cθ(0,π2)b∗sinθ+a∗cosθ<=da∗sinθ+b∗cosθ<=cθ∈(0,π2)
  • 判断是否有解即可
反思
  • 需要找到合适的方式表达矩形的包含关系

NO.2 Pretty Buses CF Gym - 100738E

分类: 树
简要题解:
  • 先求出最小生成树,显然在司机们最后汇集到任意一个点花费相同,问题在于如何换车
  • 换车次数限制是25,也就是lognlogn 级别,所以启发式合并就好了.

NO.3 CF Gym - 100283A

分类: 数学
简要题解:
  • 首先,设各边长度为l1,l2...lnl1,l2...ln,能构成多边形的充要条件是lk<iklilk<∑i≠kli
  • 显然可以二分答案,问题转化为判定半径为RR 的圆能否包含给定的多边形
  • 对于每一条边,假设其两端点均在圆上,可求出圆心角αi,判断αi<=2π∑αi<=2π 即可

NO.4 CF Gym - 100283C

分类: dp
简要题解:
  • f(x,y,t)f(x,y,t)表示从(x,y)(x,y)这点出发,还剩下tt单位的时间,能挖到的最多宝藏
  • f(x,y,t)=f(i,j,t1)[|xi|+|yj|<=t1]
  • x=x+y,y=xyx′=x+y,y′=x−y,曼哈顿距离的限制转化成对x,yx′,y′ 的分别限制,可用前缀和优化.
反思
  • 类似的,切比雪夫距离d=max(|x1,x2|,|y1,y2|)d=max(|x1,x2|,|y1,y2|) 经过变换x=x+y2,y=xy2x′=x+y2,y′=x−y2 之后转化为了曼哈顿距离

NO.5 CF Gym - 100739A

分类: 位运算,线段树
简要题解:
  • 对序列求前缀xor后,按位讨论
  • 问题转化为给定01序列,每次询问区间[L,R]求Li,jRaixoraj∑L≤i,j≤Raixoraj
  • 用线段树维护区间内0,1的数量即可
反思
  • 异或运算满足自反律和交换律
  • 设计位运算的题目常常逐位处理

NO.6 CF Gym - 100971I

分类: 贪心
简要题解:
  • 考虑任务之间没有依赖关系,那么直接按最晚时限 didi 依次做就是最优的
  • 现在只是对任务ii按照di=min{dj|j rely on i} 排序,DFS一次即可.
反思
  • 从简单问题到复杂问题的思考方式

NO.7 CF Gym - 100971M

分类: dp,单调性
简要题解:
  • 设前缀S1,2,...iS1,2,...i 最少能被分成f(i)f(i) 个good_string
  • f(i)=min{f(j)+1|Sj+1...i is a goodstring}f(i)=min{f(j)+1|Sj+1...i is a goodstring}
  • 注意到f(i)f(i) 是单调递增的,能够转移的jj 的左端点随i增加也是只会的增大,用一个指针就能解决问题
反思
  • 注意一些单调性总能简化问题…
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值