蓝桥 包子凑数 (筛数)

简介: 蓝桥 包子凑数 (筛数)

题目描述
小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。

每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。

当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。而顾客想买7个包子时,大叔就凑不出来了。

小明想知道一共有多少种数目是包子大叔凑不出来的。
输入
第一行包含一个整数N。(1 <= N <= 100)
以下N行每行包含一个整数Ai。(1 <= Ai <= 100)
输出
一个整数代表答案。如果凑不出的数目有无限多个,输出INF。
样例输入
2
4
5
样例输出
6

先求出所有数是否有一对数的gcd为1,有的话则只有有限个数无法表示;原因就是拓展欧几里得的性质吧。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

int a[105];
int dp[10005];
int n;
int main(){
   
    scanf("%d", &n);
    for (int i=1; i<=n; i++){
   
        scanf("%d", &a[i]);
    }
    dp[0]=1;
    int g = a[1];
    for (int i=2; i<=n; i++){
   
        g = __gcd(g, a[i]);    //只要有一对的gcd等于1,g最后就是1 
    }
    if (g!=1){
   
        printf("INF");
    }else{
   
        for (int i=1; i<=n; i++){
   
            for (int j=0; j+a[i]<=10000; j++){
   
                if (dp[j]){
   
                    dp[j+a[i]]=1;
                }
            }
        }
        int sum=0;
        for (int i=1; i<=10000; i++){
   
            if (!dp[i]){
   
                sum++;
            }
        } 
        printf("%d", sum);
    }
    return 0;
}
相关文章
|
7月前
|
消息中间件 人工智能 自然语言处理
AI 原生应用开源开发者沙龙·深圳站精彩回顾 & PPT下载
近日,AI 原生应用开源开发者沙龙·深圳站圆满落幕。本场活动吸引了 140+ 名技术从业者深度参与,聚焦 AI 原生应用架构领域的开源技术与落地实践, 围绕 AgentScope、RocketMQ、HiMarket、Higress、LoongSuite、Agent 技术实践等议题展开深度分享,并设置了动手实操环节。
|
10月前
|
机器学习/深度学习 算法 关系型数据库
🎮 强化学习
强化学习(RL)是一种通过智能体与环境交互,基于试错和延迟奖励学习最优策略的机器学习方法。核心要素包括状态、动作、奖励、策略与价值函数。常用算法有Q-learning、策略梯度、PPO、DPO等,广泛应用于游戏、机器人及大模型对齐人类偏好(如RLHF)。其关键挑战在于平衡探索与利用、偏差与方差,并提升样本效率与训练稳定性。
|
6月前
|
自然语言处理 前端开发 JavaScript
前端组件库——Element Plus知识点大全(三)
教程来源 https://yyvgt.cn/category/jiushige.html 本文详解Element Plus性能优化与国际化实践:通过按需引入(体积降60%+)、代码分割、骨架屏、组件懒加载四大策略显著提升首屏速度;并借助el-config-provider轻松实现中英文等多语言切换,助力构建高性能、国际化的企业级Vue 3应用。
|
6月前
|
前端开发 关系型数据库 API
前端组件库——Chart.js知识点大全(二)
教程来源 http://xcfsr.cn Chart.js提供8种核心图表:折线图(趋势分析)、柱状图(类别对比)、饼/环形图(占比展示)、极地区域图、雷达图(多维评估)、散点/气泡图(变量关系)。支持动态更新、性能优化、图片导出及移动端触摸交互,开箱即用,覆盖主流业务场景。
|
7月前
|
数据库 决策智能
多 Agent 验证架构实战:从输出评分到过程验证
2026年生产级Agent系统最典型失败:多步流水线中错误静默累积,最终输出流畅却全错。本文详解四种验证模式——输出评分、Reflexion、对抗辩论与过程验证,揭示其适用场景、失效边界及真实成本(验证器用小模型可降本10倍),强调验证层是演示与落地的分水岭。
468 0
多 Agent 验证架构实战:从输出评分到过程验证
|
6月前
|
人工智能 数据可视化 JavaScript
剪视频不用再开 PR 的 AI 工作流
本文对比OpenClaw三种部署方式(本地、全托管、阿里云轻量自托管),重点推荐后者:兼顾7×24在线、数据自主、灵活扩展与开箱即用。结合真实视频剪辑场景,详解字幕生成、批量处理、竖屏裁切等高效AI功能,适合Vlog/知识类博主提效减负。
|
算法 Linux
数据分布平滑化技术:核密度估计KDE解决直方图不连续问题
核密度估计(KDE)通过平滑处理解决直方图密度估计中的不连续问题,提供连续密度函数。其核心在于使用核函数对数据点进行加权,避免区间划分带来的信息丢失。带宽参数h影响估计效果,过小导致波动大,过大则过度平滑。常用核函数包括高斯核与Epanechnikov核,实际应用中可借助Statsmodels或Seaborn库快速实现。
796 0
数据分布平滑化技术:核密度估计KDE解决直方图不连续问题
|
7月前
|
人工智能 数据挖掘 API
OpenClaw Skill×DuckDB 自动进化电商销售分析预测系统:零基础阿里云部署+大模型配置全流程
在电商、零售等数据密集型场景中,传统 AI 只能生成文本建议,无法直接操作数据、执行分析与持续迭代预测模型。OpenClaw 凭借 Skill 插件化体系,让 AI 拥有可执行的“操作手册”,搭配 DuckDB 列式分析引擎,实现海量业务数据秒级查询、滚动训练、自动验证与模型择优,最终打造出**会自动进化**的销售分析与预测系统。
815 0

热门文章

最新文章