
算法设计与分析
jiang_16
一个想学好编程的弱渣妹纸,猎奇,脑洞向...
展开
-
算法设计与分析——子集元素之和
上一题刚明白过来,下一题又来了:子集?元素之和?我首先想到的是用归并排序的思想,然后一想,啊,不对,像{1, 10}这样的怎么办,嘤嘤嘤老师又给我们点拨了:集合里每个元素都是平等的,那么在所有子集中每个元素出现的次数都是相同的。加法能去掉括号算吗?能。加法能提取公倍数吗?能。所以假设每个元素出现的次数为k,那么结果即为k * (1 + 2 + 3 + ... 10) = k...原创 2019-02-25 16:20:07 · 1495 阅读 · 0 评论 -
石子合并问题
Problem Description在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。对于给定n堆石子,计算合并成一堆的最小得分和最大得分。Input输入数据的第1行是正整数n,1≤n≤100,表示有n堆石子。第二行有n...原创 2019-04-21 19:50:53 · 555 阅读 · 0 评论 -
二叉树的镜像
题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5...原创 2019-03-18 21:08:27 · 134 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。在前面的博客中讲过这种题目,不过那道题没要求“相对位置不变”(稳定性)怎么保证相对位置不变呢,显然之前的方法已经不行了。其实最简单的方法就是移动元素,遍历数组,在遇到第一个奇数元素时把它插入数组前边,用一个变量j...原创 2019-03-18 20:15:16 · 135 阅读 · 0 评论 -
二叉搜索树的后序遍历序列
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同没给样例... 关键字:二叉搜索树,后序遍历。根在最后,前半边左子树都比根小,后半边右子树都比根大,以此递归判断class Solution {public: bool verify(vector<int> s,...原创 2019-03-21 22:46:47 · 117 阅读 · 0 评论 -
整数因子分解问题
Problem Description大于1的正整数n可以分解为:n=x1*x2*…*xm。例如,当n=12 时,共有8 种不同的分解式:12=12;12=6*2;12=4*3;12=3*4;12=3*2*2;12=2*6;12=2*3*2;12=2*2*3。对于给定的正整数n,计算n共有多少种不同的分解式。Input输入数据只有一行,有1个正整数n (1≤n≤200...原创 2019-03-25 10:27:13 · 6572 阅读 · 0 评论 -
[腾讯编程题] 贪吃的小Q
时间限制:1秒空间限制:32768K小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克力输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,表示父母出差的天数N(N<=50000)和巧克力的数量M(N<=M<=10...原创 2019-03-06 21:08:09 · 623 阅读 · 0 评论 -
算法设计与分析——交换元素
这道题目是一道考研题,在老师给的幻灯片里我没找到,,所以就凭着印象描述一遍了:给定一个顺序表,把表里元素能被5整除的放到表的后半段,不能被整除的放到前半段,要求用尽量少的时间和空间,并给出时间和空间复杂度。这道题还是可以的,看完我就有思路了:前半段,后半段,快排!!用两个指针分别指着表的两端,就像一趟快排那样,能被5整除就交换,不能就前进,省时又省力后来老师说先看题目要求,有没有要...原创 2019-02-25 16:40:36 · 270 阅读 · 0 评论 -
算法设计与分析——分苹果问题(运筹学)
今天是算法设计与分析这门课程的第一次课,比想象中的有趣。一上来老师就给我们出了几个算法题,毕竟大一在ACM呆过,题目看着甚是眼熟,至于解法差不多都忘了。老师给我们讲解了一下,感觉颇有意思。看题:我非常确定以前在学校OJ上做过这种题目。。老师说把问题具体化,让m=2,甲乙两人分苹果。那么,为了保证甲能赢,甲在倒数第二次拿完苹果后应该要剩下3个苹果(至关重要)。那么甲倒数第三次拿完呢,要剩...原创 2019-02-25 15:37:11 · 1439 阅读 · 0 评论 -
多元Huffman编码问题
Problem Description在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2 堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。对于给定n堆石子,计算合并成一堆的最大总费用和最小总费用。Input输入数据的第1 行有2 个正整数n和k(n≤100000,k≤1000...原创 2019-04-23 10:28:40 · 431 阅读 · 0 评论