ToB企服应用市场:ToB评测及商务社交产业平台

标题: 第十三届蓝桥杯c++b组2022年国赛决赛题解 [打印本页]

作者: 东湖之滨    时间: 2022-6-25 01:04
标题: 第十三届蓝桥杯c++b组2022年国赛决赛题解
题目pdf下载十三届蓝桥杯c++b组2022国赛题目pdf下载
G题没有写,J题是暴力的,其他好像都写出来,但是估计还是有错的。
目录
正文:
试题 A: 2022
试题 B: 钟表
试题 C: 卡牌
试题 D: 最大数字
试题 E: 出差
试题 F: 费用报销
试题 G: 故障
试题 H: 机房
试题 I: 齿轮
试题 J: 搬砖
结尾:


正文:

试题 A: 2022


题意: 2022分为不同十个不同的正整数的情况数。
思路:动态规划,我的答案是:379187662194355221
        以为挺简单的,但是dfs写完连100都跑不出来,这题难度不简单,估计卡了不少人时间
后面暴力出了答案,从55开始有答案(因为最小的十个不同的正整数是:1,2,3,4...10,和是55),根据前10个数很像哈代-拉马努金拆分数列,然后求出来和后面的不一样,而且会炸long long,所以这个数列应该是错的。



动态规划思路:
       解释在下面动态规划代码的注释,大致就是dp[2022][10]=dp[1][9]+dp[2][9]+dp[3][9]....+dp[2021][9]的动态规划,用倒叙去实现每个整数只用一次(类似01背包)。
暴力代码:
[code]#include#include#include#includeusing namespace std;int a=55;int ans=0;void dfs(int d,int sum,int pre){        //d是选的数量,sum是选的和,pre是上次选的点    if(d==10){        if(sum==a)        ans++;        return;    }    for(int i=pre+1;i




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4