随笔分类 -  算法基础:分块

摘要:前置知识:分块。 朴素的打表,指的是在比赛时把所有可能的输入对应的答案都计算出来并保存下来,然后在代码里开个数组把答案放里面,直接输出即可。 注意这个技巧只适用于输入的值域不大(如,输入只有一个数,而且范围很小)的问题,否则可能会导致代码过长、MLE、打表需要的时间过长等问题。 Sample Des 阅读全文
posted @ 2021-08-09 14:33 RioTian 阅读(240) 评论(0) 推荐(0) 编辑
摘要:前言本文转载自 OI wiki,感谢社区的转载支持和其他方面的支持 简介 其实,分块是一种思想,而不是一种数据结构。 在 XCPC 的各个比赛中,各种难度的分块思想都有出现。 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 阅读全文
posted @ 2021-08-07 20:53 RioTian 阅读(524) 评论(0) 推荐(0) 编辑
摘要:整除分块是个啥:要求i=1nn/i 的值,这时候暴力需要O(n)的时间。由于这个区间是连续的,且’/'是向下取整,当i不能整除k时,n/i会等于最小的i(也就是区间最左边的值 L)除n的商。此时如果可以很快的找到这一个区间,那么就可以将时间复杂度降到O(n)阅读全文
posted @ 2021-03-03 20:27 RioTian 阅读(65) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示