题目链接
dir -C
方法: sparse table解决RMQ问题
题目分析
题目大意
给定n个文件的文件名长度ai,该行长度w
,文件竖着输出,问,最少需要多少行才可以容纳所有的文件。
解析
一开始没看清楚题,以为文件是横着排的,别人说这题是RMQ的时候看完题还是没反应过来。后来理解了一下题意,发现是竖着来的。所以,只要从小到大枚举每行的文件数量即可,找到第一个可以容纳这么多文件的宽度。使用Sparse Table或者线段树来处理应该都可以,扫出每个连续区间的最大值,然后相加,小于等于w时输出即可~注意要用long long
,否则会炸。
代码
1 |
|