蓝桥杯2021届C++B组省赛真题 杨辉三角形
分析:
1. 首先他要我们找第一次出现N的位置,我们可以发现杨辉三角是两边完全对称的,在右边出现的在左边一定先出现过,所以N只可能出现在左半边,我们将右半边删去
2. 这道题的数据规模特别大,那么我们是不是到某一行就可以停止搜索?
根据上图我们可以发现,在对称线上的数都有一个规律,他们都等于
由 = 可得,,所以我们可以用计算器算一下,
,所以我们只需要在0~16行内搜索即可
3. 由杨辉三角的一个性质:
我们发现,在杨辉三角上的每一个数都满足:N = (i是行号,j是列号);例:第0行第0列=,第3行第1列=
第i行第j列对应着一维数组的是:
所以我们的目的就变成了找 i , j
由上图我们还可以发现:
因为每一斜行都是单调递增的关系,所以可以用二分搜索可以节约大量时间
二分搜索行区间:
left = 2*i(这里的i对应着横着看的第i行),right = INF
代码:
#include<iostream>
#include<cmath>
using namespace std;
const long long INF = 1e9;
long long N;
long long C(int a,int b){long long x = 1,y = 1;for(int i = a,j = b;j >= 1;i--,j--){x *= i;y *= j;if(x/y > N){//如果在这过程中已经大于N了,就没必要再继续了return x/y;}}return x/y;
}
int main(){cin >> N;bool flag = false;for(int i = 16;i >= 0;i--){//只需遍历0~16行即可 long long l = 2*i,r = INF,mid;while(l <= r){mid = (l+r)/2;long long k = C(mid,i);if(k == N){flag = true;break;}else if(k < N){l = mid + 1;}else{r = mid - 1;}}if(flag){//找到N,打印并跳出循环cout << (mid+1)*mid/2 + i + 1;break;}}return 0;
}
蓝桥杯2021届C++B组省赛真题 杨辉三角形相关推荐
- 蓝桥杯2016届C++B组省赛真题 最大比例
题目: X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数. 并且,相邻的两个级别间的比例是个固定值. 也就是说:所有级别的奖金数构成了一个等比数列.比如: 16,24,36,54 其等比值为 ...
- 蓝桥杯2019届C++B组省赛真题 等差数列
题目: 数学老师给小明出了一道等差数列求和的题目.但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数. 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项? 输入格式 输 ...
- 蓝桥杯2015届C++B组省赛真题 三羊献瑞
题目: 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看[图1.jpg]) 其中,相同的汉字代表相同的数 ...
- 蓝桥杯 笔记整理【JavaB组省赛真题、约数、全排列模板、排列组合、等差等比求和公式、eclipse快捷键、集合、快速求a^n、进制转换(Integer、BigInteger)、动态数组Vector】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 【蓝桥杯】Java开发A组省赛真题+详细解析
1. 世纪末的星期 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会- 有趣的是,任何一个世纪末的年份的12月31 ...
- 第十二届蓝桥杯2021年C++A组省赛题解
文章目录 注 考生须知 试题A:卡片 试题B:直线 题解 代码(set + map) 试题C:货物摆放 题解 代码 试题D:路径 题解 代码 试题E:回路计数 题解 代码 试题F:砝码称重 题解 代码 ...
- 【蓝桥杯Web】第十三届蓝桥杯(Web 应用开发)省赛真题
前言 第十三届蓝桥杯全国软件和信息技术专业人才大赛(软件类)新开了Web应用开发比赛,本文介绍第十三届蓝桥杯Web应用开发的省赛题目以及解析. 文章目录 前言 一.水果拼盘 二.展开你的扇子 三.和手 ...
- 【蓝桥杯】 《3W字数总结》 蓝桥杯Java必备基础知识以及国赛真题解析
本文会持续更新,如果对您有帮助的话可以点点关注,双击 本人2021年蓝桥杯C++B组国二,今年转战Java,并整理此文,希望能够对大家有所帮助,第一次写这么长的文章,可能有的地方写的不是很好,还请大家 ...
- 蓝桥杯2021年第十二届省赛-杨辉三角形
蓝桥杯2021年第十二届省赛真题-杨辉三角形 - C语言网 (dotcpp.com)https://www.dotcpp.com/oj/problem2610.html 参考: 2021第十二届蓝桥杯 ...
最新文章
- OpenCV-裁剪图片
- c++ 截取\r\n问题
- GDCM:gdcm::EnumeratedValues的测试程序
- 更改tomcat的request编码方式
- Abp CLI 上线
- 小红书8月2日正式推行“号店一体”机制 月销万元以下商家免收佣金
- zabbix-自定义监控项
- stm32的串口DMA空闲中断接收不等长数据,stm32F4的usart2-DMA-IDLE收发
- 搜索引擎优化的用乐云seo_搜索引擎优化SEO
- 持续集成环境(Hudson)搭建
- 惠普打印机驱动服务器系统安装教程,最简单的安装惠普1020打印机驱动的方法...
- 计算机怎么关闭u盘系统还原,电脑系统还原错误怎么办
- amoeba mysql下载_amoeba for mysql
- win7 linux 虚拟机共享文件夹,Win7主机和虚拟机Linux Virtualbox共享文件夹设置教程...
- 计算机网申兴趣爱好怎么写,网申简历中的特长爱好到底怎么写
- 离线编译安装lrzsz
- 浅谈人脸识别在公共安全领域的应用
- Linux 用ssh远程登录及scp传输文件
- 财务软件哪个好?便宜好用的财务软件有哪些?
- Schnorr技术详解
热门文章
- 超级电容器用石墨烯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- photoshop输出html网页方法
- 李航《统计学习方法》公式推导
- 【190115】VC++ 视频聊天系统源代码
- python中文乱码-ValueError: Key axes.unicode_minus: Could not convert “flase“ to bool错误的解决方法
- STM32仿真模拟LED灯
- el-select使用filterable右侧箭头消失
- igrimace V8 支持8系统越狱设备 一键新机 苹果伪造工具
- Linux网络遭到攻击后是如何实现封禁IP的
- Git分支的意义和使用方法