蓝桥杯每日一题2023.11.9

包子凑数 - 蓝桥云课 (lanqiao.cn)

题目描述

题目分析

对于此题是一个简单DP的翻版问题,若能凑出当前的包子数,则凑出之前一定为dpi - a\[j],若表示出的dpi不是0则说明是一定存在数可以被凑出的,由题意:若凑不出的数字超过10000这个上界,我们就可以判断出有无穷个

最大不能表示出来的数必定有个上界,因为两个数a,b(当gcd=1时),最大不能表示出来的数是(a - 1)(b - 1) - 1,题目中的N为100,99和98是100内最大的互质的数,故这个上界选择10000

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e7;
int a[N], dp[N];
int main()
{
	int n, ans = 0;
	cin >> n;
	for(int i = 1; i <= n; i ++)
	{
		cin >> a[i];
		dp[a[i]] ++;
	}
	for(int i = 1; i <= N; i ++)
	{
		for(int j = 1; j <= n; j ++)
		{
			if(i - a[j] < 0)continue;
			dp[i] = dp[i - a[j]] + dp[i];
			if(dp[i] != 0)break;//这个数可以被凑出 
		}
		if(dp[i] == 0)ans ++;
	}
	if(ans  > 10000)cout << "INF";
	else cout << ans;
	return 0;
}
相关推荐
杨逢昌工厂6S管理1 天前
44-6S 管理回潮问题根治:归位三定闭环法的体系化落地路径|杨逢昌
经验分享·笔记·职场和发展·学习方法
程序员三藏1 天前
自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
卡兹墨1 天前
iOS从打包到上架详细流程
ios·职场和发展·蓝桥杯
tkevinjd1 天前
力扣239-滑动窗口最大值
算法·leetcode·职场和发展
only-qi2 天前
大模型Agent面试攻略:落地工程痛点、评估体系与Agentic RAG核心精讲
人工智能·算法·面试·职场和发展·langchain·rag
数字宝藏2 天前
15本电子书分享
职场和发展·职场发展·教育电商
程序猿乐锅2 天前
【数据结构与算法 | 第七篇】二维数组:力扣48,54,59,151
算法·leetcode·职场和发展
不正经学生2 天前
二叉树递归遍历:先根与后根,递归思维的最佳试炼场
c语言·开发语言·数据结构·算法·蓝桥杯
会编程的土豆2 天前
LeetCode 热题 HOT100(一):哈希表与双指针入门(Go 实现)
算法·leetcode·职场和发展
糖果店的幽灵3 天前
人已经用 WorkBuddy 找工作拿了面试,你还在一份份手工改简历
人工智能·面试·职场和发展·langgraph