分治
Jessius
If you miss the train I'm on
展开
-
BZOJ 1213, 高精度开根
输入一个正整数m(1≤m≤50)和一个整数n(0≤n≤10^10000),求开根后取整的结果。 二分+高精度+NTT 倍增地确定二分边界L,R; 由于n过大,高精度乘法不够快,所以需要用NTT来加速乘法(FFT比较慢,而且精度不够)。原创 2016-08-13 10:41:49 · 1625 阅读 · 0 评论 -
BZOJ 1082, 栅栏
二分+搜索。 二分可能得到的符合条件的木板数,再搜索验证。 爆搜的姿势很要紧,写一个美观一点的搜索不仅复杂度小而且方便剪枝…… 搜索时优先匹配较小的木板,显然若较小木板都无法满足则较大木板也无法满足。剪枝一:排序并删除小于最小木板的木材和大于最大木材的木板。 剪枝二:搜索时记录当前已浪费的木材量,当浪费值加需求量已大于木材总量时退出。原创 2016-10-23 21:04:22 · 212 阅读 · 0 评论 -
BZOJ 1014, 火星人
给定一仅有小写字母组成的字符串,要求支持单字符修改、插入和查询不同起始位置的最长公共前缀长度。用Splay维护字符串,二分+Hash查询。 反反复复WA了很多次,就因为Hash的操作顺序不太对……也算是买了个教训。原创 2017-02-08 21:17:20 · 423 阅读 · 0 评论