2020年浙江理工大学新生赛 C Cly的三角形
Description
Cly很喜欢三角形,有一天他遇到了一道和三角形有关的题,但是这道题他简单了,他懒得做,于是交给了你。
给定一个数组,每次询问一个子区间,如果能从这个子区间挑出三个数组成三角形输出clynb
,否者输出clycdd
。
Input
第一行给出数组大小n
,查询次数q
(1<=n,q<=1e5
)
接下来一行输入n
个数,表示a[i]
(1<=a[i]<=1e9
)
接下来q
行,每行输入两个数l,r
,代表一个子区间 (1<=l,r<=n
)
Output
对于每个询问输出clynb
或者clycdd
Sample Input
5 3
2 1 4 3 5
1 2
1 3
3 5
Sample Output
clycdd
clycdd
clynb
题目分析:
首先尝试构造不能组成三角形的序列
由于数据有规模限制,我们要使序列中的数尽可能小,又恰好不能组成三角形
不难发现,序列是
1,1,2,3,5,8,13......
即斐波那契数列
由于a[i]<=1e9
,我们计算恰好小于等于1e9的斐波那契数是第44
项
long long a[100];a[1]=1;a[2]=1;for(int i=3;i<99;i++){a[i]=a[i-1]+a[i-2];if(a[i]>1e9){cout<<i-1;//输出的是44 break;}}
因而
长度超过 44 的区间必然可以组成三角形
所以只需要对长度超过 44
的区间暴力判断是否能组成三角形
由于
排序后的序列,相邻的 3 项最可能组成三角形
所以
只需要对选中的区间排序,然后对相邻3
项判断即可
下面给出代码
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;int main(){int n,q;cin>>n>>q;long long a[100010],b[100];for(int i=0;i<n;i++)cin>>a[i];int l,r;for(int i=0;i<q;i++){scanf("%d%d",&l,&r);l--;r--;if(r-l>50) printf("clynb\n");//这里稍微写大一点也可以else if(r-l==1 or l==r) printf("clycdd\n");else{int cnt=0;for(int j=l;j<=r;j++)b[cnt++]=a[j];sort(b,b+cnt);bool flag=false;for(int j=0;j<cnt-2;j++){if(b[j]+b[j+1]>b[j+2]){flag=!flag;break;}}if(flag) printf("clynb\n");else printf("clycdd\n");} }return 0;
}
2020年浙江理工大学新生赛 C Cly的三角形相关推荐
- 2020年浙江理工大学新生赛 B Cly的博弈
注意:本文的代码可以AC,但解释可能有误,思路仅供参考 Description Cly很喜欢博弈,这天他和他的分身DD_BOND玩起了一个博弈游戏(本体当然是先手了),游戏规则如下,请你判断谁能赢得游 ...
- 2020年浙江理工大学新生赛 D DD_BOND看到的hcy
签到题 Description 一般来说,从这个角度来看,问题的关键究竟为何?这样看来,我认为,一般来说, 要想清楚,hcy到底是一种怎么样的存在.经过上述讨论,经过上述讨论,带着这些问题,我们来审视 ...
- 2020年浙江理工大学新生赛 E DD_BOND买赛博朋克2077
注意:本文还处于 EA 阶段,亟待修正和完善 最后一次更新时间:2021/11/10 20:55 注意:本文的代码可以AC,但解释可能有误,思路仅供参考 动态规划+线段树 参考: https://bl ...
- 2021浙江理工大学新生赛被毒打记录
Problem A: nudun故事集之ATM出的线段树 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 367 Solved: 16 Descrip ...
- 2021年浙江理工大学新生赛同步赛
Problem K: nudun故事集之约会 Description 题目背景 时隔多年,赚了不少达不溜的zmw想要来一场甜甜的恋爱,于是乎他找到了万能的nudun.在情场高手mk23ez66的介绍下 ...
- 2017哈尔滨理工大学新生赛
A: 仔细读题ORZ A.涂山红十字会 Time Limit: 1000 MS Memory Limit: 256000 K Total Submit: 1121 (338 users) Total ...
- 2020年浙江理工大学计算机考研经验分享
首先,作为一名二本高校的学生,通常在考试准备中或多或少的存在一些自卑感,不敢大胆选择自己心仪的学校,因为毕竟考试只是一部分,后面还有面试选导师等各种乱七八糟的一系列事情等着你们(往往这些环节刷掉了一部 ...
- [SUCTF2018]babyre [ACTF新生赛2020]fungame
文章目录 [SUCTF2018]babyre 惯用思维 常人思维 GAMEOVER [ACTF新生赛2020]fungame int __cdecl sub_401340(int a1) int __ ...
- BUU [ACTF新生赛2020]Universe_final_answer
[ACTF新生赛2020]Universe_final_answer 首先查壳, 64bit 无壳 ida64位打开 main() __int64 __fastcall main(int a1, ch ...
最新文章
- [单选题]PHP函数,mail($param1, $param2, $param3),其中的$param2参数包含什么?
- Python 可变数据类型和不可变数据类型 - Python零基础入门教程
- mysql中的lgwr_MySQL Replication和Oracle logical standby的原理对比
- 涨知识!Google 黑客常用搜索语句一览 | 原力计划
- 如何检测被锁住的Oracle存储过程及处理办法汇总(转)
- 11. 王道考研-二叉树的实现
- linux snap文件夹,在Linux下使用Snap安装Rambox的方法
- usb3.0速度测试软件,USB3.0芯片速度测试比较
- 模拟CMOS集成电路放大器总结(1)
- 动态规划矩阵连乘求最优值和最优解
- 在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!
- 推荐一个单干网赚好站!BUXJOB - 生活至上,美容至尚!
- 如何把流氓软件删除干净
- android 调用系统分享到微信,Android调用系统分享直接抵达微信
- bigemap 软件百度课程
- 韩顺平 java坦克大战_坦克大战完整版(韩顺平java)
- HP 认证工程师试题(转)
- 基于STM32单片机的智能书桌设计与实现
- nubia基于android深度定制的ui,基于安卓5.0,nubia UI 2.8抢鲜体验
- Windows Mobile 5.0 SDK 下载地址(转)
热门文章
- 什么是OpenID?OpenID概念、原理和案例
- LG G7解OP开Volte
- Oracle 常见错误总结及问题解决方法
- telnet协议的Wireshark抓包分析
- Luminati动态住宅IP使用教程_AdsPower防关联浏览器软件教程(二)
- 王者荣耀虚拟服务器设置方法,《王者荣耀》操作设置详解
- c++重写卷积网络的前向计算过程,复现theano的测试结果
- HSV颜色空间和RGB颜色空间相互转换C语言实现
- Anaconda环境变量配置
- [论文阅读] Curriculum Semi-supervised Segmentation