2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
来源:互联网 发布:linux 监听udp端口 编辑:程序博客网 时间:2024/06/06 14:23
转载地址:2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
题意
给定
此外,这
1.
2.
玄学?非也
比赛时破罐子破摔直接判断
结论
这道题中的数能组成的数构成了一个连续区间.
证明
关注一下上面的两个条件,由条件
不妨设处理到第 i 个元素结束时可以连续取到的范围为
1. 假设第
则根据条件
又
原范围
2. 假设第
与上同理
3. 假设第
则根据条件
由数学归纳法得:这道题中的数能组成的数构成了一个连续区间.
所以上面的玄学做法(大雾)就是有理有据的了
下面几个AC代码,那个看懂看哪个
#include <queue>#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string>#include <string.h>#include <vector>#include <map>#include <assert.h>#include <algorithm>using namespace std;#define debug printf("%s %d\n", __FUNCTION__, __LINE__)const int maxn = 1e3 + 10;int a[maxn];char b[maxn];int main(int argc, char **argv) { ios_base::sync_with_stdio(false); int cases; cin >> cases; while (cases--) { int n; long long k; cin >> n >> k; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i]; assert(a[1] == 1); assert(b[1] == 'N'); long long uplimit = 1, downlimit = -1; long long exactlimit = 1; for (int i = 2; i <= n; i++) { //cout << i << ' ' << a[i] << ' ' << b[i] << endl; //cout << uplimit << ' ' << downlimit << endl; assert(a[i] >= 0 && a[i] <= 1000); if (b[i] == 'N') { assert(a[i] <= exactlimit); uplimit += a[i], downlimit -= a[i]; exactlimit += a[i]; } if (b[i] == 'L') { assert(a[i] <= uplimit); uplimit += a[i]; } if (b[i] == 'D') { assert(a[i] <= -downlimit); downlimit -= a[i]; } } if (k >= downlimit && k <= uplimit) printf("yes\n"); else printf("no\n"); } return 0;}这个代码感觉后面判断K的时候可以写的简单点的
#include <iostream>using namespace std;const int MAXN = 1111;int n, k;int A[MAXN];int main(){ int T; scanf("%d", &T); while (T--) { scanf("%d%d", &n, &k); int tmp1 = 0, tmp2 = 0; for (int i = 1; i <= n; i++) { scanf("%d", &A[i]); } char ch; for (int i = 1; i <= n; i++) { scanf("%c%c", &ch, &ch); if (ch == 'N') { tmp1 += A[i]; tmp2 -= A[i]; } else if (ch == 'L') { tmp1 += A[i]; } else { tmp2 -= A[i]; } } if (k > 0) { if (tmp1 >= k) { printf("yes\n"); } else { printf("no\n"); } } else if (k < 0) { if (tmp2 <= k) { printf("yes\n"); } else { printf("no\n"); } } else { printf("yes\n"); } } return 0;}
阅读全文
0 0
- 2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
- 2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
- HDU 6140 Hybrid Crystals
- hdu 6140 Hybrid Crystals
- hdu-6140Hybrid 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【思维】
- Hybrid Crystals(HDU 6140)
- HDU 6140 Hybrid Crystals【思维】
- 2017 HDU 6140 多校联合赛 Hybrid Crystals
- HDU-2017 多校训练赛8-1008-Hybrid Crystals
- 2017多校联合第8场1008/hdu 6140Hybrid Crystals(思维)
- HDU 2017 多校联合训练赛8 1008 6140 Hybrid Crystals
- 梦想是什么
- SQL学习笔记--组函数
- JS脚本文件的位置对页面加载性能影响以及无阻塞脚本(javascript)模式
- QT中的namespace Ui的理解
- 调用微信上传手机图片接口
- 2017多校八 1008题 hdu 6140 Hybrid Crystals 推理
- 多条目
- restrest服务
- CSS中有关水平居中和垂直居中的解决办法
- c++ sort函数的使用
- 小赚一笔的薅羊毛项目,日撸100¥
- JLink v8固件丢失修复教程
- 深度解析正则表达式exec和match两者使用的异同以及要注意的地方
- elasticsearch5.x之Slice scroll