上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 19 下一页
摘要: 这道题有个小技巧,就是既然是n!,那么对2009求余,只要大于2009!,那么一定是0,在仔细想想会发现,根本到不了2009,只要到2009的最大质因数就行了,为什么呢?因为最大质因数是最大的一个不能被2009整除的,2009的最大质因数是41,也就是只要大于41的阶乘的都可以整除2009,因为41... 阅读全文
posted @ 2014-12-16 21:49 Howe_Young 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 这道题有个小小的坎,就是低于5块不能选,大于5块,可以任意选,所以就在初始条件判断一下剩余钱数,然后如果大于5的话,这时候就要用到贪心的思想,只要大于等于5,先找最大的那个,然后剩下的再去用背包去选择,这样的结果一定是最优的。因为最大的那个一定会被选中,剩下多少钱都无所谓,用背包可以获得剩下的最优解... 阅读全文
posted @ 2014-12-15 20:55 Howe_Young 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 这道题乍一看是普通的01背包,最最基础的,但是仔细一看数据,发现普通的根本没法做,仔细观察数组发现n比较小,利用这个特点将它划分为前半部分和后半部分这样就好了,当时在网上找题解,找不到,后来在挑战程序设计上找到了这个题,就拿来引用一下挑选物品的方法总从2^n中,直接枚举肯定不行,因为n最大为40,但... 阅读全文
posted @ 2014-12-14 11:01 Howe_Young 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 当时做这道题时一直想退出物理公式来,但是后来推到导数那一部分,由于数学不好,没有推出来那个关于Θ的最值,后来直接暴力了,很明显超时了,忘了三分法的应用,这道题又是典型的三分求最值,是个单峰曲线,下面是代码 1 #include 2 #include 3 #define PI 3.1415926 ... 阅读全文
posted @ 2014-12-14 09:33 Howe_Young 阅读(271) 评论(0) 推荐(0) 编辑
摘要: printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x, 但是它不存在二进制,如果输出二进制,可以手写,但是也可以调用stdlib.h里面的itoa函数,他不是标准库里面的函数,但是大多数编译器里面都有这个函数,所以就介绍一下itoa函数的原型为c... 阅读全文
posted @ 2014-12-12 18:09 Howe_Young 阅读(65119) 评论(0) 推荐(4) 编辑
摘要: 这道题其实和一般的01背包没有什么区别,只是这道题目按照正常的思维去做不行了,因为容量太大,开个10^9的数组开不了,所以这时候就需要换种思维,这个题刚开始没理解,后来在网上在题解,发现都说是互换重量和价值,但是一直没理解什么意思,后来,仔细想了想那个最最基础的01背包是怎么推出来的才想通了, 也不... 阅读全文
posted @ 2014-12-12 15:10 Howe_Young 阅读(728) 评论(0) 推荐(1) 编辑
摘要: 这道题是典型的多重背包的题目,也是最基础的多重背包的题目题目大意:给定n和m, 其中n为有多少中钱币, m为背包的容量,让你求出在1 - m 之间有多少种价钱的组合,由于这道题价值和重量相等,所以就是dp[i] = i, 其中dp[i]表示当前背包容量为i 的时候背包能装的价值。题目思路: 模板 二... 阅读全文
posted @ 2014-12-11 21:56 Howe_Young 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 这两道题都是多重背包的基础题,前面的安格题意是:给出每个物体的价值和物体的数量,如何分使得A,B所得价值最接近并且A的价值不能小于B,就类似于NYOJ上的那个邮票分你一半那个意思,只不过这里不是一个而是多个,所以多重背包前一个题是将总和的一半当作背包的容量来求,代码如下 1 #include 2 ... 阅读全文
posted @ 2014-12-10 22:05 Howe_Young 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 这道题属于简单的01背包,但是背包问题还算简单,就是前面的细节处理的时候要注意,题意大致说了三条限制吧1. 只有a, b, c 三种类型的发票可以报销,其它的一律不报销2. 物品单项的报销额不超过6003. 每个发票总额不超过1000有了这三个,还有一个要小心的就是报销额可以为浮点数,所以这里有个小... 阅读全文
posted @ 2014-12-10 20:12 Howe_Young 阅读(1018) 评论(1) 推荐(0) 编辑
摘要: 这个是完全背包的基础题, 模拟换钱, 刚开始状态方程写错了,我直接写dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3], 然后想了想感觉太大了,不太对,后来看网上的代码看着两层for循环,基本是一样的,为什么我的不对啊,然后手工模拟了一个小例子,发现,这种状态转移方程... 阅读全文
posted @ 2014-12-09 21:48 Howe_Young 阅读(148) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 19 下一页