2021蓝桥杯B组 第I题杨辉三角形

2023-05-16

第I题 杨辉三角形

题目大意:

解法一:(得20%)

思路:

当指考虑小范围的值时,我们可以直接根据杨辉三角形的规律:第i行第j列的值=第i-1行第j列的值+第i-1行第j-11列的值,来把前50个杨辉三角形的数存入数组中,最后通过一个循环来查找就可以得到20%的分数。

代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 10100;
LL dp[N][N];//用来存入杨辉三角形的每一个数
LL sk[N];//记入每个数是第几个数
int s = 1;
int n;
int main() {
    cin >> n;
    dp[0][0] = 1;
    for (int i = 1; i <= 50; i++) {
        for (int j = 1; j <= i; j++) {
            dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1];//杨辉三角形的规律
            sk[s++] = dp[i][j];
        }
    }
    for (int i = 1; i <= 10000; i++) {
        if (sk[i] == n) {//第一次相等即为该数第一次出现的位置
            cout << i;
            break;
        }
    }
    return 0;
}

解法二:(得全部分)

思路:

 对杨辉三角形进行仔细观察可知道,其中有很多数是重复的,因此我们只需要记录其有效部分。具体规律如下图所示:

还可以发现,对于同一行,列数越大对应的数值也越大。而且某一行的某一列的值为x,在列数不变的情况下,无论行数怎么变大都不会再出现比x小的数;同理再行数不变的情况下列数怎么变大也不会出现比x小的数。并且得知n小于等于10的0次方时,有效列数为0-16列。因此我们可以一列一列的考虑,由于随着行号的变大,数值时单调递增的,其知道了行号、列号对应的数值也就知道了,于是便可以二分行号,使用二分查找的方法来计算本题。

代码如下:

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
ll N;
ll C(int a, int b)//求第i行第j列的值
{
	ll res = 1;
	for (ll i = a, j = 1; j <= b; i--, j++)
	{
		res = res * i / j;
		if (res > N)//如果中间结果超过N就直接返回
			return res;
	}
	return res;
}
int main()
{
	cin >> N;
	for (int k = 16; k >= 0; k--)//一列一列的找
	{
		ll l = 2 * k, r = max(N, l), mid;
		while (l <= r) {//对第k列二分查找行
			mid = l + (r - l) / 2;//二分行
			ll CC = C(mid, k);
			if (CC == N)
				break;
			else if (CC > N)
				r = mid - 1;
			else
				l = mid + 1;
		}
		if (C(mid, k) == N)
		{//第mid行、第k列的数就是N
			cout << (mid + 1) * mid / 2 + k + 1 << endl;
			//杨辉三角形的行数符号公差为1的等差数列,故用等差数列求和公式
			//加上第几列再加上1(因为列从0开始)即可得出该数的位置
			break;
		}
	}
	return 0;
}

