把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

随笔分类 -  A-dp-简单dp

摘要:题目链接 题目解析 首先考虑P怎么求。 刚开始想的如果一个数可以被其它数凑出来就不要它,这很对,但不能拿来算答案。 考虑到如果Q足够大,那么可以凑出来的数能达到去掉P可以凑出来的数的两倍。 所以答案就是去掉它,剩下的数可以凑成的数的个数最多。当然,个数相同取最小。 这个怎么求呢?我们可以 阅读全文
posted @ 2020-11-28 17:14 Starlight_Glimmer 阅读(107) 评论(0) 推荐(0) 编辑
摘要:题目链接 题目解析 我们知道01背包方案数的递推式长这样: f[j]+=f[jw[i]] 如果一件物品不选,就会少一次这样的转移贡献。 于是我们把这个贡献还回去。 g[j]=g[jw[i]] 就做完了。 ►Code View #include<cstdio> #includ 阅读全文
posted @ 2020-11-27 22:07 Starlight_Glimmer 阅读(369) 评论(0) 推荐(0) 编辑
摘要:题目链接 题目解析 其实是一道水题,但我还是想了好久(指40min+ 首先可以搞一个一般的dp出来:定义f[i]表示走到i的方案数 那么有转移:f[i]+=f[id],dS 这个转移的复杂度消耗是巨大的,但是由于k比较小,而且符合条件的转移对象是连续的,所以可以用前缀 阅读全文
posted @ 2020-11-15 23:07 Starlight_Glimmer 阅读(179) 评论(0) 推荐(1) 编辑
摘要:题目链接 题目解析 我是这么想的: 1=12i2i 所以题目是求k个形如2i的形式的数的和为n的方案数。(然而并没有什么用,只是把题意反过来了而已qwq (忘掉前面的东西 考虑这样一个dp:设f[i][j]表示i个数和为j,考虑转移,由于放数的种 阅读全文
posted @ 2020-11-05 17:44 Starlight_Glimmer 阅读(158) 评论(1) 推荐(1) 编辑
摘要:题目链接 这道题还是比较简单的,~~(主要问题在于读题)~~但是鉴于我自己没有很顺畅地做出来,所以记录一下。 注意到有个Ai=Bi的部分分,先考虑这个部分分怎么做。 可以定义dp[i][j]表示前i个小朋友一共分了j颗糖的答案。 考虑转移:\(dp[i][j]=\sum (dp[ 阅读全文
posted @ 2020-10-23 13:36 Starlight_Glimmer 阅读(169) 评论(0) 推荐(0) 编辑
摘要:题目传送门 回忆童年 1 /* 2 ID: Starry21 3 LANG: C++ 4 TASK: ariprog 5 */ 6 #include<iostream> 7 #include<string> 8 #include<cstdio> 9 #include<cstring> 10 #inc 阅读全文
posted @ 2019-10-09 20:33 Starlight_Glimmer 阅读(104) 评论(0) 推荐(0) 编辑

浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示