cdoj1633 去年春恨却来时,落花人独立,微雨燕双飞
地址:http://acm.uestc.edu.cn/#/problem/show/1633
题目:
去年春恨却来时,落花人独立,微雨燕双飞
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
给你一个大小为n的集合S,集合里有n个互不相同正整数.
有q个询问,每次询问是否能选择S中的一些数字 ( 同一个数字可以选择多次,也可以任何数字都不选),使它们相加的和为m.
Input
第一行一个数n(1≤n≤2000),表示集合S的大小.
第二行n个数,第ii个数ai(1≤ai≤50000)表示集合S中的第ii个数.
第三行一个数q(1≤q≤10000),表示询问次数.
接下来q行,每行一个数m(0≤m≤1000000000),表示该次询问的数.
Output
每次询问输出一行,如果存在和为m的方法,输出YES,否则输出NO.
Sample input and output
Sample Input | Sample Output |
---|---|
3 |
YES |
Hint
对于第一个询问,存在2+2+2=6,所以输出YES
对于第一个询问,无法构造,输出NO
对于第三个询问,存在9+9=18,所以输出YES
对于第四个询问,存在2+2+4+4+4+9=25,所以输出YES
Source
#include <bits/stdc++.h> using namespace std; #define MP make_pair
#define PB push_back
typedef long long LL;
typedef pair<int,int> PII;
const double eps=1e-;
const double pi=acos(-1.0);
const int K=5e4+;
const int mod=1e9+; int n,m;
int v[K],d[K],vis[K],mi=mod;
void spfa(void)
{
memset(d,0x3f3f3f3f,sizeof d);
queue<int>q;
q.push(),d[]=,vis[]=;
while(q.size())
{
int x=q.front();
q.pop(),vis[x]=;
for(int i=;i<=n;i++)
{
int y=(x+v[i])%mi;
if(d[x]+v[i]<d[y])
{
d[y]=d[x]+v[i];
if(!vis[y]) q.push(y),vis[y]=;
}
}
}
}
int main(void)
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",v+i),mi=min(mi,v[i]);
spfa();
scanf("%d",&m);
int x;
while(m--)
{
scanf("%d",&x);
if(d[x%mi]<=x) printf("YES\n");
else printf("NO\n");
}
return ;
}
cdoj1633 去年春恨却来时,落花人独立,微雨燕双飞的更多相关文章
- 【最短路】【spfa】CDOJ1633 去年春恨却来时,落花人独立,微雨燕双飞
对于S集合中的数,例如a1,考虑到如果x能够被表示出来,那么x+a1也一定能被表示出来 设d[r]为所有模a1余r的数中,能被表示出来的最小的数 用d[x]+ai去更新d[(x+ai)%a1],跑最短 ...
- 终端的乐趣--Linux下有趣的终端命令或者工具【转】
转自:https://blog.csdn.net/gatieme/article/details/52144603 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- Android之无限轮播图源代码
Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...
- Unity3D将来时:IL2CPP(上)
http://inpla.net/thread-8197-1-1.html Unity3D将来时:IL2CPP(上) (注:本文详细的讲述了C#,Mono,.Net, IL等Unity使用到的概念,如 ...
- Unity将来时:IL2CPP是什么?
作者:小玉链接:https://zhuanlan.zhihu.com/p/19972689来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Unity3D 想必大家都不陌 ...
- Unity3D将来时:WebGL
作者:小玉链接:https://zhuanlan.zhihu.com/p/19974794来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 随着Unity5.0的发布,W ...
- 关于开发环境中的消息在download时没有下载下来时的问题
业务场景:在开发环境改了一些代码,现在需要将这些代码(包括class和数据库对象)移植到开发环境,整理出了Objectlist(就是该模块定义了哪些数据库对象),然后上传到FTP服务器上时,再执行do ...
- Eclipse srever起来时,时间超过45s。
双击servere的名字,在属性界面上进行修改. 如下图: 修改TimeOut中的值即可.
- ReactJS 页面跳转保存当前scrollTop回来时,自动移动到上次浏览器的位置
在移动端的操作的时候,相信大家都遇到到这种情况,翻了好几页了,点击一项进去查,然后回来的时候,还想回来我原来的位置. google上也找了一此,有一个组件,但是好像是如果想实现这个功能,页面就得用那个 ...
随机推荐
- hrbustoj 1104:Leyni, LOLI and Line(解析几何,斜截式的应用)
Leyni, LOLI and Line Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 181(54 users) Tota ...
- 在Chem 3D软件用什么方法可以改变背景
化学绘图过程中常常需要绘制三维结构的图形,Chem 3D软件是ChemOffice套件中专门用于绘制三维结构的组件.用过它的用户会发现,其背景颜色通常都默认为深蓝色,但是不是每个场景都适合用深蓝色的背 ...
- ipc 进程间通讯的AIDL
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间 ...
- Android无线测试之—UiAutomator UiScrollable API介绍五
滑动区域校准常量设置与获取 一.校准概念 校准常量指的是:滑动操作坐标时的偏移量,用来取偏移比例 二.相关API 返回值 API 描述 double getSwipeDeadZonePercentag ...
- 非IE图片上传预览
$("#uploadFiles").change(function (e) { if (e.target.files) { ...
- 1358 棋盘游戏[状压dp]
1358 棋盘游戏 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 这个游戏在一个有10*10 ...
- 【BZOJ1857】[Scoi2010]传送带 三分套三分
[BZOJ1857][Scoi2010]传送带 Description 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度 ...
- ios sqlite的创建数据库,表,插入查看数据
iOS sqlite数据库操作.步骤是: 先加入sqlite开发库libsqlite3.dylib, 新建或打开数据库, 创建数据表, 插入数据, 查询数据并打印 1.新建项目sqliteDemo,添 ...
- docker-compose 部署 selenium-grid
目录 一.安装Docker 二.安装Docker-Compose库 三.准备docker-compose.yaml文件 四.运行 上篇:详细介绍selenium-grid 一.安装Docker 必须要 ...
- Code Forces 20A BerOS file system
A. BerOS file system time limit per test 2 seconds memory limit per test 64 megabytes input standard ...