上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页
摘要: POJ1018题解:有点类似分组背包问题,每组选一个,但是是最大化B/P。既然要最大化B/P,那么固定一个B,最小化P。 dp[i][j]为考虑到第i组,带宽为j的最小价格和。 方程dp[i][k] = min(... 阅读全文
posted @ 2019-02-25 20:15 月光下の魔术师 阅读(20) 评论(0) 推荐(0)
摘要: 01背包问题(给定某种物品)for(int i=n;i>=1;i--){ //dp[i][j]表示处于从第i个阶段到最后一个阶段的最大花费 for(int j=0;j=weight[i];j--) ... 阅读全文
posted @ 2019-02-25 15:55 月光下の魔术师 阅读(8) 评论(0) 推荐(0)
摘要: HDU3535题解:分组背包问题好题目。定义dp[i][j]为考虑到第i组,背包容量为j时的最大价值 s == 0,至少选一个。那么dp[i]初始化为-inf。dp[i][k]要从dp[i][k-weight]+... 阅读全文
posted @ 2019-02-25 12:39 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要: POJ2576题解:限制为人数和体重。人数差距不能超过1,体重越近越好。dp[i][j][k]表示考虑第i个人,能否达到人数为j,体重为k的状态。跑二维01背包最后再枚举各个状态,优先考虑人数,其次考虑体重代码:... 阅读全文
posted @ 2019-02-25 10:09 月光下の魔术师 阅读(6) 评论(0) 推荐(0)
摘要: 拓扑排序模板输入初始化,记录有向边和入度void Init(){ for(int i=1;iusing namespace std;int const N = 10000 + 10;int const LOW =... 阅读全文
posted @ 2019-02-23 15:19 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要: CF1106E题解:这一题有点麻烦,第一次用multiset。发现了神奇的erase让我一直WA,至今还是不懂。谁能告诉我orz!!!我们用dp[i][j]表示i时刻到n时刻用了j次阻拦,抢的最少红包。所以我们最... 阅读全文
posted @ 2019-02-23 12:28 月光下の魔术师 阅读(7) 评论(0) 推荐(0)
摘要: 朴素埃式素数筛法枚举≤n的每一个数x,把x倍数都筛选掉。int vis[N]; // 素数标记,0为素数,1为合数memset(vis, 0, sizeof(vis));for(int i = 2; i usin... 阅读全文
posted @ 2019-02-22 19:33 月光下の魔术师 阅读(9) 评论(0) 推荐(0)
摘要: UVA11400题解:每次都不换或全部把电压小的用电压大的替换掉,因为不全部换掉就有两个电源。 把灯泡按电压从小到大排序。这样换的时候直接用后面的换前面的。 dp[i]表示用1到i中几种灯泡的最小费用。 dp[i... 阅读全文
posted @ 2019-02-22 18:37 月光下の魔术师 阅读(10) 评论(0) 推荐(0)
摘要: 组合数三种求法1、杨辉三角打表预处理(n,m>= 1; } return ans;}ll comb(ll n,ll m){ //n!/(m!)*(n-m)! if(n 0;i--) finv[i-1] = ... 阅读全文
posted @ 2019-02-22 17:49 月光下の魔术师 阅读(29) 评论(0) 推荐(0)
摘要: 意义:n个不同的元素,每个元素都不在自己原来位置的排列方案数。递推式:通项:代码:void Init(){ d[0] = 1,d[1] = 0,d[2] = 1; //不要少了d[0] for(int i... 阅读全文
posted @ 2019-02-22 17:39 月光下の魔术师 阅读(11) 评论(0) 推荐(0)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 23 下一页