求用1g、2g、3g的砝码(每种砝码有无穷多个)称出10g的方案有几种
#include <iostream>
using namespace std;
//
const int maxx = ;
// sup是保存多项式的数组,sup[n]中的值代表指数为i的系数 ,下标i是x的指数
// temp是临时多项式,保存相乘的临时中间情况 (合并相同指数的多项式)
int sup[maxx], temp[maxx];
/*
程序始终只计算两个多项式之间的乘积,多个多项式的情况
先计算前两个的乘积,将结果作为第一个多项式,再与第三个相乘
依次类推,sup始终存放当前运算后的结果然后作为被乘多项式,
*/ int main()
{
int target; // 目标重量, 比如上面的例子里就是10,要<max的值
int i, j, k; while(cin >> target)
{
for(i=; i<=target; ++i)
{ //初始化第一个多项式,也就是用1g砝码的多项式, 注意如果题目没给1g的砝码那么就不能++i,而要加上砝码的质量
sup[i] = ;
temp[i] = ; //将临时区清空,无论第一个多项式质量是几都要全部置零
} for(i=; i<=target; ++i) //后面有n-1个表达式(括号里的式子),要展开n-1次,i指第i个表达式
// 生成后续的第i个多项式,此题中是2g,i从2开始。
//如果砝码的值不是规律增长,i可能需要取决于输入
{
for(j=; j<=target; ++j)//将(1+x^i)*(1+x^j)相乘展开,整理合并项
{
for(k=; k+j<=target; k=k+i) //只用保留指数<=n的项,所以k+j<=n
{
temp[j+k]=temp[j+k]+ sup[j]; //j指当前表达式里项的第j个项,k指后一个表达式里项的指数,k=k+i
}
}
for(j=; j<=target; ++j) // 将临时的结果覆盖当前结果,同时把临时结果置零,为下次做准备
{
sup[j] = temp[j];
temp[j] = ;
}
}
cout << sup[target] << endl; //输出结果
}
return ;
}
https://blog.csdn.net/bjrxyz/article/details/8123821
求用1g、2g、3g的砝码(每种砝码有无穷多个)称出10g的方案有几种的更多相关文章
- Android 了解1G 2G 3G 知识
了解1G 2G 3G 相关知识,对网络通讯制式进行了解即可 1.这种网络通讯制式是一步一步发展起来的,由最开始的1G(最典型的手机,例如:大哥大,1G这种制式只能语音通话). 2.后来出现的2G,2G ...
- 至少要几个砝码,可以称出 1g ~ 40g 重量
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- 转:Android 判断用户2G/3G/4G移动数据网络
Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...
- iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
- Android 判断用户2G/3G/4G移动数据网络
Android 判断用户2G/3G/4G移动数据网络 在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以 ...
- Android通过tcpdump抓包(wifi, 2g, 3g都可以)
http://blog.csdn.net/deng529828/article/details/20646197 1. 手机要有root权限 2. 下载tcpdump http://www.str ...
- (转)Android 判断用户2G/3G/4G移动数据网络
在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需(要根据用户当前网络情况来做一些调整的,也可以在 App 的设置模块里,让用户自己选择,在 2G ...
- android开发获取网络状态,wifi,wap,2g,3g.工具类(一)
android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...
- iOS 中如何判断当前是2G/3G/4G/5G/WiFi
5G 什么的,还得等苹果API更新啊,不过将来还是这个处理过程就是了. 关于判断当前的网络环境是2G/3G/4G,这个问题以前经常看到,最近在一工程里看到了如果判断的API.而在撸WebRTC音视频通 ...
随机推荐
- 未找到与约束contractname Microsoft.VisualStudio.Utilities.IContentTypeRegistryService...匹配的导出
***以下操作后一定要重启VS,重启VS,重启VS重要的事情说三遍*** //************************************************************* ...
- MyBatis中动态SQL语句完成多条件查询
一看这标题,我都感觉到是mybatis在动态SQL语句中的多条件查询是多么的强大,不仅让我们用SQL语句完成了对数据库的操作:还通过一些条件选择语句让我们SQL的多条件.动态查询更加容易.简洁.直观. ...
- php环境引起的"syntax error unexpected $end"
今天在网上淘了一段php和javascript的二级联动下拉菜单的代码.本地运行的时候,一直提示错误 syntax error unexpected $end 本来还以为是括号或者标签没有用好,但是仔 ...
- SpringBoot04 日志框架之Logback
1 日志框架选择 日志门面:SLF4J 日志实现:Logback 2 实现控制台的日志打印输出01 2.1 在需要实现日志信息打印的类中实例化Logger对象 坑01:springBoot项目默认使用 ...
- protocol buffers的使用示例
protocol buffers的使用示例 如果不了解protocol buffers,可以先参看:http://blog.csdn.net/zhu_xun/article/details/19343 ...
- R: plot 绘图各种参数,以及 legend。。
################################################### 问题:基础绘图plot 18.4.30 plot函数,基础绘图的各个参数? 解决方案: ca ...
- 1、awk打开多个文件的方法
转载:http://www.cnblogs.com/Berryxiong/p/6209324.html 1.当awk读取的文件只有两个的时候,比较常用的有三种方法(1)awk 'NR==FNR{... ...
- 999F Cards and Joy
传送门 题目大意 有n个人n*m张牌,每个人分m张牌.每个人有一个自己喜欢的数值,如果他的牌中有x张数值等于这个值则他的高兴度为L[x],求怎样分配牌可以使得所有人的总高兴度最大. 分析 我们发现每一 ...
- hdu6331 Problem M. Walking Plan
传送门 题目大意 给你一个n点m条边的有向图,q次询问,给定s,t,k,求由s到t至少经过k条边的最短路. 分析 我们设dp[i][j][k]为从i到j至少经过k条边的最短路,sp[i][j]意为从i ...
- Luogu 3627 [APIO2009]抢掠计划
不爽. 为什么tarjan能爆栈啊 十分显然的缩点,给缩点之后的点连上权值为后一个点集权值的有向边,然后spfa跑最长路. 注意一开始$dis_{st}$应该等于$st$这个集合的权值. 时间复杂度$ ...