T137226 彩虹海
设目标体系$(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 彩虹海的更多相关文章
- QQ群免IDKEY加群PHP源码
加群链接需要idkey的,该源码自动解析idkey,实现免idkey加群. 该源码来自彩虹秒赞系统. 例如:api.yum6.cn/qqun.php?qun=463631294 <?php /* ...
- 海康网络摄像机YV12转换为BGR,由opencv Mat显示 (转)
我使用的是海康DS-2CD852MF-E, 200万,网络摄像机,已经比较老了,不过SDK在海康官网下载的,开发流程都差不多. 海康摄像机回调解码后的视频数据格式为YV12,顺便说一下YV12的数据格 ...
- 海鑫智圣:物联网漫谈之MQTT协议
什么是MQTT协议 MQTT(消息队列遥测传输协议)是IBM在1999年专门针对物联网等应用场景来制订的轻量级双向消息传输协议,它主要是为了解决物联网上使用到的设备的互相通信的问题,以及这些设备与后端 ...
- 一种简单的md5加盐加密的方法(防止彩虹表撞库)
md5加密(或者说摘要算法)大家都很熟悉了 就不解释了 现在很多数据库设计都喜欢用单向加密的方式保存密码,验证时对提交的密码再次加密之后做密文对比 /// <summary> 使用MD5加 ...
- c#程序如何从海康ipserver查询获取DVR设备ip地址
海康威视提供的ipserver可以记录DVR设备的IP地址,并提供一个7071的端口给客户端查询用,我们在c#程序中可以用海康SDK包中的NET_DVR_GetDVRIPByResolveSvr函数来 ...
- [基础技能] 安全技术——哈希算法密码破解之彩虹表(Rainbow Table)学习
1.基础知识 刚刚学习过数字签名的相关知识,以及数字签名的伪造技术,而伪造数字签名归根结底就是密码破解的一个过程,然而直接破解的速度是非常缓慢的,所以有人想出一种办法,直接建立出一个数据文件,里面事先 ...
- HDU--航海舰队
海舰队 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 从Facebook跑来阿里的赵海平大叔,你要干啥?
赵海平在今年三月份来到阿里,听毕玄(他现任主管)说去年五六月份就跟赵海平聊上了.有人问:为啥 BAT 三大巨头,你看中了阿里巴巴?在今天现场达一千多人的分享中赵海平给出了回复:“因为百度和腾讯没找我呗 ...
- html5实现银联海购商品分类列表
银联海购官网请点击 http://haigou.unionpay.com/ 1.实现效果预览展示如下: 2.源码如下 <!DOCTYPE html> <html> <he ...
- 海思h264解码库
海思的dll,解码h264 解码后转出yuv12 dll自己百度下载 hi_h264dec.dll hi_h264dec_w.dll 调用方法: if (H264Dec.Hi264DecA ...
随机推荐
- 论文翻译:2022_腾讯DNS 1th TEA-PSE: Tencent-ethereal-audio-lab personalized speech enhancement system for ICASSP 2022 DNS CHALLENGE
论文地址:TEA-PSE: 用于ICASSP 2022 DNS挑战赛的Tencent-ethereal-audio-lab 个性化语音增强系统 论文代码: 引用格式:Ju Y, Rao W, Yan ...
- 【随笔记】Android 命令行联网、更新DNS、同步网络时间
一.命令行联网 # 启用网卡 busybox ifconfig wlan0 up # 启用服务 wpa_supplicant -iwlan0 -Dnl80211 -c/system/etc/wifi/ ...
- JavaScript所有内部属性列表 [[Configurable]] 等
简介 据MDN文档所说内部属性是由 [[···]] 包裹的内容,于是我们去复制 ECMA-262 标准的所有文字部分,然后用正则统计 [[···]] 的出现并打印 效果 代码 经老大提醒,这里的正则并 ...
- Idea创建类模板方法模板
参考https://blog.csdn.net/sdut406/article/details/81750858 写代码是少不了注释的,但是自带的注释就几个,所以使用注释模板添加自定义的注释是个非常好 ...
- 树莓派4B—LCD触摸屏和硬件串口配置
1.LCD触摸屏直接下载官网驱动,这里选用的是3.5寸显示屏,解压后直接运行 sudo ./LCD35-show 然后重启. 注意:一定要先安装LCD驱动,因为安装驱动会修改/boot/config. ...
- Win10解决文件或文件夹属性选项中只有“常规“、“以前的版本”,没有“安全”、“共享”、“位置”的方法
问题介绍: 当我想要把"桌面"文件夹的路径改到其他盘的时候,通常我只需要对着"桌面"文件夹点击右键,在属性-位置的选项卡中更改路径即可:但是我发现我在对着&qu ...
- P4238 【模板】多项式乘法逆
#include <cstdio> #include <iostream> #define re register using namespace std; typedef l ...
- 权限维持之:DSRM 域控权限维持
目录 1 修改 DSRM 密码 2 DSRM 域后门操作过程 3 DSRM 域后门防御 目录服务恢复模式(DSRM,Directory Services Restore Mode),是Windows服 ...
- ve-plus:基于 vue3.x 桌面端UI组件库|vue3组件库
VE-Plus 自研轻量级 vue3.js 桌面pc端UI组件库 经过一个多月的筹划及开发,今天给大家带来一款全新的Vue3桌面端UI组件库VEPlus.新增了35+常用的组件,采用vue3 setu ...
- Nginx 同一个域名自动识别 pc h5
首先设置环境变量 我们先设置变量,通过判断来改变变量的值(注: 我写在server中) set $is_mobile false; # 初始值 if ( $http_cookie ~* "A ...