![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刘汝佳的一些题
weiwanshu
这个作者很懒,什么都没留下…
展开
-
7.1.1 除法【还没弄出来】
7.1.1除法 字典序输出 形如abcde/fghij = n 形式,n为输入数字,a~j为0~9 本来想用新学的回溯做。。。 #include #include #include int n; int a[10]; int b[6]; int vis[10] = {0}; int judge(){ int i, sum = 0, num; for( i = 1; i原创 2015-04-28 20:25:10 · 453 阅读 · 0 评论 -
POJ 1190 生日蛋糕
呵呵,这道题弄死我。。。 我觉得吧,凡事不能急于求成,比如这道经典的剪枝+搜索,我就先查的题解,看了各种剪枝方法踌躇满志,结果花了两个小时写的剪枝把自己都搞晕了。。。应该先有正确的搜索方法再谈剪枝不是吗,所以我决定先用朴素的搜索做一下 #include #include int n, m; int temp_s = 99999; void search( int a, int r, int h原创 2015-05-06 17:58:25 · 365 阅读 · 0 评论 -
第9章 动态规划初步读书笔记
一直都害怕这个,今天终于下定决心啃这块了。。 9.1 数字三角形: 9.1.1 问题描述和状态定义 —— 非负数字组成的三角形,从第一个数开始每次可以向右或者向下走一格,直到最下行,求沿途经过数和的最大值。这是一个动态决策的问题,每次都面临两种选择,如果用回溯法找所有路线,则n层三角形有2的n次方条的路线,效率很低。所以引入状态转移的概念: 把当前位置原创 2015-05-18 19:53:33 · 433 阅读 · 0 评论 -
7.1.2 最大乘积
输入n,以及n个元素的S,求乘积最大的连续子序列,如果不是正数则输出-1 样例: 3 2 4 -3 5 2 5 -1 2 -1 样例输出 8 20 +++++++++++++++++++++++++ 我写的比较粗糙,有几个问题没有注意:不能连续输出,数据小,不严格输出了头尾指针 #include #include #include int main(){ int mul =原创 2015-04-28 20:43:10 · 302 阅读 · 0 评论 -
第7章 暴力求解法的读书笔记
简单枚举 7.1.1 除法 ——并没有搞出来,不知道出了什么问题 7.1.2 乘积 ——对于数据量小于18的这种小数据只求乘积最大的连续子序列的积是很好搞的,直接枚举序列的头指针和尾指针就可以了 但是如果是求和还求最小头尾指针,就是可以用更好的办法,只循环一遍:原创 2015-04-28 21:13:24 · 361 阅读 · 0 评论 -
第8章 高效算法设计读书笔记
算法分析初步 8.1.1 渐进时间复杂度 ——最大连续和,给出一个序列,找到i,j使连续和尽量大 使用枚举思想:枚举每一个可能的序列首和序列尾原创 2015-05-05 15:43:15 · 447 阅读 · 0 评论 -
【一年半以后复习】从头学习刘汝佳
一年半没有碰C了,真是非常想念。终于有时间了,忘得差不多了。现在跟着刘汝佳再从头学一遍吧 第一章 练习题 1、数据类型和数据输入格式 int和long都是用32位来存储最大值和最小值分别为2147483647(109), -2147483648; long long 是用64位来存储最大值和最小值分别为9223372036854775807(1018),-92233720368547原创 2017-02-05 16:33:50 · 358 阅读 · 0 评论