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 ...
随机推荐
- Tomcat配置用户名和密码
1.在浏览器输入http://localhost:8080/,打开Tomcat自带的默认主页面,右侧有"administration""documentation&quo ...
- PHP防SQL注入攻击
PHP防SQL注入攻击 收藏 没有太多的过滤,主要是针对php和mysql的组合. 一般性的防注入,只要使用php的 addslashes 函数就可以了. 以下是一段copy来的代码: PHP代码 $ ...
- localStorage和sessionStorage总结以及区别
(1)兼容的手机和浏览器: (2)使用 .setItem( key, value)存键值数据 sessionStorage.setItem("key","value&qu ...
- Struts201---环境搭配
开发工具:Eclipse Struts版本:2.3.24 最近在学SSH框架,SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架.集 ...
- 【框架学习与探究之消息队列--EasyNetQ(1)】
前言 本文欢迎转载,实属原创,本文原始链接地址:http://www.cnblogs.com/DjlNet/p/7603554.html 废话 既然都是废话了,所以大家就可以跳过了,这里是博主有事没事 ...
- js-异步机制与同步机制
Javascript的优势之一是其如何处理异步代码.异步代码会被放入一个事件队列,等到所有其他代码执行后才进行,而不会阻塞线程 1 理解异步代码: 1.1 JavaScript最基础的异步函数是set ...
- vue2购物车ch1-(安装依赖、简单配置、 axios获取api的模拟数据)
0--项目说明 说明此项目源自某课网购物车教程,但是在开发过程中,发现在开发过程中用的还是 vue-resource(宣布不更新的类$.ajx()插件),为了以后的发展使用axios.js,详情参考 ...
- http://zthdd.bokee.com/6189963.html
http://zthdd.bokee.com/6189963.html先保存
- javascript bom 编程
javascript bom 编程 BOM: 浏览器对象模型 DOM Window :窗口Window Document 属性: status :状态栏 self:自己 ...
- c# 【MVC】WebApi设置返回Json
public static HttpResponseMessage toJson(Object obj) { String str; if (obj is String || obj is Char) ...