大数据201 liyang

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021蓝桥杯B组 第I题杨辉三角形 的相关文章

  • 2021 CondaHTTPError: HTTP 000 CONNECTION FAILED for url 的问题终极解决方案

    一 首先执行命令 xff0c 查看自己的镜像源 conda config show channels 二 可以首先删除已经存在的镜像源 xff08 注 xff1a 上述三个镜像源无需删除 xff01 xff01 xff01 xff09 xf
  • 2021-07-02随笔JAVA面试题

    List和Set的区别 List和Set都是接口 他们各自有自己的实现类 有无顺序的实现类 也有有顺序的实现类 最大的不同就是List是可以重复的 而Set是不能重复的 List适合经常追加数据 插入 删除数据 但随即取数效率比较低 Set
  • 2021-09-08

    工业相机精度调研 本文主要总结工业相机中面阵和线阵相机的精度调研 面阵相机 xff1a 检测场景 xff1a 常用的高精度为3 45微米相元相机 xff0c 常规可搭配0 5 xff0c 1 xff0c 2 xff0c 4倍远心镜头 在4倍
  • FreeRTOS源码学习_01-任务调度器-2021-10-28

    FreeRTOS源码学习 01 任务调度器 一 写在前面二 源码分析1 开始任务调度 xff1a void vTaskStartScheduler 2 创建软件定时器任务 xff1a 3 检查链表队列是否有效 xff1a prvCheckF
  • Java面试复习体系总结(2021版,持续更新)

    Java面试复习体系总结 xff08 2021版 xff09 感谢各位点赞 xff0c 收藏 xff0c 关注 xff01 文章会持续更新 xff0c 继续输出更多优质内容 xff0c 希望各位都能拿到好的offer 如果在准备算法题的话
  • 2021-08-29 SONiC中基于策略的哈希配置

    SONiC中基于策略的哈希配置 SONiC可以支持对不同类型的报文采取不同的Hash算法 对于多通道 多链路连接的情况 xff0c 如LAG和ECMP的接口上 xff0c 交换机和路由器采用Hash算法对报文中指定的字段进行Hash计算 x
  • uC/OS-III源码下载(版本2009-2021)

    uC OS III源码下载 xff08 新版网站 xff09 下载方式一 官网 xff08 即GitHub方式 xff09 二 CSDN 下载方式 一 官网 xff08 即GitHub方式 xff09 链接 uCOS3官网 点击CODEBA
  • Redis面试题(2021最新)

    文章目录 概述什么是RedisRedis有哪些优缺点为什么要用 Redis 为什么要用缓存 为什么要用 Redis 而不用 map guava 做缓存 Redis为什么这么快 数据类型Redis有哪些数据类型Redis的应用场景 持久化什么
  • 2021电赛F题之openmv巡线(附代码)

    效果展示 xff1a 出错解决方法 openmv数字识别源代码 gitee 通过使用不同阈值的方法可以得到当前区域中什么区域有红线 xff0c 对于电控而言作用类似于红外对管 xff0c 之后电控通过逻辑判断如何运动 xff0c 这就是我们
  • 【2021年8月】解决 rosdep update超时问题

    修改两个文件即可快速解决超时问题 1 修改 etc ros rosdep sources list d 20 default list 执行sudo gedit etc ros rosdep sources list d 20 defaul
  • 2021论文解读:Learning To Count Everything

    此文着眼于仅用少量标注样本完成物体计数的任务 1 研究近况 1 1 小样本 当前的小样本学习研究主要集中在分类任务上 xff0c 例如图片 xff08 物体 xff09 分类 文本分类 较少触及检测 分割等任务的 xff0c 因为小样本学习
  • 2021互联网大厂职级对应薪资一览表

    原文连接 xff1a https mp weixin qq com s nYNZjJJzrO0Sc5h2AEPnaQ 互联网大厂新入职员工各职级薪资对应表 xff08 技术线 xff09 图片数据来源 xff1a 知乎加 上面的表格不排除有
  • 2021-03-16

    hullib Rtc 获取时间之后必须获取日期他才会有时间 HAL RTC GetTime amp hrtc amp sTime RTC FORMAT BIN HAL RTC GetDate amp hrtc amp sDate RTC F
  • Daily practice——2021/1/31

    1 函数若无返回值 则它一定无形参 请问这个说法是正确的吗 xff1f 答 xff1a 这个说法不正确 一个函数可以有参数 xff0c 没有返回值 xff1b 可以没有参数 xff0c 有返回值 xff1b 可以没参数 xff0c 没返回值
  • 个人简历2021

    标题 个人简历 日期 2021 09 27 23 42 57 标签 简历 分类 工作 职业发展 说下我的个人简历吧 xff0c 希望大家能够了解我 xff0c 一起在技术这条路上一直走下去 个人信息 姓名性别年龄现居地址邮箱陈作立男29上海
  • 【AI视野·今日CV 计算机视觉论文速览 第225期】Wed, 23 Jun 2021

    AI视野 今日CS CV 计算机视觉论文速览 Wed 23 Jun 2021 Totally 73 papers x1f449 上期速览 更多精彩请移步主页 Daily Computer Vision Papers Tracking Ins
  • 2021数学建模E题

    E 题 中药材的鉴别 不同中药材表现的光谱特征差异较大 xff0c 即使来自不同产地的同一药材 xff0c 因其无机元素的化学成分 有机物等存在的差异性 xff0c 在近红外 中红外光谱的照射下也会表现出不同的光谱特征 xff0c 因此可以
  • 2021-05-14 Redis面试题 redis 部署生产环境

    redis 部署生产环境 redis cluster xff0c 10 台机器 xff0c 5 台机器部署了 redis 主实例 xff0c 另外 5 台机器部署了 redis 的从实例 xff0c 每个主实例挂了一个从实例 xff0c 5
  • 2021-08-31

    二次规划求解器OOQP的基础使用 前言一 OOQP所包含参数的定义二 简单调用1 头文件2 参数设置3 进行求解4 取出计算结果 总结 前言 OOQP作为一款强大的开源凸优化库 支持C 43 43 Matlab调用 现在这里记录下其简单的使
  • 2021-07-22

    MSP432在keil中通过CMSIS DAP下载程序出现cannot enter debug mode的解决办法 xff1a MSP432下载程序出现cannot enter debug mode 可以通过修改如下设置 Debug里面的两

