- 博客(10)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 求方程根 (二分法)
二分法求方程的根求下面方程的一个根: f(x) = x3-5x2+10x-80 = 0若求出的根是a,则要求|f(a)| ●解法:对f(x)求导,得f'(x)=3x2-10x +10。由一元二次方程求根公式知方呈f'(x)= 0 无解,因此f(x)恒大于0。故f(x)是单调递增的。易知f(0) 0,所以区间[0,100]内必然有且只有一个根。由于f(x)在[0,100]内是单调的,
2018-01-31 17:20:06 962
原创 二分查找
二分查找:BinarySearch(int a[],int n,int p); //有序数组,二分查找pLowerBound(int a[],int n,int p); //升序数组,找比p小的最大数 注意: int mid=(L+R)/2;为了防 (L+R) 过大溢出,最好写成: int mid=L+(R-L)/2;#include #inclu
2018-01-31 10:43:09 160
原创 放苹果 (递归)
例题: 放苹果把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 5,1,1和1,5,1是同一种分法。输入第一行是测试数据的数目t( 0 输出对输入的每组数据M和N,用一行输出相应的K。样例输入17 3样例输出8 用递归将问题分解为规模更小的子问题进行求解设i个苹果放在k个盘子里放法总数是f (i,k),则:
2018-01-30 21:33:43 247
原创 算24 (递归)
给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。比如,对于5,5,5,1,我们知道5*(5-1/5)=24,因此可以得到24。又比如,对于1,1,4,2,我们怎么都不能得到24。输入数据
2018-01-30 16:55:59 1283
原创 爬台阶 (递归)
先说一下递归的作用:1.替代多重循环2.解决本来就是递归形式定义的问题3.将问题分解为规模更小的子问题进行求解这里是将问题分解为规模更小的子问题进行求解先考虑第一步怎么做,根据第一步把问题分为几大类,剩下的事情就变成一个子问题,这个子问题可能是形式相同但规模更小,就可以写出递推式,再写出边界条件,就ok了๑乛◡乛๑n级台阶的走法:先走一级后,n-1级台阶的走法+先走
2018-01-30 13:43:46 1779
原创 前缀表达式 (递归)
先说一下递归的作用:1.替代多重循环2.解决本来就是递归形式定义的问题3.将问题分解为规模更小的子问题进行求解本题中“前缀表达式”的定义:1) 一个数是一个前缀兰表达式,值为该数2)“运算符 前缀表达式 前缀表达式" 是逆波兰表达式,值为两个前缀表达式的值运算的结果因为前缀表达式的定义本身就是递归的,所以可以用递归来解决它#include #inc
2018-01-29 20:40:21 1627
原创 N个皇后 (递归)
N皇后问题输入一个正整数N,则程序输出N皇后问题的全部摆法。输出结果里的每一行都代表一种摆法。行里的第i个数字如果是n,就代表第i行的皇后应该放在第n列。皇后的行、列编号都是从1开始算。样例输入:4样例输出:24133142 嘿嘿๑乛◡乛๑先说一下递归的作用:1.替代多重循环2.解决本来就是递归形式定义的问题3.将问题分解为规模更小的子问
2018-01-29 16:02:53 397
原创 poj 1222 (枚举)
试题连接:http://poj.org/problem?id=1222 先想到的是枚举,可是30个开关如果直接枚举的话,2^(30)肯定超时,那么看是否能找到一个局部, 当这个局部被确定后,剩余其他部分状态只能是确定的一种。 经过观察会发现,第1行就是这样一个局部,即第1行开关一旦确定,其余几行开关状态也会确定。(因为第一行开关作用以后,还会有几盏灯未熄灭,这时就需要下
2018-01-28 19:56:17 239
原创 突击战(Commando War,UVa 11729 )
试题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2829【分析】 直觉告诉我们,执行时间较长的任务应该先交待。于是我们想到这样一个贪心算法:按照J从大到小的顺序给各个任务排序,然后依次交待。 执行完毕时间有两种情况:当之前的 任务执行时间 都不是
2018-01-16 22:07:43 453
原创 勇者斗恶龙(The Dragon of Loowater,UVa 11292 )
勇者斗恶龙(The Dragon of Loowater,UVa 11292 )你的王国里有一条n 个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m 个骑士可以雇佣,一个能力值为x 的骑士可以砍掉恶龙一个直径不超过x 的头,且需要支付x 个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少? 注意,个骑士只能砍一个头(且不能被雇佣两次)。[输入格式]输入包含多组
2018-01-15 22:01:56 462
AutoFlowChart
2017-10-13
用一维数组去代替二维数组,从而优化空间复杂度的方法叫什么啊,
2018-03-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人