9-2

POJ2356
    给出n以及n个数,找出一些数使其和为n的整倍数。因为找出一组可行解即可,我们考虑0-n共有n+1个数,根据鸽巢原理至少有两个数的前缀和mod n的余数是相等的,那么找出这两个数即可。

POJ1283
    一开始想是组合数学的题目,但是计数的话重复状态很多,要避免需要规定一个每组人数递增或递减的规定。f[i,j]=f[i-j,j]+f[i-1,j-1]。f[i,j]表示i台电脑用j辆车有多少种方案,f[i-j,j]表示j辆车每辆都至少放了2台,f[i-1,j-1]表示第j辆放了1台,这样能保证每辆车所放电脑数一定是递减的。非常巧妙的方程。

POJ1948
    一开始想通过海伦公式找取的极值的边的关心,很明显不行。由于小木棍的个数、边的总长度都不是太大,考虑先把所有可行的情况都算出,再计算最大长度。f[i,j,k]表示用前i个木棍、拼出两边为j、k是否可行。三角形两边之和小于第三边,等价于a,b,c<p。由于边长不会超过p,所以数组也只开到MAXP就行,否则即使是布尔数组也有可能超内存。

转载于:https://www.cnblogs.com/leon-c/archive/2012/09/02/2667283.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值