摘要: 三部排序| 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不 阅读全文
posted @ 2019-01-27 14:25 fishers 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀 答案:haystack++ != needle++ 思路:蓝桥杯如果出了两道代码填空,其中一道一定是递归,另 阅读全文
posted @ 2019-01-27 14:21 fishers 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 黄金连分数 黄金分割数0.61803... 是个无理数,这个常数十分重要,在许多工程问题中会出现。有时需要把这个数字求得很精确。 对于某些精密工程,常数的精度很重要。也许你听说过哈勃太空望远镜,它首次升空后就发现了一处人工加工错误,对那样一个庞然大物,其实只是镜面加工时有比头发丝还细许多倍的一处错误 阅读全文
posted @ 2019-01-27 13:45 fishers 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计 阅读全文
posted @ 2019-01-27 13:03 fishers 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab 阅读全文
posted @ 2019-01-27 13:01 fishers 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生 阅读全文
posted @ 2019-01-27 12:59 fishers 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 思路一:多一层枚举,枚举k,k表示取得当前物品的数量 思路二:同样可以像0 1背包问题那样使用空间优化,一维数组按照从大到小的顺序枚举背包体积j。 思路三:可以使用二进制优化,优化选取的k的个数。 阅读全文
posted @ 2019-01-25 11:24 fishers 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 完全背包 物品可以取无限件 思路一:状态转移方程外层加一层循环 思路二:等效于用dp[i][v c[i]去更新dp[i][v](顺序更新小推大) 代码一:在0 1背包基础上外加一层循环,枚举数量k,(k c[i] 阅读全文
posted @ 2019-01-25 11:17 fishers 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 二维数组0 1背包模板 阅读全文
posted @ 2019-01-25 11:06 fishers 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 回文串 一个字符串如果从左往右读和从右往左读都一样,那么这个字符串是一个回文串。 例如:"abcba","abccba"。蒜头君想通过添加字符把一个非回文字符串变成回文串。例如:"trit",可以添加一个'i'变成回文串"tirit"。请你用程序计算出,对于一个给定的字符串,最少需要添加几个字符,才 阅读全文
posted @ 2019-01-24 19:27 fishers 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 删除最少的元素 给定有 nn 个数的 AA 序列:A_1,A_2,A_3\cdots A_nA​1​​,A​2​​,A​3​​⋯A​n​​。对于这个序列,我们想得到一个子序列 A_{p_1}, A_{p_2} \cdots A_{p_i} \cdots A_{p_m}(1 \le p_1 inclu 阅读全文
posted @ 2019-01-24 19:24 fishers 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 蒜头君跳木桩 蒜头君面前有一排 nn 个木桩,木桩的高度分别是h_1,h_2,h_3\cdots h_nh1​,h2​,h3​⋯hn​。蒜头第一步可以跳到任意一个木桩,接下来的每一步蒜头不能往回跳只能往前跳,并且跳下一个木桩的高度 不大于 当前木桩。蒜头君希望能踩到尽量多的木桩,请你帮蒜头计算,最多 阅读全文
posted @ 2019-01-24 19:21 fishers 阅读(234) 评论(0) 推荐(0) 编辑
摘要: LCS最长公共子序列 模板代码: include include include using namespace std; int dp[110][110]; int main() { string a,b; memset(dp,0,sizeof(dp)); cin a b; int lena = 阅读全文
posted @ 2019-01-24 16:58 fishers 阅读(148) 评论(0) 推荐(0) 编辑
摘要: LIS最长上升子序列模板代码 阅读全文
posted @ 2019-01-24 16:42 fishers 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 矩阵快速幂代码: int n; // 所有矩阵都是 n n 的矩阵 struct matrix { int a[100][100]; }; matrix matrix_mul(matrix A, matrix B, int mod) { // 2 个矩阵相乘 matrix C; for (int i 阅读全文
posted @ 2019-01-22 19:44 fishers 阅读(406) 评论(0) 推荐(0) 编辑