题目:八数码 网址:http://poj.org/problem?id=1077 在一个3×3的网格中,1~8这8个数字和一个“X”恰好不重不漏地分布在这3×3的网格中。 例如: 在游戏过程中,可以把“X”与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们的目的是通过交换,使得网格变为如下 ...
分类:
其他好文 时间:
2020-05-01 21:00:10
阅读次数:
103
问题: 有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时举行,问如何选择这些活动,从而使得被安排的活动数量达到最多。 解析: 如果我们选择开始时间最早的节目,得不到最优解 如果我们选择时间最短的节目,也无法得到最优解 可以用数学归纳法证明,我们的贪心策略应 ...
分类:
其他好文 时间:
2020-05-01 20:57:58
阅读次数:
70
"Increasing Speed Limite HDU 3030" 题意 给你一个长度为m的数组A,你可以通过给的X,Y,Z计算获得一个长度为n的数组,问你这个n长的序列有多少个非空严格上升序列。 思路 dp $dp[i]$: 以第i个元素为结尾的非空严格上升序列个数 $dp[i] =\sum_{ ...
分类:
编程语言 时间:
2020-05-01 20:50:27
阅读次数:
68
http://acm.hdu.edu.cn/showproblem.php?pid=1002 代码 #include<iostream> #include<string> #include<cstring> #include<algorithm> struct bignum { int list[2 ...
分类:
其他好文 时间:
2020-05-01 20:15:31
阅读次数:
49
贪心算法 1. 算法介绍 贪心算法是指在可对问题进行求解时,在每一步中采用最好或者最优的选择,从而导致结果最好的算法 贪心算法得到的结果不一定是最优的结果,但是都是相对近似最优解的结果 2. 实际问题 | 广播台 | 覆盖地区 | | | | | k1 | “北京”,“上海”,“天津” | | k2 ...
分类:
编程语言 时间:
2020-05-01 18:38:26
阅读次数:
62
B - Dining POJ - 3281 首先二分图的多重匹配匈牙利算法是不行的,无法最优。 直接在 ...
分类:
其他好文 时间:
2020-05-01 16:40:34
阅读次数:
42
介绍: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与 ...
分类:
编程语言 时间:
2020-04-30 21:41:07
阅读次数:
75
前言 算法基础的第三部分!这几部分其实讲述的都不太详细,因为许多内容都算比较清楚了,也不想太深入讨论,不过应该后面会进行补充。 (总目录:https://www.cnblogs.com/jinkun113/p/12528423.html) 子目录列表 1、贪心 2、背包问题 3、正确性证明 2.3 ...
分类:
编程语言 时间:
2020-04-30 15:32:59
阅读次数:
76
给出一个字符串,按照从前到后的顺序进栈,输出字典序最小的出栈序列 ...
分类:
其他好文 时间:
2020-04-30 09:20:02
阅读次数:
56
"Description" 思路 由于$a_i$的取值非常小,所以把每个值所在坐标从小到大存起来。然后枚举每个$a_i$为回文的左右边界可得的最大长度。 枚举过程中,求两个$a_i$形成的区间中包含的重复次数最多的数。由于区间越大,重复的个数越多,所以从$a_i$的最左右两边到中间枚举。 统计区间某 ...
分类:
其他好文 时间:
2020-04-29 23:57:08
阅读次数:
131