设目标体系$(n,a)$和答案体系$(m,b)$分别为集合$A$和集合$B$,那么我们可以猜想$B\subseteq A$。

我们可以先通过反证法验证下面两个结论:

若$x\in A$可以被其他$A$中的数表达出来,那么有$x\notin B$。

若$x\in A$不能被其他$A$中的数表达出来,那么有$x\in B$。

然后再通过上述结论,使用反证法证明$B\subseteq A$。具体就是取一个$x$,令$x\in B$且$x\notin A$,证明这样的$x$不存在。

于是我们只需要找到$A$中能被表达出来的数并删去即可。

具体来说,需要先将$a$排序,然后每次$\forall x\in[a_i,a_n]$,令$f_x\leftarrow f_{x-a_i}$。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define IL inline
#define RG register
using namespace std;
#define RI RG int
#define RC RG char
const int N=100;
const int M=25000; int T,n,a[N+3];
bool f[M+3]; IL void sol(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]); sort(a+1,a+n+1);
memset(f,0,sizeof(f)); f[0]=1;
int ans=n;
for(RI i=1;i<=n;i++){
if(f[a[i]]){
ans--;
continue;
} for(int j=a[i];j<=a[n];j++)
f[j]|=f[j-a[i]]; }
printf("%d\n",ans); } int main(){
freopen("data.in","r",stdin);
freopen("data.ans","w",stdout); scanf("%d",&T);
while(T--)
sol(); return 0; }

T137226 彩虹海的更多相关文章

  1. QQ群免IDKEY加群PHP源码

    加群链接需要idkey的,该源码自动解析idkey,实现免idkey加群. 该源码来自彩虹秒赞系统. 例如:api.yum6.cn/qqun.php?qun=463631294 <?php /* ...

  2. 海康网络摄像机YV12转换为BGR,由opencv Mat显示 (转)

    我使用的是海康DS-2CD852MF-E, 200万,网络摄像机,已经比较老了,不过SDK在海康官网下载的,开发流程都差不多. 海康摄像机回调解码后的视频数据格式为YV12,顺便说一下YV12的数据格 ...

  3. 海鑫智圣:物联网漫谈之MQTT协议

    什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...

  4. 一种简单的md5加盐加密的方法(防止彩虹表撞库)

    md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...

  5. c#程序如何从海康ipserver查询获取DVR设备ip地址

    海康威视提供的ipserver可以记录DVR设备的IP地址,并提供一个7071的端口给客户端查询用,我们在c#程序中可以用海康SDK包中的NET_DVR_GetDVRIPByResolveSvr函数来 ...

  6. [基础技能] 安全技术——哈希算法密码破解之彩虹表(Rainbow Table)学习

    1.基础知识 刚刚学习过数字签名的相关知识,以及数字签名的伪造技术,而伪造数字签名归根结底就是密码破解的一个过程,然而直接破解的速度是非常缓慢的,所以有人想出一种办法,直接建立出一个数据文件,里面事先 ...

  7. HDU--航海舰队

    海舰队 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  8. 从Facebook跑来阿里的赵海平大叔,你要干啥?

    赵海平在今年三月份来到阿里,听毕玄(他现任主管)说去年五六月份就跟赵海平聊上了.有人问:为啥 BAT 三大巨头,你看中了阿里巴巴?在今天现场达一千多人的分享中赵海平给出了回复:“因为百度和腾讯没找我呗 ...

  9. html5实现银联海购商品分类列表

    银联海购官网请点击 http://haigou.unionpay.com/ 1.实现效果预览展示如下: 2.源码如下 <!DOCTYPE html> <html> <he ...

  10. 海思h264解码库

    海思的dll,解码h264  解码后转出yuv12 dll自己百度下载  hi_h264dec.dll   hi_h264dec_w.dll   调用方法: if (H264Dec.Hi264DecA ...

随机推荐

  1. 行为型模式 - 观察者模式Observer

    学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 有一个大佬视频中提过一个案例,我觉得很棒:遥闻深巷中犬吠,边有妇人惊觉欠伸,其夫呓语.继而儿醒,大啼.夫亦醒. 模式的定义与特点 ...

  2. 【学习笔记】QT从入门到实战完整版(菜单栏、工具栏、浮动窗口、状态栏、中心部件)(3)

    QMainWindow QMainWindow 是一个为用户提供主窗口程序的类,包含以下几种类型部件,是许多应用程序的基础. 示例代码 void MainWindow::test() { // --- ...

  3. MRS芯片状态错误排查方向

    1. 如手里的 LINK 板子标注是 WCH-LINK,而不是 WCH-LINKE,那么与开发板连接线最好别超过 15CM 2. 芯片供电是否正常, VDDA 和 VDD 要正常供电 2.检查连线是否 ...

  4. avue入门

    <html> <head> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min. ...

  5. Java Day 2

    标识符 凡是变量中需要自己命名的地方都是标识符,例如:包名.类名.变量名等等 标识符的命名规则 1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($). 2.标 ...

  6. EPICS Archiver Appliance 单点极限储存速率测试

    https://blog.csdn.net/weixin_43767046/article/details/113748775 这个测试一直在进行,虽然因为摸数据库设置而重启过并清过库,但读示波器波形 ...

  7. Zstack使用经验系列2-安装的存储配置

    从上图读者应该能看出当初分配主存储和镜像存储时空间分配的是多么不合理,镜像空间不需要那么多.不过这时系统已经运行了近1年,很多云主机以及系统服务都搭好了,如果再重新分配空间是多么的麻烦! 所以开始为p ...

  8. 【译】.NET 7 中的性能改进(四)

    原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性.运行时保护对数组.字符串和跨度的访问, ...

  9. JZOJ.4724 斐波那契

    \(\text{Problem}\) \(\text{Solution}\) \(\text{Fibonacci}\) 数列有一个性质:若 \(H_1=a,H_2=b,H_n=H_{n-2}+H_{n ...

  10. ImGui窗口标题栏的高度

    FontSize + FramePadding.y * 2 具体参考How to customize titlebar elements? · Issue #1539 · ocornut/imgui ...