上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页
摘要: 题目传送门 解题思路: 本题实质是求一个小于一个数的所有正整数中,没有4或62的数字个数,我们先将要求的范围m分解成一个数组,从高位开始枚举,只要最高位小于m的最高位,其实后面写任意数都是方案之一(除含4或62),固定最高位后,再枚举次高位,以此类推......而对于后面任意数的方案数,可以用f数组 阅读全文
posted @ 2020-01-17 22:06 Mr^Simon 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 可以转化成0-1背包来做,但暴力转化的话,时间不允许.所以就用了一个二进制划分的方法,将m个物品分成2,4,8,16,32......(2的次方)表示,可以证明这些数通过一定组合可以表示任何数.然后跑0-1背包即可. AC代码: 1 #include<iostream> 2 阅读全文
posted @ 2020-01-17 21:48 Mr^Simon 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 中文翻译: 解题思路: f[i][j]表示到第i行第j列时,可获得的最小收益 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 long long 阅读全文
posted @ 2020-01-16 21:40 Mr^Simon 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 接下来便是核心内容:(f[i]表示当有k个荷叶,i个石墩时过河青蛙的最大数量) 1、若有k个荷叶,没有石墩,则最多有k+1个青蛙。所以f[0]=k+1(不需要解释了吧); 2、若有k个荷叶,1个石墩,则只需要使石墩上承载最多的青蛙。进一步分析,我们只需要将石墩当做对岸,这样就 阅读全文
posted @ 2019-12-13 21:53 Mr^Simon 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 本题实质就是求最长上升子序列的长度和方案数。 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 5 using namespace std; 6 7 int m,a[30],f[30],l[ 阅读全文
posted @ 2019-12-13 21:51 Mr^Simon 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示买i张A票,j张B票的概率。 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 double f[2501][2501]; 7 int n; 8 9 int 阅读全文
posted @ 2019-12-13 21:45 Mr^Simon 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示到第i首歌音量为j是否能达到。 AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,b,v,f[51][2001],a[51]; 7 8 int m 阅读全文
posted @ 2019-12-13 21:42 Mr^Simon 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i]表示i为末尾的最大组数. AC代码: 1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 long long n,a[1001],sum,f[1001],num[1001]; 7 8 阅读全文
posted @ 2019-12-11 22:56 Mr^Simon 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: 对于每一个列c,f[i][j][k]表示到第i行,第c列选了j个,其它列一共选了k个,然后我们读题意发现只要j>k,那就一定是不合法的,然后统计所有方案,减去所有不合法方案,即为答案. 代码里有注释. //只做了84分,懒得写100分(思路一样),以后可能update.... 阅读全文
posted @ 2019-12-11 21:48 Mr^Simon 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解题思路: f[i][j]表示到(i,j)的方案数,则f[i][j] = f[i-1][j] + f[i][j-1]; 代码: 1 #include<cstdio> 2 #include<iostream> 3 4 using namespace std; 5 6 long long n 阅读全文
posted @ 2019-12-10 22:38 Mr^Simon 阅读(236) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 37 下一页