试题 历届真题 砝码称重【第十二届】【省赛】【B组】

这篇具有很好参考价值的文章主要介绍了试题 历届真题 砝码称重【第十二届】【省赛】【B组】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

砝码称重
问题描述
你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。

请你计算一共可以称出多少种不同的正整数重量?

注意砝码可以放在天平两边。

输入格式
输入的第一行包含一个整数 N。

第二行包含 N 个整数:W1,W2,W3,⋅⋅⋅,WN。

输出格式
输出一个整数代表答案。

数据范围
对于 50% 的评测用例,1≤N≤15。

对于所有评测用例,1≤N≤100,N 个砝码总重不超过 100000。

输入样例:
3

1 4 6

输出样例:
10

样例解释

能称出的 10 种重量是:1、2、3、4、5、6、7、9、10、11。
1 = 1;

2 = 6 − 4 (天平一边放 6,另一边放 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。
 

题解:

        首先,我们知道一个常理(常理:左面放物品,右面放砝码),然后再去分析问题。

        本题解法是动态规划。动态规划的根本是找到状态转移方程。

        状态转移方程,显然包括两个方面,“状态”,“转移”。那么我们先找到状态。

状态:

        根据日常称物品时候的经验,不同的重量的物品所需要的砝码的数量是不同的,我们就可以考虑这个砝码用不用作为判断的状态。

转移:

        假如现在拿的是第i个砝码,那么这个砝码的命运有三种:(天平有两个盘子)

                不放、放左边、和放右边

        我们规定dp[i][j]表示只用前i个砝码所能称重量为j 的可行性(true、folse)

那么可以得到:

        不放:f[i-1][j]

        放左边:f[i-1][abs(j-w[i])]

        放右边:f[i-1][j+w[i]]

所以状态转移方程为

        f[i][j]=f[i-1][j]||f[i-1][abs(j-w[i])]||f[i-1][j+w[i]]

代码如下:

#include<iostream>
#include<math.h>
using namespace std;
const int N=110,M=2e5+10;
int n,sum,w[N];
int f[N][M];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>w[i];
		sum+=w[i];
	}
	f[0][0]=true;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<=sum;j++)
		{
			f[i][j]=f[i-1][j]||f[i-1][j+w[i]]||f[i-1][abs(j-w[i])];
		}
	}
	int ans=0;
	for(int j=1;j<=sum;j++)
	{
		if(f[n][j])ans++;
	}
	cout<<ans;
	return 0; 
 } 

        

 文章来源地址https://www.toymoban.com/news/detail-403825.html

到了这里,关于试题 历届真题 砝码称重【第十二届】【省赛】【B组】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [蓝桥杯嵌入式]STM32G431——第十二届第一场省赛停车计费系统真题及程序设计代码详解

    最近,我报名了今年的蓝桥杯嵌入式比赛,为此刷了一下以往的真题。以下是我对十二届蓝桥杯省赛真题的一些思路和心得,还有一些具体代码的实现。 1、相关模块 第十二届比赛主要用到的模块包括:LED、KEY、LCD、TIM、USART 2、重难点分析 这道题主要目的是做一个停车管理

    2024年01月18日
    浏览(81)
  • 第十二届蓝桥杯单片机省赛

    直接复制粘贴然后运行 然后打开stc烧录到开发板上面就能用 程序哪里不懂的话问我,我闲的蛋疼! #include STC15F2K60S2.H #include intrins.h unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff,0xc6,0x8c,0x88}; unsigned char yi,er,san,si,wu,liu,qi,ba; l

    2023年04月09日
    浏览(35)
  • 蓝桥杯单片机学习15——第十二届省赛题

    书接上文,上期我们基本完成了十三届省赛题,但还是存在一些问题,本期我将对上期存在的一些问题,提出一些解决方案,并加以实践验证可行性,废话少说,让我们往下看。 上期我们提到,数码管和LED在使用的时候会存在外设之间相互干扰的问题,在我们不断的探索之下

    2024年01月25日
    浏览(36)
  • 【蓝桥杯单片机】第十二届省赛(含题目和解答代码)

    main.c  iic.c iic.h onewire.c onewire.h      

    2024年02月04日
    浏览(40)
  • 第十二届蓝桥杯国赛试题及解析

    第一题 *选择题严禁使用程序验证设s =HiLanQiao\\\',运行以下哪个选项代码可以输出“LanQiao”子串( A )。 A、print(s[-7:]) B、print(s/-6:-11) C、print(s1-7:01) D、print(s[-7:-1]) 第二题 *选择题严禁使用程序验证已知a=2021.0529,运行以下哪个选项代码可以输出“2021.05” ( B )A、print( .2f1\\\'.format(a

    2024年02月08日
    浏览(32)
  • 2021 第十二届蓝桥杯大赛软件赛省赛,C/C++ 大学B组题解

    序 比赛时长: 四个小时 比赛规则: 蓝桥杯比赛跟天梯赛、ACM还不太一样,比赛中提交的答案并没有反馈机制,也就是说你提交了答案以后,自己并不知道是对是错,就像考试一样,只有交了卷,成绩下来以后才能知道自己的奖项。 满分150 T1-T5答案提交共45分,分值分别是

    2023年04月09日
    浏览(27)
  • 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式省赛客观题及详细题解

    解析: 波特率,指 每秒钟传输码元符号的个数,对符号传输速率的一种度量,单位为1baud/s 。 由于串口只有高低电平之分,即1码元等于1bit,即波特单位1baud和1bit等效,因此,此时的波特单位可以是位/秒。 答案: B 解析: 放大电路的开环,是指未经反馈通路形成的独立放大电

    2023年04月17日
    浏览(59)
  • 【蓝桥杯嵌入式】蓝桥杯嵌入式第十二届省赛题,考点:模拟电压,串口通信,计时器

     🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都在这儿哦,欢迎大家前往订阅本专题,获取更多详细信息哦🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题 🎏【蓝桥杯嵌入式

    2023年04月09日
    浏览(43)
  • 【蓝桥杯嵌入式】第十二届蓝桥杯嵌入式国赛程序设计试题以及详细题解

      本套试题较为常规,试题主要需要使用的模块有:LCD、LED、按键、定时器输入捕获功能、采集光照传感器的值以及串口,其中最重要的是 串口收发数据 以及 定时器的输入捕获功能 ,其余的各个部分还算比较常规、比较简单。下面咱就一起来看看这届赛题的题解吧!🤤🤤

    2024年02月06日
    浏览(40)
  • 第十四届蓝桥杯大赛青少年省赛C++组试题真题 2023年5月

    一、选择题 第 1 题 单选题 C++中,bool类型的变量占用字节数为 ( )。 A. 1 B. 2 C. 3 D. 4 第 2 题 单选题 以下关于C++结构体的说法,正确的是 ( )。 A. 结构体中只能包含成员变量,不能包含成员函数 B. 结构体不能从另一个结构体继承 C. 结构体里面可以包含静态成员变量 D. 结构体里

    2024年02月15日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包