题目来源

2021年蓝桥省赛第二场D题

题目连接:http://acm.mangata.ltd/p/P1102

视频讲解

https://www.bilibili.com/video/BV11L4y1b7JQ/

思路

思路1

这个很容易想到直接使用五重循环去跑,但是这样估计是比赛结束前应该是跑不出来得

思路2

我们很轻松能想到一个优化那就是去掉一层,因为我们枚举四层后剩下的方案数就是余下的数,但是这也不够,我们再仔细想想会发现我们其实只用三层循环即可,因为剩下的可能数量就为余数减1,那么这样来看我们就能很轻松的解决这个问题

思路3

使用隔板法,我们将2021看作n个隔板,那么就会有2020个间隔,那么我们的目的不就是想将这一堆2021个板子分成5份吗,所以只需要挑选四个间隔点即可,那么答案总数就是C20204C_{2020}^4C20204​也就是691677274345

代码

思路2的代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
int n,a[N];int main()
{//  cout<<691677274345<<endl;
//  return 0;ll ans = 0;for(ll i = 1;i <= 2021; ++i) {for(ll j = 1;j <= 2021; ++j) {for(ll k = 1;k <= 2021; ++k) {ll m = 2021 - i - j - k;if(m >= 2) ans += m - 1;else break;}}}cout<<ans<<endl;return 0;
}
//ans = 691677274345

思路3的代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
int n,a[N];int main()
{//  cout<<691677274345<<endl;
//  return 0;ll ans = 1;for(ll i = 2020,j = 1;i >= 2017; --i,++j) {ans *= i;ans /= j;}cout<<ans<<endl;return 0;
}
//ans = 691677274345

蓝桥每日真题之整数分解相关推荐

  1. 蓝桥每日真题之时间显示

    题目来源 2021年蓝桥杯省赛第一场F题 题目链接:http://acm.mangata.ltd/p/P1488 考点 暴力.小技巧 视频讲解 视频连接:https://www.bilibili.co ...

  2. 蓝桥每日真题之完全日期

    题目来源 2021年蓝桥杯国赛C题 题目链接:http://acm.mangata.ltd/p/P1504 考点 暴力枚举,常识or手数 视频讲解 视频连接:https://www.bilibili. ...

  3. 蓝桥每日真题之负载均衡

    题目来源 2021年蓝桥省赛第二场I题 题目链接:http://acm.mangata.ltd/p/P1480 考点 优先队列.模拟 视频讲解 视频连接:https://www.bilibili.co ...

  4. 蓝桥每日真题之完全平方数

    题目来源 2021年蓝桥省赛第二场H题 题目链接:http://acm.mangata.ltd/p/P1165 视频讲解 视频连接:https://www.bilibili.com/video/BV1 ...

  5. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

  6. 蓝桥杯真题2017-2021

    刷完近几年真题,感觉理解完之后,拿奖问题不大,本人这次获得2022年蓝桥杯javaB组省一,以下是历年javaB组省赛题目. 文章目录 2017年真题 一.购物单 二.纸牌三角形 三.承压计算 四.魔 ...

  7. python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在19351936年应邀来中国清华大学讲学。。。

    python解答蓝桥杯真题2 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学... 问题描述 全排列模板: 美国数学家维纳(N. ...

  8. 第五届蓝桥杯真题解析【JavaC组】

    第五届蓝桥杯真题解析[JavaC组] 业精于勤,荒于嬉:行成于思,毁于随.--韩愈 文章目录 ***第五届蓝桥杯真题解析[JavaC组]*** 前言 A:猜年龄 B:等额本金 C:猜字母 D:大衍数列 ...

  9. 【蓝桥杯真题】16天冲刺 Python

    距离比赛很快了,希望和我一起准备的PY党能更加熟练的掌握Python! 1.距离和(模拟赛填空题) 问题描述: 两个字母之间的距离定义为它们在字母表中位置的距离.例如 A和 C 的距离为 2,L 和  ...

最新文章

  1. Web SCADA 电力接线图工控组态编辑器
  2. Java高并发编程:取消和关闭
  3. AM,DSB,SSB,FM信号调制matlab
  4. PHP操作MySQL数据库(连接、增删改操作)
  5. 简单的FreeBSD 的内核编译
  6. mysql的安装用于连接jsp_怎么用JSP连接安装在Linux上的MySQL
  7. android项目中有哪几种依赖关系,Android Studio项目中三种依赖的添加方式
  8. go读取email正文_Go语言库系列之email
  9. 程序员!别逼自己刷题了!每天花10分钟做这件事,编程能力暴增!
  10. psd文件用什么打开?如何修改psd文件?psd样式怎么修改文字?
  11. 计算机网络科研项目申请书,科研项目申请书范文例.doc
  12. c语言口袋妖怪代码大全,口袋妖怪银版金手指代码使用大全
  13. visual studio设置背景颜色为眼睛保护色
  14. 网吧服务器系统ghost,深度网吧GHOST辅助工具
  15. 语音识别算法、模型等解析
  16. sumif计算机怎么学,SUMIF 带给Excel不一样的条件求和
  17. 切换WiFi并配置静态或动态IP
  18. java创建tensorfly对象,Tensorflow对象检测自定义数据集
  19. 干货!Flask 动态展示 Pyecharts 图表数据的几种方法!
  20. JPEG图片压缩的Python实现

热门文章

  1. ValueError: Duplicate plugins for name projector解决
  2. Xcode常用技巧(1)-使用Xcode进行代码分析及GDB调试
  3. Java语法基础----课后实践作业
  4. javascript简单性能问题及学习笔记
  5. search engine
  6. 极简darknet环境搭建记录
  7. JavaScript——语法
  8. 三十天学不会TCP,UDP/IP网络编程-IP头格式祥述
  9. Tensorflow之计算tensor平均值
  10. KVM下桥接的设置(Ubuntu)