hdu 6140 思维
题解:这道题中的数能组成的数构成了一个连续区间.
一开始只有 a1 的时候能够构成 [-1, 1][−1,1] 中的所有整数.
如果一堆数能够构成 [-a, b][−a,b] 中的所有整数, 这时候来了一个数 x. 如果 x 只能取正值的话, 如果有 x<b 那么就能够构成 [-a, b+x][−a,b+x] 的所有整数.
如果 x 只能取负值, 如果有 x<|a| 那么就能构成 [-a-x, b][−a−x,b] 的所有整数.
如果 x 可正可负, 如果有 x<min(|a|,b) 那么就能构成 [-a-x, b+x][−a−x,b+x] 中的所有整数.
然后题目中那个奇怪的不等式就保证了上面的"如果有"的条件.
比赛的时候就想到了可正可负的情况,然后一直卡,弱的一批/
ac代码:
- #include <cstdio>
- #include <iostream>
- #include <cstring>
- #include <string>
- using namespace std;
- int a[];
- int flag[];
- int main()
- {
- int t;
- scanf("%d",&t);
- while(t--)
- {
- int n,k;
- scanf("%d %d",&n,&k);
- for(int i=;i<=n;i++) scanf("%d",&a[i]);
- for(int i=;i<=n;i++)
- {
- string s;
- cin>>s;
- if(s[]=='N') flag[i]=;
- else if(s[]=='L') flag[i]=;
- else flag[i]=-;
- }
- int l=-;
- int r=;
- for(int i=;i<=n;i++)
- {
- if(flag[i]==)
- {
- l-=a[i];
- r+=a[i];
- }
- else if(flag[i]==) r+=a[i];
- else l-=a[i];
- }
- if(k>=l && k<=r) cout<<"yes"<<endl;
- else cout<<"no"<<endl;
- }
- return ;
- }
hdu 6140 思维的更多相关文章
- HDU 6140 17多校8 Hybrid Crystals(思维题)
题目传送: Hybrid Crystals Problem Description > Kyber crystals, also called the living crystal or sim ...
- HDU 2588 思维 容斥
求满足$1<=X<=N ,(X,N)>=M$的个数,其中$N, M (2<=N<=1000000000, 1<=M<=N)$. 首先,假定$(x, n)=m$ ...
- HDU 1431 思维 基础数论
找范围内回文素数,最大到1e8,我就是要枚举回文串,再判素数,然后因为这种弱智思路死磕了很久题目. /** @Date : 2017-09-08 15:24:43 * @FileName: HDU 1 ...
- hdu 4883 思维题
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4883 TIANKENG’s restaurant Time Limit: 2000/1000 MS (Ja ...
- hdu 5014 思维题/推理
http://acm.hdu.edu.cn/showproblem.php?pid=5014 从小数開始模拟找方法规律,然后推广,尤其敢猜敢尝试,错了一种思路继续猜-----这是一种非常重要的方法啊 ...
- HDU 5933/思维
题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=5933]; 题意: 给出n堆物品,问能不能分成K个数量相等的堆,如果能分,则最少次数是多少.分的规则为: ...
- hdu 6153 思维+扩展kmp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6153 扩展kmp不理解的看下:http://www.cnblogs.com/z1141000271/p ...
- HDU 3461 思维+并查集
Code Lock 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3461 Problem Description A lock you use has ...
- hdu 6058 思维
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6058 分析题目的时候,由于枚举的区间很多,而第k大的值范围小,应该要想到去枚举第k大的值然后找到这个值对答 ...
随机推荐
- navicat连接远程数据库报错'client does not support authentication protocol requested by server consider ...'解决方案
[1.cmd终端连接远程mysql数据库方法] mysql -uhello -pworld -h192.168.1.88 -P3306 -Dmysql_oa mysql -u用户名 -p密码 -h ...
- How To Display Variable Value In View?
How To Display Variable Value In View? There are several ways. For example simply using @ like this: ...
- 如何规避同时使用v-if与v-for?
先将结果过滤,再用v-if循环 遇到问题:使用Vue -computed传参数不成功, 后来将参数放在compute里面方法名里再构造参数进行传递
- 文件上传使用FileUpload组件进行代码实现
使用FileUpload组件进行代码实现 实现步骤 1. 获取解析器工厂: DiskFileItemFactory 2. 获取解析器对象: ServletFileUpload 3. 解析request ...
- python中的tcp示例详解
python中的tcp示例详解 目录 TCP简介 TCP介绍 TCP特点 TCP与UDP的不同点 udp通信模型 tcp客户端 tcp服务器 tcp注意点 TCP简介 TCP介绍 TCP协议 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_13.RabbitMQ研究-工作模式-header和rpc工作模式
header模式 header模式与routing不同的地方在于,header模式取消routingkey,使用header中的 key/value(键值对)匹配 队列. 案例: 根据用户的通知设置去 ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_16-页面静态化-模板管理-模板制作
这是轮播图的原始文件 运行门户需要把 nginx启动起来 单独运行轮播图.把里面的css的引用都加上网址的url 这就是单独访问到的轮播图的效果 轮播图模板的地址: 阶段5 3.微服务项目[学成在线] ...
- PAT 甲级 1027 Colors in Mars (20 分)(简单,进制转换)
1027 Colors in Mars (20 分) People in Mars represent the colors in their computers in a similar way ...
- 使用STM32F103ZET霸道主板实现SD卡的读写(非文件系统)
了解STM32F103ZET是高容量多管脚的芯片 了解SD读写线路图 了解SD的基地址 阅读STM32F10xx英文参考 SDIO那章,我们编写代码边看文档解析 建工程,打开包含所有包括外设库函数的样 ...
- Ubuntu14.04中stopping log initial device creation错误或自动挂载错误失败(导致系统无法自动启动)
出现问题的原因: 图一 出现问题的界面: 图二 按esc,无作用. 图三 按esc,按i,依然无作用. 图四 解决方法: (1)按esc,i无用, 在图2按s成功到登陆界面. (2)桌面修改为dis ...