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 ...
随机推荐
- Ruby Rose动态壁纸制作记录
为Wallpaper Engine做的动态壁纸,使用Unity制作,在这里记录一下制作过程和一些遇到的坑,以后有了github账号再搬到那边去. 最后大概要做出这样的效果,截图来自RWBY " ...
- 移动端touch事件实现页面弹动--小插件
动手之前的打盹 说实话真的是好久没有更新博客了,最近一直赶项目,身心疲惫:最关键的是晚上还要回去上一波王者,实在是忙啊! 这周下来,清闲了些许,或许是因为要到国庆的缘故吧,大家都显得无精打采.俗话说的 ...
- 关于String的对象创建
1)String String是Java中的字符串类,属于引用数据类型.所以String的对象存放的是引用的地址.在底层是一个字符型数组. String是不可变的.所谓的不可变是指一个对象有了一个引用 ...
- HIT 1917 Peaceful Commission
这道题题意就是给你n对人,一对中编号为x,x+1,给你m对矛盾,表示这两个人不能同时选. 然后就是Two-Sat的模板题了,就是根据对称性,连边,加缩点,最后拓扑排序,求出一组可行解就可以了. #in ...
- cnpm的全局安装
npm install -g cnpm --registry=https://registry.npm.taobao.org
- Ionic3学习笔记(五)动画之使用 animate.css
本文为原创文章,转载请标明出处 目录 前言 animate.css 的使用 animate.scss 的使用 1. 前言 animate.css 是一款强大的.跨浏览器的预设CSS3动画库,内置了很多 ...
- 使用wsimport和JAX-WS调用Web Service接口
本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...
- pb9常见错误及含义
1. by zero 发生被0除错误 2. Null object reference 空对象引用 3. Array boundary exceeded 数组越界 4. Enumerated v ...
- Echarts数据可视化series-radar雷达图,开发全解+完美注释
全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...
- 媲美jQuery的JS框架——AngularJS(一)
前言 相信原生JS大家都不陌生,至于为什么说原生,是因为在JS的基础上衍生出了很多的框架.有些框架的使用非常广泛,甚至已经达到了媲美原生的地步.在之前的文章中给大家介绍了jQuery这一介绍框架.今天 ...