2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
2017-08-17 21:02
519 查看
题目链接
题意
给定 n (1≤n≤103) 个非负整数,有些系数为 1 ,有些为 −1,有些可为 1 可为 −1,要求选取其中的一个子集,使得和为 k (|k|≤106).此外,这 n 个数还满足一些特殊条件:
1. a1=1,其系数可正可负
2. ai≤∑j=1i−1aj[bj=N]+∑j=1i−1aj[bi=L∩bj=L]+∑j=1i−1aj[bi=D∩bj=D](2≤i≤n).
玄学?非也
比赛时破罐子破摔直接判断 k 在不在左右两个端点范围内,竟然就过了,然而这是为什么呢?结论
这道题中的数能组成的数构成了一个连续区间.证明
关注一下上面的两个条件,由条件 1,a[1] 结束后可以连续(即区间内每一个元素均可)取到的范围为 [−1,1].不妨设处理到第 i 个元素结束时可以连续取到的范围为 [Lo,Hi], 显然有 Lo=−(∑bj=N∩j≤iaj+∑bj=Daj),Hi=∑bj=N∩j≤iaj+∑bj=Laj.
1. 假设第 i+1个元素的属性为 L,
则根据条件 2, ai≤∑ij=1aj[bj=N]+∑ij=1aj[bj=L]=Hi,即 ai≤Hi,
又[0,Hi]+ai=[ai,Hi+ai],有ai≤Hi,故 [Hi,Hi+ai]⊆[ai,Hi+ai],
原范围 ∪ 新范围即为 [Lo,Hi]∪[Hi,Hi+ai]=[Lo,Hi+ai],且连续
2. 假设第 i+1个元素的属性为 D,
与上同理
3. 假设第 i+1个元素的属性为 N,
则根据条件 2, ai≤∑ij=1aj[bj=N]≤Hi,ai≤∑ij=1aj[bj=N]≤−Lo, 亦与上同理.
由数学归纳法得:这道题中的数能组成的数构成了一个连续区间.
所以上面的玄学做法(大雾)就是有理有据的了
Code
#include <bits/stdc++.h> #define maxn 1010 #define maxl 2000010 typedef long long LL; const LL mod = 1e9 + 7; inline int max(int a, int b) { return a > b ? a : b; } inline int min(int a, int b) { return a < b ? a : b; } int a[maxn], id[maxn]; char c; bool dp[maxl]; void work() { memset(dp, 0, sizeof(dp)); int n, k; scanf("%d%d", &n, &k); for (int i = 0; i < n; ++i) scanf("%d", &a[i]); scanf("\n%c", &c); int netu = a[0], nega = 0, posi = 0; for (int i = 1; i < n; ++i) { scanf(" %c", &c); if (c == 'L') posi += a[i]; else if (c == 'D') nega -= a[i]; else netu += a[i]; } int le = nega - netu, ri = posi + netu; if (k < le || k > ri) { printf("no\n"); return; } printf("yes\n"); } int main() { int T; scanf("%d", &T); while (T--) work(); return 0; }
相关文章推荐
- 2017多校联合第8场1008/hdu 6140Hybrid Crystals(思维)
- 2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
- HDU 2017 多校联合训练赛8 1008 6140 Hybrid Crystals
- HDU 6140 Hybrid Crystals
- HDU-2017 多校训练赛8-1008-Hybrid Crystals
- hdu 6140 Hybrid Crystals(贪心)
- HDU 6140 Hybrid Crystals【题意】【思维】
- HDU 6140 Hybrid Crystals
- HDU 6140 Hybrid Crystals(坑题+水题)
- HDU 6140 Hybrid Crystals(搞事情题)
- hdu 6140 Hybrid Crystals
- HDU 6140 Hybrid Crystals (玄学背包)
- HDU 6140 Hybrid Crystals (2017 Multi-Univ Training Contest 8)
- HDU 6140 Hybrid Crystals (玄学背包)
- HDU 6140 Hybrid Crystals
- HDU - 6140 Hybrid Crystals(思维)
- HDU 6140 Hybrid Crystals【思维】
- hdu 6140 Hybrid Crystals 阅读题 OR bitset 优化01背包
- HDU 6140 17多校8 Hybrid Crystals(思维题)
- HDU 6140 Hybrid Crystals【阅读题】【水题】