基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 分而治之 可以看到 ...
分类:
编程语言 时间:
2020-05-10 17:22:20
阅读次数:
59
前言 一个当时了解得相当晚的思想,乍一看好像和分治差不多味道,其实本质区别还是很大的。二分主要是用于二分查找和二分答案,这里还会提一下三分。 (总目录:https://www.cnblogs.com/jinkun113/p/12528423.html) 子目录列表 2.5 二分思想 1、二分与分治 ...
分类:
其他好文 时间:
2020-05-10 16:56:55
阅读次数:
53
题意: 选出一条链 $[u \to v]$,每个点有个权值,然后求 $\max{\sum s_i}$,$s_i$ 为路径前缀和。 首先路径问题先想到点分治,然后考虑如何链上计算这个贡献,如果当前重心为 $x$,我们选出了两个点 $u,v$ ,非常显然 $u,v$ 都是叶子结点。 ~~(证明略)~~ ...
分类:
其他好文 时间:
2020-05-06 21:40:48
阅读次数:
91
板子题.jpg 不同颜色互不影响,所以判断每种颜色有没有奇环就可以了,顺便判一下联不联通.jpg ...
分类:
其他好文 时间:
2020-05-06 21:27:00
阅读次数:
87
Dr. Evil Underscores 思路:对每位二进制进行判断,如果当前位的二进制都为0或者1,则这个位对答案贡献为0,如果当前为有0有1则这个位对答案贡献(1 << bit),然后对当前位为0和为1的分成两个集合进行分治,所有答案取min。 1 #include <cstdio> 2 #in ...
分类:
其他好文 时间:
2020-05-06 15:34:18
阅读次数:
71
前言: 在动手自制操作系统(Operating System)的时候,不要想着一次性就做成一个完整功能强大的OS。而是先做出基本的可以运行的OS,然后再根据自己的需要不断的改进,增加新功能。博主认为这就是分治的思想,哈哈哈哈。 如何开发OS? Ⅰ.首先,我们要知道什么是OS。OS就是指控制和管理整个 ...
分类:
其他好文 时间:
2020-05-06 13:48:17
阅读次数:
78
``` #include #define ll long long using namespace std; const int N=1005; const int M=10005; int n,m,a[N],b[N],c[N]; int dp[N][M];//dp[i,j]从前i个中拿,体积为j的... ...
分类:
其他好文 时间:
2020-05-04 21:35:19
阅读次数:
52
递归 分治思想:当一个问题的规模较大且不易求解的时候,可以考虑将问题分成几个小模块,逐一的解决; 因为分治思想处理问题,各小模块通常具有与大问题相同的结构,这种特性也使递归技术有发展方向 八皇后问题 问题描述:在 8*8 的国际棋盘上,摆放八个皇后,使其不能相互攻击;(任意两个两个都不能处于同行,同 ...
分类:
其他好文 时间:
2020-05-04 13:14:14
阅读次数:
48
/* 离线读入所有值后离散化 题意要求的是,sum{ ai*2^(i-1)*aj*2^(n-j) } 分析这个式子,考虑进行分治 区间[l,r]的 sum{ ai*2^(i-l)*aj*2^(r-j) } 可以将式子分成 ai*2^(i-l) 和 aj*2^(r-j)两部分看, 线段树维护四个值,s ...
分类:
其他好文 时间:
2020-05-03 18:47:51
阅读次数:
60
1. 分治法和动态规划的异同: 共同点: ? 将待求解的问题分解成若干子问题,先求解子问题,然后再从这些子问题的解得到原问题的解。 不同点: ? 1)适合于用动态规划法求解的问题,分解得到的各子问题往往不是相互独立的;而分治法中子问题相互 独立。 ? 2)动态规划法用表保存已求解过的子问题的解,再次 ...
分类:
编程语言 时间:
2020-05-03 14:23:55
阅读次数:
79