随笔分类 -  算法——分治

摘要:题目链接:https://www.acwing.com/problem/content/description/257/ 基于值域的整体分治策略是给定mid,将值小于mid的数的下标放入lq,另外的放入rq,将询问也进行分割,变成两个独立的子问题,对子问题进行求解即可。注意树状数组每次结束一次sol 阅读全文
posted @ 2020-07-22 14:24 WA自动机~ 阅读(288) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=3889 根据对称性以及规律可以分四种情况进行归纳。旋转的情况可以这样考虑, ①、对于位置为(x,y)的点,边长为k的正方形中,顺时针旋转九十度之后的坐标是(y,k-1-x), ②、对于位置(x,y)上的点,边长为k的正方形中,逆时针旋转 阅读全文
posted @ 2020-06-14 13:06 WA自动机~ 阅读(169) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://poj.org/problem?id=1958 求A的B次方的所有约数之和对9901的模。使用分治算法计算等比数列的前缀和,时间复杂度为O(logC) 代码如下: #include<iostream> #include<vector> using namespace std; 阅读全文
posted @ 2020-06-14 12:42 WA自动机~ 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题目给出一个序列和一个操作数k,操作集合是交换任意两个相邻的数,问操作k次之后序列的最小逆序对数量。一个没有升序排列的数列一定存在两个相邻的数是逆序对,只要对这两个数进行交换就可以使逆序对的数量减 阅读全文
posted @ 2020-04-02 18:52 WA自动机~ 阅读(185) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1010 题目给出一个2e4以内的数,要求把这个数分解成仅含2的幂次方的形式,下图是样例: 由于一个数可以分成多个2的幂次方,可以将其划分为多个子问题,再对每个子问题递归求解,这就是分治算法的精髓。在本题中,分治的最小子问 阅读全文
posted @ 2020-04-01 13:26 WA自动机~ 阅读(250) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1908 这个题不要以为拿到手就可以树状数组秒,本题的数据范围是1e9显然简单的树状数组是空间不够的,点个数有5e5,所以离散化之后用树状数组还是可以的,但是有没有更简明的方法呢?这就说到一种高效的排序方式mergesor 阅读全文
posted @ 2020-03-22 22:49 WA自动机~ 阅读(183) 评论(0) 推荐(0) 编辑

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