蓝桥杯杨辉三角

PREV-282 杨辉三角形【第十二届】【蓝桥杯省赛】【B组】

(二分查找 + 递推):

解析:

1.杨辉三角具有对称性:

2.杨辉三角具有一定规律

通过观察发现,第一次出现的地方一定在左部靠右的位置,所以从后往前进行查找

代码:

cpp 复制代码
#include <iostream>
#include <algorithm>

using namespace std;

typedef long long LL;
LL n;
LL C(int a, int b)
{
	LL res = 1;
	for (int i = 1, j = a; i <= b; i ++, j --)
	{
		 res = res * j / i;
		 if (res > n)
			return res;
	}
	return res;
}

//检查第k斜行
bool check(int k)
{
	LL l = 2 * k, r = max(n, l);
	while (l < r)
	{
		LL mid = (l + r) / 2;
	  	if (C(mid, k) >= n) r = mid;
	  	else l = mid + 1;
	} 
	if (C(l, k) != n) return false;
	else
	{
		//k是行数
		LL res = (l + 1) * l / 2 + k + 1;
		printf("%lld\n", res);
		return true;
	}
}
int main()
{
	cin >> n;
	for (int i = 16;; i --)
		if (check(i))
			break;
			
	return 0;
}

相关推荐
Frostnova丶11 小时前
(12)LeetCode 76. 最小覆盖子串
算法·leetcode·职场和发展
旧曲重听112 小时前
为什么现在 RAG 越少越少提及了
数据库·程序人生·职场和发展·agent
凯瑟琳.奥古斯特13 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
变量未定义~13 小时前
单调栈、单调队列(模板)、子矩阵(模板)
数据结构·算法·蓝桥杯
凯瑟琳.奥古斯特14 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展
June bug17 小时前
【199管理类联考】写作(第一轮复习)
考研·职场和发展·学习方法
大江东去浪淘尽千古风流人物18 小时前
【SLAM】slam高动态位姿估计全链路拆解
算法·面试·职场和发展·视觉里程计·slam·vio·大疆
咖啡星人k1 天前
从Vibe Coding到Prompt Engineering:AI编程的新技能树
面试·职场和发展·ai编程
学iOS很快乐1 天前
Pinterest Staff SDE 五轮面试全过,加拿大 TC 500K CAD,附 OA 真题和每轮考点
面试·职场和发展
Purple Coder2 天前
基于电机控制的MatlabSenier模型
职场和发展