1. 分解: 对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。 2. 合并: 将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上逐步求出原来问题的解。 3. 分治算法的使用条件: 分治法所能解决的问题一 ...
分类:
编程语言 时间:
2020-06-10 13:19:11
阅读次数:
164
第十个需求 检索功能 测试代码多了,通过人工查找,还是不太方便,而且检索测试代码是一个高频需求,如果能够查找或者过滤就方便多了。 检索TreeView 首先想到可以直接检索TreeView,输入一个关键字,然后遍历每一个节点,如果标题包括关键字就设置为焦点节点。如果不是需要的节点,就继续找下一个包括 ...
分类:
其他好文 时间:
2020-06-09 18:43:01
阅读次数:
63
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。 也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。 选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状 ...
分类:
编程语言 时间:
2020-06-07 16:44:54
阅读次数:
67
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态 ...
分类:
编程语言 时间:
2020-06-07 14:54:15
阅读次数:
118
题意 有一个 n×m 的广场,其中一部分要铺地砖,地砖有两种, 1 × 1 和 1×2 的,后者只能横着铺,其中, 1 × 1的单价为 x , 1 × 2 的单价为 y , 输入这个广场,"."表示要铺地砖,求最少花费。注意,地砖不可重合,也不可覆盖在已铺地砖区域。 思路 这显然是贪心,分别计算全铺 ...
分类:
其他好文 时间:
2020-06-07 10:55:12
阅读次数:
68
#include using namespace std; // 走两次是不行的,因为这就是贪心了。。 // 需要多线程dp,就是想象有2个人同时走,他们可以走到一起,但是必须只加一次; // 转移方程: // (1)a,b都从上/下走过来 // (2)a,b一个上一个下走过来 // 共4种 //d... ...
分类:
编程语言 时间:
2020-06-06 21:42:53
阅读次数:
68
思路: 复杂模拟题 采用结构体存储元素信息,输入时,统一化为大写或小写。 考虑三种元素选择器标签/id选择器:直接遍历整个数组 分别与label/id作比较即可 *后代选择器:①.首先遍历一遍元素 找出符合最后一个条件的所有元素 放入一个vector中②.对vector中的每个元素首先判断倒数第二个 ...
分类:
其他好文 时间:
2020-06-06 10:53:06
阅读次数:
58
#题意 给你n和p,还有n个p的指数,问你怎么分可以让AB两个集合的和的差最小,n,p<=1e6,答案需要模1e9+7 #思路 分成两组的问题参考51nod2334,朴素方法是背包或者dfs 但这题是在p进制下的,可以想到贪心的策略: 从大到小进行分配,每次将$p^{a[i]}$分配到当前的和比较小 ...
分类:
其他好文 时间:
2020-06-05 13:26:05
阅读次数:
63
1.摘要: 关于LIS部分,本篇博客讲一下LIS的概念定义和理解,以及求LIS的三种方法,分别是O(n^2)的DP,O(nlogn)的二分+贪心法,以及O(nlogn)的树状数组优化的DP,最后附上几道非常经典的LIS的例题及分析。 2.LIS的定义: 最长上升子序列(Longest Increas ...
分类:
其他好文 时间:
2020-06-04 01:48:57
阅读次数:
91
CF1363C Game On Leaves 思路: 先考虑先手必胜的最后局面:节点$x$本身就是叶子节点;或将节点$x$看作根节点时,只剩下$2$个节点。 对于后者的情况,考虑之前的$n-2$个节点。只要第$n-2$个节点由后手取走即可,也就是$n-2$为偶数。 void solve() { in ...
分类:
其他好文 时间:
2020-06-04 01:31:56
阅读次数:
63