随机推荐

  • Hive 报错 Invalid column reference 列名

    两张表 当我执行 select m movieid m moviename substr m moviename 5 4 as years avg r rate as avgScore FROM t movie as m join t ra
  • 20数学建模C-中小微企业的信贷决策

    前言 源码文末获取 小编在 9 月份参加了今年的数学建模 xff0c 成绩怎么样不知道 xff0c 能有个成功参与奖就不错了哈哈 最近整理了一下 xff0c 写下这篇文章分享小编的思路 能力知识水平有限 xff0c 欢迎各位大佬前来指教 o
  • playwright 爬虫使用

    官方文档 xff1a Getting started Playwright Python 参考链接 xff1a 强大易用 xff01 新一代爬虫利器 Playwright 的介绍 目录 安装 基本使用 代码生成 AJAX 动态加载数据获取
  • kmeans聚类选择最优K值python实现

    来源 xff1a https www omegaxyz com 2018 09 03 k means find k 下面利用python中sklearn模块进行数据聚类的K值选择 数据集自制数据集 xff0c 格式如下 xff1a 维度为3
  • mysql构造页损坏

    构造页损坏 及修复方式可参考 gg gMysql页面crash问题复现 amp 恢复方法 阿里云开发者社区 也可通过 dd 命令进行构造 dd xff0c 命令参考 xff1a Linux dd 命令 菜鸟教程
  • mysql审计日志过滤sql功能

    审计日志功能是一个插件 xff0c 需要先安装插件才可以使用 过滤 sql 语句 xff0c 可以通过插件内核参数 audit log include commands 与 audit log exclude commands 参数设置 x
  • setDaemon python守护进程,队列通信子线程

    使用setDaemon 和守护线程这方面知识有关 xff0c 比如在启动线程前设置thread setDaemon True xff0c 就是设置该线程为守护线程 xff0c 表示该线程是不重要的 进程退出时不需要等待这个线程执行完成 这样
  • 中文与 \u5927\u732a\u8e44\u5b50 这一类编码互转

    了解更多关注微信公众号 木下学Python 吧 a 61 39 大猪蹄子 39 a 61 a encode 39 unicode escape 39 print a 运行结果 xff1a b 39 u5927 u732a u8e44 u5b
  • python字典删除键值对

    https blog csdn net uuihoo article details 79496440
  • 计算机网络(4)传输层

    目录 小知识点 xff1a 三次握手 xff1a 状态 xff1a tcpdump xff1a 一 xff1a 命令介绍 xff1a 二 xff1a 命令选项 xff1a tcpdump的表达式 xff1a 使用python扫描LAN工具
  • MSE 治理中心重磅升级-流量治理、数据库治理、同 AZ 优先

    作者 xff1a 流士 本次 MSE 治理中心在限流降级 数据库治理及同 AZ 优先方面进行了重磅升级 xff0c 对微服务治理的弹性 依赖中间件的稳定性及流量调度的性能进行全面增强 xff0c 致力于打造云原生时代的微服务治理平台 前情回
  • TF多层 LSTM 以及 State 之间的融合

    第一是实现多层的LSTM的网络 第二是实现两个LSTM的state的concat操作 分析 state 的结构 对于第一个问题 之前一直没有注意过 看下面两个例子 在这里插入代码片 import tensorflow as tf num u
  • 实例讲解PMP相关方参与度评估矩阵

    在规划相关方参与计划过程中 xff0c 会用到相关方参与度评估矩阵 如下图所示 在上图中 xff0c C 代表每个相关方的当前参与水平 xff0c D 是项目团队评估出来的 为确保项目成功所必不可少的参与水平 xff08 期望的 xff09
  • 在Mac OS中安装 wget

    先从Apple Store下载Xcode xff0c 然后安装Xcode 接着安装Homebrew包管理 xff0c 类似于Ubuntu下的apt get xff0c 终端下输入 xff1a ruby span class hljs ope
  • 前端与产品经理配合

    产品经理PM职业介绍 如何构建原型图 axure软件
  • C++ 重载运算符

    C 43 43 重载运算符号 本文针对结构体重载运算符号进行讲解 其实这是一个困扰我蛮久的问题 xff0c 就是结构体如何使用sort函数进行排序 xff0c 去网上找了很多 xff0c 满多都是关于类的 xff0c 虽然类跟结构体只有访问
  • &运算符的用法

    按位与运算符 34 amp 34 是双目运算符是参与运算的两数各对应的二进位相与 按位与 34 amp 34 功能是参与运算的两数各对应的二进位相与 只有对应的两个二进位均为1时 xff0c 结果位才为1 xff0c 否则为0 参与运算的数
  • 火柴棒游戏(暴力枚举)C++

    暴力枚举 P1149 NOIP2008 提高组 火柴棒等式 题目描述 xff1a 给你n根火柴棍 xff0c 你可以拼出多少个形如 A 43 B 61 CA 43 B 61 C 的等式 xff1f 等式中的AA BB CC是用火柴棍拼出的整
  • 2021蓝桥杯B组 G题砝码称重

    题目大意 xff1a 解法一 xff1a 首先想到的是可以用广度优先搜索的方式来进行暴力求解 xff0c 通过使用递归来将每一种方法遍历 xff0c 并且标记 xff0c 不过由于此方法的时间复杂度是O n3 故使用暴力搜索只能完成50 的
  • 2021蓝桥杯B组 第I题杨辉三角形

    第I题 杨辉三角形 题目大意 xff1a 解法一 xff1a xff08 得20 xff09 思路 xff1a 当指考虑小范围的值时 xff0c 我们可以直接根据杨辉三角形的规律 xff1a 第i行第j列的值 61 第i 1行第j列的值 4