题目描述

有n种不同大小的数字,每种各个。判断是否可以从这些数字之中选出若干使它们的和恰好为K。

输入

首先是一个正整数T(1<=T<=100) 接下来是T组数据 每组数据第一行是一个正整数n(1<=n<=100),表示有n种不同大小的数字 第二行是n个不同大小的正整数ai(1<=ai<=100000) 第三行是n个正整数mi(1<=mi<=100000),表示每种数字有mi个 第四行是一个正整数K(1<=K<=100000)

输出

对于每组数据,如果能从这些数字中选出若干使它们的和恰好为K,则输出“Yes”,否则输出“No”,每个输出单独占一行

样例输入

2
3
3 5 8 3 2 2
17
2
1 2 1 1
4

样例输出

Yes
No
dp数组
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int dp[],a[],m[];
int n,k,T;
int dper()
{
memset(dp,-,sizeof(dp));
dp[]=;
for(int i=;i<n;i++)
{
for(int j=;j<=k;j++)
{
if(dp[j]>=)
{
dp[j]=m[i];
}
else if(j<a[i]||dp[j-a[i]]<=)
{
dp[j]=-;
}
else
{
dp[j]=dp[j-a[i]]-;
}
}
}
if(dp[k]>=){printf("Yes\n");}
else printf("No\n");
return ;
}
int main()
{
scanf("%d",&T);
while(T>=)
{
scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=;i<n;i++)
{
scanf("%d",&m[i]);
}
scanf("%d",&k);
dper();
T--;
n=;k=;
memset(a,,sizeof(a));
memset(m,,sizeof(m));
}
return ;
}
/**************************************************************
Problem: 1210
User: 2014217052
Language: C++
Result: 正确
Time:128 ms
Memory:2676 kb
****************************************************************/

2015安徽省赛 F.多重部分和问题的更多相关文章

  1. 2015安徽省赛 D.锐雯上单不给就送

    题目描述 <英雄联盟>(简称LOL)是由美国Riot Games开发,腾讯游戏运营的英雄对战网游.<英雄联盟>除了即时战略.团队作战外,还拥有特色的英雄.自动匹配的战网平台,包 ...

  2. 2015安徽省赛 B.求和

    题目描述 对于正整数n,k,我们定义这样一个函数f,它满足如下规律 现在给出n和k,你的任务就是要计算f(n,k)的值. 输入 首先是一个整数T,表示有T组数据 接下来每组数据是n和k(1<=n ...

  3. 2015安徽省赛 G.你来擒孟获

    http://xcacm.hfut.edu.cn/problem.php?id=1211 SPFA模板题目 最短路变种,从起点终点各找一次最短路相加 #include<iostream> ...

  4. 2015安徽省赛 H.数7

    http://xcacm.hfut.edu.cn/problem.php?id=1212 模拟大发 #include<iostream> #include<cstdio> #i ...

  5. 2015安徽省赛 I.梯田

    http://xcacm.hfut.edu.cn/problem.php?id=1213 set + 搜索 姐姐是用搜索+二分做的,效率要高很多 #include<iostream> #i ...

  6. 2015安徽省赛 J.镜像树

    http://xcacm.hfut.edu.cn/problem.php?id=1214 乱搞题 数组+结构体 递归遍历 #include<iostream> #include<cs ...

  7. 2015安徽省赛 C.LU的困惑

    题目描述 Master LU 非常喜欢数学,现在有个问题:在二维空间上一共有n个点,LU每连接两个点,就会确定一条直线,对应有一个斜率.现在LU把平面内所有点中任意两点连线,得到的斜率放入一个集合中( ...

  8. 2015安徽省赛 A.First Blood

    题目描述 盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题: 老师给了一个正整数 n,需要在不大于n的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大.盖伦很 ...

  9. 浙江大学2015年校赛F题 ZOJ 3865 Superbot BFS 搜索

    不知道为什么比赛的时候一直想着用DFS 来写 一直想剪枝结果还是TLE = = 这题数据量不大,又是问最优解,那么一般来说是用 BFS 来写 int commandi[4] = {1, 2, 3, 4 ...

随机推荐

  1. [BZOJ 1297][SCOI 2009]迷路(矩阵快速幂)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1297 分析:如果每条边的边权都是1,那么就相当于对邻接矩阵自乘T次(因为写一下递推式子 ...

  2. 结对子作业 四则运算 V2.0

    import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import ja ...

  3. 报课系统APP

    031302307黄丰润 031302343张晓燕 #NABCD模型分析 合理分析需求有助于说服客户,所以我们有如下分析 N(need)--客户需要什么 负责人需要将选课信息和选课表格一起发送给所负责 ...

  4. ibatis selectKey用法问题

    其实就是相为SHIPMENT_HISTORY表加入一个主键sequence id shipmentHistoryId,加入一条记录,然后返回这个sequence id xml 代码 <inser ...

  5. nav ccsss

    /*header: Navigation public style*/header:before, header:after ,.navigation:before, .navigation:afte ...

  6. Eclipse属性文件编辑器---Properties Editor

    今天在用 Eclipse 来编辑 .properties 文件时,写的中文会自动转为 Unicode 编码,完全不知道自己的中文写的是什么!! 于是查了一下,网上推荐,在Eclipse 中 安装一个 ...

  7. 未完结第八节 JBPM流程节点

    1.12个节点介绍 2.Node节点

  8. Docker Architecture、Docker Usage

    目录 . 引言 - 为什么要有Docker技术 . Docker简介 . Docker安装.部署.使用 . Docker安全 . Docker底层实现 . Docker网络配置 . Dockerfil ...

  9. IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)

    目录 . 引言 . IIS 6.0 FTP匿名登录.匿名可写加固 . IIS 7.0 FTP匿名登录.匿名可写加固 . IIS >= 7.5 FTP匿名登录.匿名可写加固 . IIS 6.0 A ...

  10. Spring3.2.2之后不赞成使用queryForInt

    原来: public int getMatchCount(String username,String password){ String sql="select count(*) from ...