分析:

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组省赛真题 杨辉三角形相关推荐

  1. 蓝桥杯2016届C++B组省赛真题 最大比例

    题目: X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数. 并且,相邻的两个级别间的比例是个固定值. 也就是说:所有级别的奖金数构成了一个等比数列.比如: 16,24,36,54 其等比值为 ...

  2. 蓝桥杯2019届C++B组省赛真题 等差数列

    题目: 数学老师给小明出了一道等差数列求和的题目.但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数. 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项? 输入格式 输 ...

  3. 蓝桥杯2015届C++B组省赛真题 三羊献瑞

    题目: 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞 ------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看[图1.jpg]) 其中,相同的汉字代表相同的数 ...

  4. 蓝桥杯 笔记整理【JavaB组省赛真题、约数、全排列模板、排列组合、等差等比求和公式、eclipse快捷键、集合、快速求a^n、进制转换(Integer、BigInteger)、动态数组Vector】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  5. 【蓝桥杯】Java开发A组省赛真题+详细解析

    1. 世纪末的星期 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破.   还有人称今后的某个世纪末的12月31日,如果是星期一则会-   有趣的是,任何一个世纪末的年份的12月31 ...

  6. 第十二届蓝桥杯2021年C++A组省赛题解

    文章目录 注 考生须知 试题A:卡片 试题B:直线 题解 代码(set + map) 试题C:货物摆放 题解 代码 试题D:路径 题解 代码 试题E:回路计数 题解 代码 试题F:砝码称重 题解 代码 ...

  7. 【蓝桥杯Web】第十三届蓝桥杯(Web 应用开发)省赛真题

    前言 第十三届蓝桥杯全国软件和信息技术专业人才大赛(软件类)新开了Web应用开发比赛,本文介绍第十三届蓝桥杯Web应用开发的省赛题目以及解析. 文章目录 前言 一.水果拼盘 二.展开你的扇子 三.和手 ...

  8. 【蓝桥杯】 《3W字数总结》 蓝桥杯Java必备基础知识以及国赛真题解析

    本文会持续更新,如果对您有帮助的话可以点点关注,双击 本人2021年蓝桥杯C++B组国二,今年转战Java,并整理此文,希望能够对大家有所帮助,第一次写这么长的文章,可能有的地方写的不是很好,还请大家 ...

  9. 蓝桥杯2021年第十二届省赛-杨辉三角形

    蓝桥杯2021年第十二届省赛真题-杨辉三角形 - C语言网 (dotcpp.com)https://www.dotcpp.com/oj/problem2610.html 参考: 2021第十二届蓝桥杯 ...

最新文章

  1. OpenCV-裁剪图片
  2. c++ 截取\r\n问题
  3. GDCM:gdcm::EnumeratedValues的测试程序
  4. 更改tomcat的request编码方式
  5. Abp CLI 上线
  6. 小红书8月2日正式推行“号店一体”机制 月销万元以下商家免收佣金
  7. zabbix-自定义监控项
  8. stm32的串口DMA空闲中断接收不等长数据,stm32F4的usart2-DMA-IDLE收发
  9. 搜索引擎优化的用乐云seo_搜索引擎优化SEO
  10. 持续集成环境(Hudson)搭建
  11. 惠普打印机驱动服务器系统安装教程,最简单的安装惠普1020打印机驱动的方法...
  12. 计算机怎么关闭u盘系统还原,电脑系统还原错误怎么办
  13. amoeba mysql下载_amoeba for mysql
  14. win7 linux 虚拟机共享文件夹,Win7主机和虚拟机Linux Virtualbox共享文件夹设置教程...
  15. 计算机网申兴趣爱好怎么写,网申简历中的特长爱好到底怎么写
  16. 离线编译安装lrzsz
  17. 浅谈人脸识别在公共安全领域的应用
  18. Linux 用ssh远程登录及scp传输文件
  19. 财务软件哪个好?便宜好用的财务软件有哪些?
  20. Schnorr技术详解

热门文章

  1. 超级电容器用石墨烯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. photoshop输出html网页方法
  3. 李航《统计学习方法》公式推导
  4. 【190115】VC++ 视频聊天系统源代码
  5. python中文乱码-ValueError: Key axes.unicode_minus: Could not convert “flase“ to bool错误的解决方法
  6. STM32仿真模拟LED灯
  7. el-select使用filterable右侧箭头消失
  8. igrimace V8 支持8系统越狱设备 一键新机 苹果伪造工具
  9. Linux网络遭到攻击后是如何实现封禁IP的
  10. Git分支的意义和使用方法