首页 > 编程语言 >每日一道算法题 称砝码

每日一道算法题 称砝码

时间:2024-07-04 20:58:33浏览次数:27  
标签:tmp count weight int 每日 算法 砝码 ans include

题目

称砝码_牛客题霸_牛客网 (nowcoder.com)

Python

n=int(input())
weight=list(map(int,input().split()))
count=list(map(int,input().split()))

w_li=[]
for _ in range(n):
    for i in range(count[_]):
        w_li.append(weight[_])

ans={0}
for w in w_li:
    tmp={w+a for a in ans}
    ans.update(tmp)
print(len(ans))

C++

#include<iostream>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;

int main() {
    int n;
    cin >> n; 
    vector<int> weight(n);
    vector<int> count(n);
    for (int i = 0; i < n; i++) 
        cin >> weight[i];
    for (int i = 0; i < n; i++) 
        cin >> count[i];
    set<int> ans; 
    ans.insert(0); 
    for (int i = 0; i < n; i++)
     { 
        for (int j = 1; j <= count[i]; j++) 
        { 
            set<int> tmp(ans);  //创建ans的副本
            for (auto iter = tmp.begin(); iter != tmp.end();
                    iter++) 
                ans.insert(*iter + weight[i]);
        }
    }
    cout << ans.size() << endl; 
    return 0;
}

C语言

标签:tmp,count,weight,int,每日,算法,砝码,ans,include
From: https://blog.csdn.net/weixin_65816128/article/details/140168028

相关文章

  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • 常见加密解密算法及其在 PHP 中的实现
    加密和解密算法在信息安全中起着至关重要的作用。以下是一些常见的加密和解密算法,包括对称加密、非对称加密和哈希算法。对称加密算法对称加密算法使用相同的密钥进行加密和解密。常见的对称加密算法包括:AES(AdvancedEncryptionStandard):AES是一种广泛使用的对称加密算法,支......
  • 「代码随想录算法训练营」第二天 | 数组 part2
    977.有序数组的平方题目建议:本题关键在于理解双指针思想题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/题目难度:简单文章讲解:https://programmercarl.com/0977.有序数组的平方.html视频讲解:https://www.bilibili.com/video/BV1QB4y1D7ep题目状态:通过......
  • 通过SVM算法使失衡数据达到最佳性能
      目录1.读取数据并预处理2.下采样3.数据切分4.使用SVM算法5.测试6.绘制AUC-ROC曲线 本代码所使用的数据集中,标签为1的数据仅有五千多条,而标签为0的数据有二十八万条。为了使数据集中我们最关注的标签1的预测成功的概率,即1的召回率尽量更高,本代码将采用SVM算法提......
  • 聚类算法与实现
    “物以类聚,人以群分”,所谓的聚类,就是将样本划分为由类似的对象组成的多个类的过程。聚类后,我们可以更加准确的在每个类中单独使用统计模型进行估计、分析或预测;也可以探究不同类之间的相关性和主要差异。聚类和上一讲分类的区别:分类是已知类别的,聚类未知。对于K-means算法与层......
  • 代码随想录算法训练营第七天| 454. 两数相加Ⅱ、383.赎金信、15.三数之和、18.四数之
    454题拆成两块各自匹配化成两个O(n^2)运算1classSolution{2public:3intfourSumCount(vector<int>&nums1,vector<int>&nums2,vector<int>&nums3,vector<int>&nums4){4//四个数组拆分成两块两块5unordered_ma......
  • 代码随想录算法训练营第八天|344.反转字符串、541.反转字符串Ⅱ、54.替换数字(卡码网
    344简单写个循环1classSolution{2public:3voidreverseString(vector<char>&s){4chartmp;5intlen=s.size();6for(inti=0;i<len/2;i++){7tmp=s[i];8s[i]=s[len-......
  • 代码随想录算法训练营第九天|151.反转字符串中的单词、55.右旋字符串、28.找出字符串
    151以前写过很呆的写法但能用嘿1classSolution{2public:3stringreverseWords(strings){4//初始化变量5vector<vector<int>>data;//存储单词的起始地址和长度6stringans;//最终结果字符串7intnum=0;......
  • 深度网络现代实践 - 深度前馈网络之反向传播和其他的微分算法篇
    序言反向传播(Backpropagation,简称backprop)是神经网络训练过程中最关键的技术之一,尤其在多层神经网络中广泛应用。它是一种与优化方法(如梯度下降法)结合使用的算法,用于计算网络中各参数的梯度,进而通过调整这些参数来最小化损失函数,从而提高模型的预测准确性和泛化能力。微分......
  • 一文带你入门机器学习分类算法
    专栏介绍1.专栏面向零基础或基础较差的机器学习入门的读者朋友,旨在利用实际代码案例和通俗化文字说明,使读者朋友快速上手机器学习及其相关知识体系。2.专栏内容上包括数据采集、数据读写、数据预处理、分类\回归\聚类算法、可视化等技术。3.需要强调的是,专栏仅介绍主流、......