Loading

摘要: 这是一道树状数组题 阅读全文
posted @ 2019-03-02 17:05 青山新雨 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 思路:先说一下题意吧。就是给你n个文件大小为v,价值为c, 但是硬盘的大小为S, 而且要存的总价值大于等于p。问每次传输k大小的文件。问k的最大值是多少? 我们以k为二分对象。 直接讲检验函数吧。 假设每次传输x大小的文件,则我们可以要筛选出小于等于的文件。这些文件就像01背包问题中要装的物品一样, 阅读全文
posted @ 2019-03-02 16:20 青山新雨 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 思路: 我觉得我现在有一个非常不好的习惯,那就是不爱画图。当我把这个题的检验函数用图来表示出来。感觉就非常好理解了。 直接说检验函数吧。就是非常简单的模拟,我现在换成角度来说:假设你最小能跳x(不能跳小于x的步)那么,在这个过程中统计直接飞过去的石头的个数。 这样是不是很简单就可以统计出来sum。而 阅读全文
posted @ 2019-03-02 14:43 青山新雨 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 这道题是直尺法的模板题: 阅读全文
posted @ 2019-03-02 13:25 青山新雨 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 思路:检验函数中,先初始化每个节点的下标,每调用检验函数就从新使用一次并查集(并查集的时间复杂度非常低),然后,就看当一条路的价值val<=假设最大值x时,就把他们连接起来。 阅读全文
posted @ 2019-03-02 10:41 青山新雨 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 思路:先来分析一下数据范围,是1e4个数据,但是,是double类型,结果不超过0.01那么在绳子最大的情况下,单纯的找正确答案暴力的话就是1e7的时间复杂度,再乘上1e4的数据,这样肯定不行。那么很容易想到二分,在找答案时使用二分的话就可以让时间复杂度下降到log(1e7)这是一个比较小的值,起码 阅读全文
posted @ 2019-03-02 09:54 青山新雨 阅读(591) 评论(0) 推荐(0) 编辑