摘要: 原题 题目链接 题目分析 题目要求一段连续的书页,里面包括了全部知识点,可以考虑尺取,由于知识点的编号无规律,可以考虑用set来记录全部知识点的种数,尺取的过程可以考虑用map来辅助判断区间[s,t]是否包括全部知识点,映射map<知识点编号,个数>,当每种知识点个数至少为1的时候表明[s,t]包含 阅读全文
posted @ 2019-10-23 21:33 VBL 阅读(123) 评论(0) 推荐(0)
摘要: 原题 题目链接 题目分析 依题意可以用尺取法,设区间[s,t]内的数的合为sum,当sum<S的时候,t往右延伸直到sum>=S,此时更新答案,在把s往右延伸,再重复操作.当s,t遍历完整个区间时遍得到答案,复杂度为O(n). 代码 阅读全文
posted @ 2019-10-23 20:51 VBL 阅读(131) 评论(0) 推荐(0)
摘要: 原题 题目链接 题目分析 题目要求最大最小值,可以考虑二分,C(d)为任意两头牛的距离不小于d.判断方法如下,先按牛舍的x值从小到大排序,然后把第一头牛放在x0,从x1开始遍历,当xn-x0>=d时,则放下第二头牛,以此类推.如果能放下C头牛,则继续二分右区间,否则二分左区间. 代码 阅读全文
posted @ 2019-10-23 20:34 VBL 阅读(114) 评论(0) 推荐(0)
摘要: 原题 题目链接 题目分析 依题意,可以考虑二分最大长度,C(x)为能得到K条长度为x的绳子.二分长度判断方法如下,第i段绳子能切下Li/x段长度为x的绳子,统计一下能切下的绳子的数量与K比较即可.控制二分次数达到精度要求即可. 代码 阅读全文
posted @ 2019-10-23 20:12 VBL 阅读(88) 评论(0) 推荐(0)