蓝桥杯杨辉三角

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;
}

相关推荐
Nil20815 小时前
leetcode 198打家劫舍
算法·leetcode·职场和发展
熊猫钓鱼>_>20 小时前
面试出现 606 次的第 K 大,被拆成三个问题问
算法·面试·职场和发展·校招·面经·oj·ai生成
职业信用与履历核验知识库21 小时前
职业画像的数据质量与缺失值处理可靠吗?来源、验证与纠错方法
职场和发展
考研保研资料分享1 天前
北大软微软件工程保研经验:哈工大面试追问与补录风险取舍
面试·职场和发展·软件工程
yuanxi2001 天前
长鑫科技4F架构突破:技术节点如何改写客户价值判断
职场和发展·创业创新·学习方法
java_nnnn1 天前
LeetCode刷题滑动窗口(长度最小的子数组)
算法·leetcode·职场和发展
救救孩子把1 天前
AI面试八股文-01_1-LLM基础概念(Token-上下文窗口-幻觉)
人工智能·面试·职场和发展·llm·token
Nil2081 天前
leetcode 763划分字母区间
算法·leetcode·职场和发展
不会就选b1 天前
算法日常・每日刷题--<动态规划>19
算法·leetcode·职场和发展
考研保研资料分享1 天前
新闻传播保研经验:中传预推免面试、广告学代表作与实习准备(2025)
面试·职场和发展