HDU 6140 Hybrid Crystals
Hybrid Crystals
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 322 Accepted Submission(s): 191
>
> — Wookieepedia
Powerful, the Kyber crystals are. Even more powerful, the Kyber crystals get combined together. Powered by the Kyber crystals, the main weapon of the Death Star is, having the firepower of thousands of Star Destroyers.
Combining Kyber crystals is not an easy task. The combination should have a specific level of energy to be stablized. Your task is to develop a Droid program to combine Kyber crystals.
Each crystal has its level of energy (i-th crystal has an energy level of ai). Each crystal is attuned to a particular side of the force, either the Light or the Dark. Light crystals emit positive energies, while dark crystals emit negative energies. In particular,
* For a light-side crystal of energy level ai, it emits +ai units of energy.
* For a dark-side crystal of energy level ai, it emits −ai units of energy.
Surprisingly, there are rare neutral crystals that can be tuned to either dark or light side. Once used, it emits either +ai or −ai units of energy, depending on which side it has been tuned to.
Given n crystals' energy levels ai and types bi (1≤i≤n), bi=N means the i-th crystal is a neutral one, bi=L means a Light one, and bi=D means a Dark one. The Jedi Council asked you to choose some crystals to form a larger hybrid crystal. To make sure it is stable, the final energy level (the sum of the energy emission of all chosen crystals) of the hybrid crystal must be exactly k.
Considering the NP-Hardness of this problem, the Jedi Council puts some additional constraints to the array such that the problem is greatly simplified.
First, the Council puts a special crystal of a1=1,b1=N.
Second, the Council has arranged the other n−1 crystals in a way that
[cond] evaluates to 1 if cond holds, otherwise it evaluates to 0.
For those who do not have the patience to read the problem statements, the problem asks you to find whether there exists a set S⊆{1,2,…,n} and values si for all i∈S such that
where si=1 if the i-th crystal is a Light one, si=−1 if the i-th crystal is a Dark one, and si∈{−1,1} if the i-th crystal is a neutral one.
For each test case, the first line contains two integers n (1≤n≤103) and k (|k|≤106).
The next line contains n integer a1,a2,...,an (0≤ai≤103).
The next line contains n character b1,b2,...,bn (bi∈{L,D,N}).
5 9
1 1 2 3 4
N N N N N
6 -10
1 0 1 2 3 1
N L L L L D
no
/*
* @Author: lyuc
* @Date: 2017-08-17 16:25:54
* @Last Modified by: lyuc
* @Last Modified time: 2017-08-17 16:39:10
*/
/*
题意;有n个晶石,每个有三种属性,L,D,N,如果选了L的你可以+a[i],选D的你可以-a[i]
如果选了N的加减都可以,问你能不能凑成k 思路:这道题中的数能组成的数构成了一个连续区间.一开始只有a[1]的时候能够构成 [-1, 1]
中的所有整数.如果一堆数能够构成 [-a, b]中的所有整数, 这时候来了一个数 x. 如果 x
只能取正值的话, 如果有 x<=b, 那么就能够构成 [-a, b+x]的所有整数.如果 x 只能取负
值, 如果有 x <=y, 那么就能构成 [-a-x, b]的所有整数.如果 x 可正可负, 如果有 x <=≤min(x,y)
, 那么就能构成 [-a-x, b+x]中的所有整数. 然后题目中那个奇怪的不等式就保证了上面的"如果有"的条件.
*/ #include <bits/stdc++.h> #define MAXN 1005
#define MAXA 2 using namespace std; int t;
int n,k;
int a[MAXN];
char str[MAXN][MAXA];
int l,r; void init(){
l=;
r=;
} int main(){
//freopen("in.txt","r",stdin);
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&k);
init();
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=;i<n;i++){
scanf("%s",str[i]);
}
for(int i=;i<n;i++){
if(str[i][]=='L'){
l-=a[i];
}else if(str[i][]=='D'){
r+=a[i];
}else{
l-=a[i];
r+=a[i];
}
}
if(k>){
if(k<=r){
puts("yes");
}else {
puts("no");
}
}else if(k<){
if(k>=l){
puts("yes");
}else{
puts("no");
}
}else{
puts("yes");
}
}
return ;
}
HDU 6140 Hybrid Crystals的更多相关文章
- 2017ACM暑期多校联合训练 - Team 8 1008 HDU 6140 Hybrid Crystals (模拟)
题目链接 Problem Description Kyber crystals, also called the living crystal or simply the kyber, and kno ...
- HDU 6140 17多校8 Hybrid Crystals(思维题)
题目传送: Hybrid Crystals Problem Description > Kyber crystals, also called the living crystal or sim ...
- 【2017 Multi-University Training Contest - Team 8】Hybrid Crystals
[Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6140 [Description] 等价于告诉你有n个物品,每个物品的价值为-a[i]或a[i],或 ...
- hdu 6140 思维
题解:这道题中的数能组成的数构成了一个连续区间. 一开始只有 a1 的时候能够构成 [-1, 1][−1,1] 中的所有整数. 如果一堆数能够构成 [-a, b][−a,b] 中的所有整数, 这时 ...
- HDU6140--Hybrid Crystals(思维)
Hybrid Crystals Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 2017 Multi-University Training Contest - Team 8
HDU6140 Hybrid Crystals 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6140 题目意思:这场多校是真的坑,题目爆长,心态爆炸, ...
- HDU 6118 度度熊的交易计划 【最小费用最大流】 (2017"百度之星"程序设计大赛 - 初赛(B))
度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- HDU 6119 小小粉丝度度熊 【预处理+尺取法】(2017"百度之星"程序设计大赛 - 初赛(B))
小小粉丝度度熊 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...
- HDU 6114 Chess 【组合数】(2017"百度之星"程序设计大赛 - 初赛(B))
Chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
随机推荐
- 【DDD】领域驱动设计实践 —— UI层实现
前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要 ...
- 【京东详情页】——原生js爬坑之二级菜单
一.引言 做京东详情页仿写的时候,要用原生js实现顶部菜单的二级菜单显示与隐藏事件的触发. 过程中遇到了一个坑,在这里与大家分享.要实现的效果如下: 二.坑 谁触发事件?显示.隐藏二级菜单 ...
- 理解及操作环境变量(基于Mac操作)
通过本文,简单的了解下环境变量及其操作,与便于遇到相关问题时能够准确快捷的解决. 什么是环境变量 An environment variable is a dynamic-named value th ...
- Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案
一:redis的入门介绍: 首先贴出官网; 英文:https://redis.io/ 中文:http://www.redis.cn/ 1.是什么 --REmote DIctionary Server( ...
- Quartz源码——QuartzSchedulerThread.run() 源码分析(三)
QuartzSchedulerThread.run()是主要处理任务的方法!下面进行分析,方便自己查看! 我都是分析的jobStore 方式为jdbc的SimpleTrigger!RAM的方式类似分析 ...
- Navicat for MySQL:快捷键整理
使用快捷键,提升工作效率! ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中 ...
- Bmob云IM实现头像更换并存入Bmob云数据库中(1.拍照替换,2.相册选择)
看图效果如下: 1.个人资料界面 2.点击头像弹出对话框 3.点击拍照 4.切割图片,选择合适的部分 5.点击保存,头像替换完毕,下面看从相册中选择图片. 6.点击相册 7.任选一张图片 8.切割图片 ...
- hdu1356&hdu1944 博弈论的SG值(王道)
S-NimProblem DescriptionArthur and his sister Caroll have been playing a game called Nim for some ti ...
- MySQL 高效查询
在“现场加号&预约排队”项目中,“号贩子排查任务”在线下测试的时候没有问题,但是线上后,由于线上的数据量较大,导致在执行查询的时系统崩溃:后来经过查找,发现写的sql不合理,查出了许多用不到的 ...
- WPF DataGrid自动生成行号
在使用WPF进行应用程序的开发时,经常会为DataGrid生成行号,这里主要介绍一下生成行号的方法.通常有三种方法,这里主要介绍其中的两种,另一种简单提一下. 1. 直接在LoadingRow事件 ...