nows nowe 分别代表 正数范围上的 nowe代表负数范围上的。

nexts nexte 同理。

也就是用新的nowe nexte 存储负数的结果即可。扩展到负数域。这样就可以做减法的母函数的题目啦。

注意这个时候物品可以是负数的。负数的话就存在nowe nexte上即可。

#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{int n;int nows[1000];int nowe[1000];int nexts[1000];int nexte[1000];int val[10];int i,j,k;int sum;while(scanf("%d",&n)!=EOF){memset(nows,0,sizeof(nows));memset(nowe,0,sizeof(nowe));memset(nexts,0,sizeof(nexts));memset(nexte,0,sizeof(nexte));sum = 0;for(i=0;i<n;i++){scanf("%d",&val[i]);sum+=val[i];}//init .nows[0] = 1;nows[val[0]] =1;nowe[val[0]] =1; for(i=1;i<n;i++){for(j=-sum;j<=sum;j++)  //对于每一个值
            {for(k=-1;k<=1;k++){if(j<0){if(j+k*val[i]>=0){ nexts[j+k*val[i]] += nowe[-j];}else{nexte[-(j+k*val[i])] += nowe[-j]; }}else{if(j+k*val[i]>=0){nexts[j+k*val[i]] += nows[j];}else{nexte[-(j+k*val[i])] += nows[j]; }}}}memcpy(nows,nexts,sizeof(nexts));memcpy(nowe,nexte,sizeof(nexte));memset(nexts,0,sizeof(nexts));memset(nexte,0,sizeof(nexte));}for(i=0;i<=sum;i++){printf("%d:%d ",i,nows[i]);}}}

View Code

想到了减法。那么乘法 很简单。除法则是要扩展到分数。。我觉得应该可以用map来实现吧。其实负数也可以直接用map来实现的。这个解法只是个人无聊之作啦。

转载于:https://www.cnblogs.com/Milkor/p/4446133.html

扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)相关推荐

  1. 做减法才是真本事,别以为你很能学,做加法一点都不难

    文章目录 顶级的高手才敢做减法 前言 一.做减法才是真本事 二.大数据梦想联盟活动开启 顶级的高手才敢做减法 前言 大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾 大数据等于趋势,一个 ...

  2. vb 减法精度增加_如何给产品做减法

    软件产品应该做减法是移动互联网时代才达成的共识,很多产品经理虽然知道应该做减法,但是却不知道如何寻找做减法的机会点,用户高频路径分析可以帮助大家寻找到做减法的机会点.当寻找到机会点后我们可以通过&qu ...

  3. 给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

    作者 | 孙健波(天元)  阿里巴巴技术专家 本文整理自 11 月 21 日社群分享,每月 2 场高质量分享,点击加入社群. 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LX ...

  4. 给 COLA 做减法:应用架构中的“弯弯绕设计”

    简介:COLA 的主要目的是为应用架构提供一套简单的可以复制.可以理解.可以落地.可以控制复杂性的"指导和约束".在实践中作者发现 COLA 在简洁性上仍有不足,因此给 COLA ...

  5. Juniper告诉你如何给管理做“减法”,让安全更加分

    随着云的应用越来越多,客户的云环境也变得越来越复杂.曾有调查称85%已经转向云的企业要跨云,有些应用和服务会放到AWS上,有的会放在微软云上,有的会放在主机托管的云上,有的会放在企业自己的云平台--可 ...

  6. 比较了鸿蒙LITEOS和Tdengine的底层代码后,我发现优秀项目都是做减法的

    最近华为鸿蒙OS终于正式发布,通过比较华为鸿蒙OS与之前在Github上开源的(https://www.github.com/Awesome-HarmonyOS)鸿蒙liteOS代码,笔者发现他们在任 ...

  7. Nitro浏览器产品设计分析:浏览器如何做减法

    之前在人人都是产品经理平台读过一篇<遨游海外的另类探索>,介绍的主角就是今天本文的研究的产品:nitro浏览器.区别在于<遨游海外的另类探索>从产品市场分析成文,而本文专注于从 ...

  8. MATLAB【二】————图像做减法,批量文本处理,子图显示

    clear; clc; close all;name_string = ["1.5ms\100\" ];length = strlength(name_string); [m,n] ...

  9. 大数据营销要学会做减法

    在大数据时代的背景下,营销战事实上很接近于小说.影视中的"穿越"题材,从"未来"回到现在,也就是说借助于大数据,从顾客的真实交易行为数据中,计算出不同顾客的下次 ...

最新文章

  1. ADC的有效位数与有效分辨率的区别
  2. 利用OpenCV实现旋转文本图像矫正的原理及OpenCV代码
  3. Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
  4. 深入理解JVM虚拟机(四):Class类文件结构(一)
  5. C++多态的概念及前提条件
  6. 运维与自动化系列③自动化部署基础与shell脚本实现
  7. Linux Shell编程(5)——shell特殊字符(下)
  8. How is error message Could not create note displayed from backend to ui
  9. Nginx——配置负载均衡
  10. Sharepoint学习笔记—ECM系列—找不到Content Type Publishing链接
  11. 微信公众帐号中使用的QQ表情代码对照表
  12. 金融资产管理公司 不良资产的发言人
  13. 怎么用c语言解四元方程,求四元一次方程组的解
  14. WORD VBA实现查找带格式的文字并复制到特定地方
  15. matlab三元一次方程组的解包含未知数,用matlab解三元一次方程组_matlab解高阶方程_matlab二分法求方程的近似解...
  16. C# 使用Zebra斑马打印机打印ZPL文件工具
  17. pythonds18b20_[python]树莓派第一课之DS18B20温度传感器
  18. 今日,华为重磅发布6大创新产品及服务!
  19. 华为Ensp软件入门
  20. NFV落地开花,CT厂商渐获运营商青睐

热门文章

  1. 对于前端js框架对于事件处理的应用场景探讨
  2. 命令行刷新Magento索引管理
  3. ASP.NET基础教程-Web 自定义控件的使用-根据属性值从数据库中提取数据并在页面上自动生成一个表格...
  4. Websphere的类加载器以及策略的简单介绍
  5. 关系型数据库设计规则
  6. 多路平衡查找树(B Tree)(分裂、合并)
  7. Java并发编程的基础-为什么要复位
  8. Spring 提供几种配置方式来设置元数据?
  9. Redis中的数据迁移
  10. 常用的函数式接口_Consumer接口