jjzjj

【洛谷 P8742】[蓝桥杯 2021 省 AB] 砝码称重 题解(动态规划+01背包+位集合)

[蓝桥杯2021省AB]砝码称重题目描述你有一架天平和NNN个砝码,这NNN个砝码重量依次是W1,W2,⋯ ,WNW_{1},W_{2},\cdots,W_{N}W1​,W2​,⋯,WN​。请你计算一共可以称出多少种不同的重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数NNN。第二行包含NNN个整数:W1,W2,W3,⋯ ,WNW_{1},W_{2},W_{3},\cdots,W_{N}W1​,W2​,W3​,⋯,WN​。输出格式输出一个整数代表答案。样例#1样例输入#13146样例输出#110提示【样例说明】能称出的10种重量是:1、2、3、4、5、6、7、9、10、111、

蓝桥杯——砝码称重(JAVA)

题目:你有一架天平和 N个砝码,这 N 个砝码重量依次是 W_1,W_2,···,W_N​。请你计算一共可以称出多少种不同的重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数:W_1,W_2,W_3,···,W_N​。输出格式输出一个整数代表答案。样例输入3146样例输出10样例说明能称出的 10 种重量是:1、2、3、4、5、6、7、9、10、11。1=1;2=6−4(2=6−4(天平一边放 66,另一边放 4);3=4−1;4=4;5=6−1;6=6;7=1+6;9=4+6−1;10=4+6;11=1+4+6。评测用例规模与约定对于 50%的评测用

P8742 [蓝桥杯 2021 省 AB] 砝码称重 题解

P8742[蓝桥杯2021省AB]砝码称重题解显然DPDPDP,考虑如何进行DPDPDP设状态转移数组fi,jf_{i,j}fi,j​表示在前iii个砝码中,有没有组成重量为jjj的方案。考虑转移情况,每个状态可以由:第iii个选了砝码iii在异侧第iii个选了砝码iii在同侧未选砝码iii转移而来则转移方程式为fi,j=fi−1,j−w[i]∣fi−1,j+w[i]∣fi−1,jf_{i,j}=f_{i-1,j-w[i]}\midf_{i-1,j+w[i]}\midf_{i-1,j}fi,j​=fi−1,j−w[i]​∣fi−1,j+w[i]​∣fi−1,j​由于可能会出现jjj在运算过程中

[蓝桥杯 2021 省 AB] 砝码称重(C++,01背包可行性)

[蓝桥杯2021省AB]砝码称重(C++,01背包可行性)题目描述你有一架天平和NNN个砝码,这NNN个砝码重量依次是W1,W2,⋯ ,WNW_{1},W_{2},\cdots,W_{N}W1​,W2​,⋯,WN​。请你计算一共可以称出多少种不同的重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数NNN。第二行包含NNN个整数:W1,W2,W3,⋯ ,WNW_{1},W_{2},W_{3},\cdots,W_{N}W1​,W2​,W3​,⋯,WN​。输出格式输出一个整数代表答案。样例#1样例输入#13146样例输出#110提示【样例说明】能称出的10种重量是:1、2、3、4、5、

第十二届蓝桥杯真题砝码称重dp

问题描述你有一架天平和N个砝码,这N个砝码重量依次是W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数N。第二行包含N个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式 输出一个整数代表答案。数据范围 对于50%的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N个砝码总重不超过 100000。输入样例:3146输出样例:10解题思路:用dp法,分析状态和状态转移的过程,类似于01背包问题,多了一个分支状态表示:题目保证砝码不大于100,总砝码重不超过100000,则状态最多为100*100000个,设dp[

蓝桥杯-最少砝码(2021题)

问题描述你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意小于等于 NN 的正整数重量。那么这套砝码最少需要包含多少个砝码?注意砝码可以放在天平两边。输入格式输入包含一个正整数N。输出格式输出一个整数代表答案。样例输入7样例输出3样例说明33 个砝码重量是 1、4、61、4、6,可以称出 11 至 77的所有重量。1=1;1=1;2=6−42=6−4(天平一边放 66,另一边放 44);3=4−1;3=4−1;4=4;4=4;5=6−1;5=6−1;6=6;6=6;7=1+6;7=1+6;少于 33 个砝码不可能称出 11 至 77​的所有重量。评测用例规模与约定对于所有评测用例

华为OD机试用Python实现 -【称砝码】(2023-2-26华为OD机试人员抽到的真题)

华为OD机试题最近更新的博客华为OD机试300题大纲称砝码题目输入输出示例一输入输出说明:Python代码展示编码思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为O

蓝桥杯试题 历届真题 砝码称重【第十二届】【java省赛】

         使用java中的Set子接口,其特点是元素无序,并且不可重复。    在遍历set集合的同时修改元素会抛出java.util.ConcurrentModificationException并发修改异常importjava.util.ArrayList;importjava.util.HashSet;importjava.util.List;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);intlengt

【100%通过率】华为OD机试真题 Java 实现【称砝码】【2022 Q4 | 100分】

         所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目题目描述现有一组砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。注:称重重量包括0输入描述:输入包含多组测试数据。对于每组测试数据:第一行:n---砝码种数(范围[1,10])

【蓝桥Python每日一练】————砝码称重(状压DP)

大家好,我是爱学习的小蓝,欢迎交流指正~ 🔎题目传送门:蓝桥杯2021年第十二届省赛真题-砝码称重-C语言网 📖题解难度系数:⭐⭐⭐考察题型:动态规划涉及知识点:状压DP 第一步:明白dp[i][j]的含义dp[i]#放置第i个砝码后出现的所有情况dp[i][j]#代表是否取这个值0和1表示第二步:给dp数组初始化赋值dp=[[0]*(sum(a)+1)for_inrange(n+1)]#(sum(a)+1)列(n+1)行存放砝码1和0的情况dp[0][0]=1#初始化一个砝码情况时为1第三步:弄清dp[j]遍历的顺序foriinrange(1,n+1):#n个砝码对应n种情况forjinra