扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)
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
扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)相关推荐
- 做减法才是真本事,别以为你很能学,做加法一点都不难
文章目录 顶级的高手才敢做减法 前言 一.做减法才是真本事 二.大数据梦想联盟活动开启 顶级的高手才敢做减法 前言 大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾 大数据等于趋势,一个 ...
- vb 减法精度增加_如何给产品做减法
软件产品应该做减法是移动互联网时代才达成的共识,很多产品经理虽然知道应该做减法,但是却不知道如何寻找做减法的机会点,用户高频路径分析可以帮助大家寻找到做减法的机会点.当寻找到机会点后我们可以通过&qu ...
- 给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践
作者 | 孙健波(天元) 阿里巴巴技术专家 本文整理自 11 月 21 日社群分享,每月 2 场高质量分享,点击加入社群. 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LX ...
- 给 COLA 做减法:应用架构中的“弯弯绕设计”
简介:COLA 的主要目的是为应用架构提供一套简单的可以复制.可以理解.可以落地.可以控制复杂性的"指导和约束".在实践中作者发现 COLA 在简洁性上仍有不足,因此给 COLA ...
- Juniper告诉你如何给管理做“减法”,让安全更加分
随着云的应用越来越多,客户的云环境也变得越来越复杂.曾有调查称85%已经转向云的企业要跨云,有些应用和服务会放到AWS上,有的会放在微软云上,有的会放在主机托管的云上,有的会放在企业自己的云平台--可 ...
- 比较了鸿蒙LITEOS和Tdengine的底层代码后,我发现优秀项目都是做减法的
最近华为鸿蒙OS终于正式发布,通过比较华为鸿蒙OS与之前在Github上开源的(https://www.github.com/Awesome-HarmonyOS)鸿蒙liteOS代码,笔者发现他们在任 ...
- Nitro浏览器产品设计分析:浏览器如何做减法
之前在人人都是产品经理平台读过一篇<遨游海外的另类探索>,介绍的主角就是今天本文的研究的产品:nitro浏览器.区别在于<遨游海外的另类探索>从产品市场分析成文,而本文专注于从 ...
- MATLAB【二】————图像做减法,批量文本处理,子图显示
clear; clc; close all;name_string = ["1.5ms\100\" ];length = strlength(name_string); [m,n] ...
- 大数据营销要学会做减法
在大数据时代的背景下,营销战事实上很接近于小说.影视中的"穿越"题材,从"未来"回到现在,也就是说借助于大数据,从顾客的真实交易行为数据中,计算出不同顾客的下次 ...
最新文章
- ADC的有效位数与有效分辨率的区别
- 利用OpenCV实现旋转文本图像矫正的原理及OpenCV代码
- Exchange server 2003迁移到2010后,手动更新地址列表,提示OAB Versions无效
- 深入理解JVM虚拟机(四):Class类文件结构(一)
- C++多态的概念及前提条件
- 运维与自动化系列③自动化部署基础与shell脚本实现
- Linux Shell编程(5)——shell特殊字符(下)
- How is error message Could not create note displayed from backend to ui
- Nginx——配置负载均衡
- Sharepoint学习笔记—ECM系列—找不到Content Type Publishing链接
- 微信公众帐号中使用的QQ表情代码对照表
- 金融资产管理公司 不良资产的发言人
- 怎么用c语言解四元方程,求四元一次方程组的解
- WORD VBA实现查找带格式的文字并复制到特定地方
- matlab三元一次方程组的解包含未知数,用matlab解三元一次方程组_matlab解高阶方程_matlab二分法求方程的近似解...
- C# 使用Zebra斑马打印机打印ZPL文件工具
- pythonds18b20_[python]树莓派第一课之DS18B20温度传感器
- 今日,华为重磅发布6大创新产品及服务!
- 华为Ensp软件入门
- NFV落地开花,CT厂商渐获运营商青睐