首页 > 其他分享 >刷题 数论 组合数

刷题 数论 组合数

时间:2023-12-07 22:55:25浏览次数:25  
标签:20 组合 数论 小球 long int include 刷题

2023.12.7 cf 1907E

 

解题思路

首先明确,如果这三个数加起来发生了进位,那么必然不是好数(一个位换下一个位总和会有损失)

然后,结果n的每一位就可以拆成几个1,或者说几个小球,用两个隔板往小球的空隙插(注意因为0也有可能,所以小球两边也可插,可插空隙个数为num+2)

然后就可以直接组合数,每一位的结果相乘就是所有可能的种数

 

代码

注意一下组合数的预处理部分

组合数性质:Cmn=Cm-1n+Cm-1n-1

 

#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
int c[20][20];
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	for(int i=0;i<=15;i++)//预处理 i从0开始,注意一下
	{
		c[i][0]=1;
		for(int j=1;j<=i;j++)
		{
			c[i][j]=c[i-1][j]+c[i-1][j-1];//这个性质记一下
		}
	}
	int t;
	cin>>t;
	while(t--)
	{
		int n;
		cin>>n;
		if(!n)
		{
			cout<<1<<endl;
			continue;
		}
		ll ans=1;
		while(n)
		{
			int temp=n%10;
			ans*=c[temp+2][2];
			n/=10;
		}
		cout<<ans<<endl;
	}
	return 0;
}

标签:20,组合,数论,小球,long,int,include,刷题
From: https://www.cnblogs.com/modemingzi-csy/p/17884191.html

相关文章

  • 数论分块
    前言数论分块我实际上在2021年的暑假就已经接触过了,当时是当成了定理来记,所以现在忘得也差不多了。最近决定重温(从零开始重修)数论分块,利用坐地铁的时间看了几篇关于数论分块的博客文章(源自《洛谷日报》),感觉有些讲得不是非常详细,质量参差不齐。有些往往只放几个性质,然后将结论直......
  • 组合数comb
    递推法时间复杂度:O(n*m)constintN=2010;constintmod=1e9+7;llC[N][N];voidinit(){for(inti=0;i<N;i++)C[i][0]=1;for(inti=1;i<N;i++) for(intj=1;j<=i;j++) C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;}公式法时间复杂度:O(n)[公式]\[......
  • 测试用例设计方法六脉神剑——第二剑:招式组合,因果判定出世 | 京东物流技术团队
    1引言上篇讲了等价类划分和边界值分析法,而这两种方法只考虑了单个的输入条件,并未考虑输入条件的各种组合、输入条件之间的相互制约关系的场景。基于此短板,因果图法和判定表法应运而生。2因果图法2.1概念及原理2.1.1定义一种描述输入条件的组合以及每种组合对应的输出的图形化工......
  • 前端歌谣的刷题之路-第一百一十五题-根据包名 在指定空间中创建对象
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目......
  • 前端歌谣的刷题之路-第一百一十六题-数组去重
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目......
  • 前端歌谣的刷题之路-第一百一十七题-实现斐波那契数列
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网微信公众号前端小歌谣题目......
  • 2023最新初级难度前端面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-初级难度前端面试题合集问:请详细描述HTML、CSS、JavaScript的基本结构?HTML、CSS、JavaScript是web前端开发中最常用的三种技术,它们分别负责页面结构、表现形式和交互行为。HTML(HyperTextMarkupLanguage)是一种用于构建网页的标......
  • 刷题 二分
    2023.12.6cf1902B二分一般来讲我们会在以下情况用到二分:求单调函数的零点求最小值的最大,或最大值的最小很难直接算出答案,但是很好判定答案合不合法二分答案和二分查找差不多,就是check函数内是贪心dp之类的东西当用二分控制精度时,以r-l>eps为循环条件,mid选r和l都行,一般需......
  • 2023最新高级难度react面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度react面试题合集问:如何实现React中的组件缓存策略?在React中,我们可以使用多种策略来实现组件的缓存,包括但不限于以下几种方法:使用React.memo()React.memo()是一个高阶函数,它可以接收一个组件作为参数,并返回一个新的组件。......
  • 2023最新中级难度Angular面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-中级难度Angular面试题合集问:Angular是什么?请简要介绍一下Angular框架的特点和优势。Angular是一个由Google维护的开源前端框架,用于构建高效、动态和响应式的单页面Web应用程序。它最初在2010年作为AngularJS发布,并于2016年进行了重写......