当前位置: 首页 > news >正文

AcWing - 5287. 数量 - 组合数求解+思维

最多只有k个位置满足,ai != i
所以从0-k进行遍历,对于kj:
0时,所有位置上的数字都等于i,只有一种
1时,没有
2时,排列只有两种,1 2 或者 2 1,只有一种情况满足
同理3和4可以分别只有2,9种
具体细节见代码

#include <math.h>
#include <stdio.h>
#include <algorithm>
#include <cstring>
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
#define de(x) cout << x << " ";
#define sf(x) scanf("%d", &x);
#define Pu puts("");
#define ll long long
// int n, m, ans;
ll n, k, ans;
ll C(ll x, ll y) {  // 组合数量ll res = 1;for (ll i = 1; i <= y; i++) {res *= (x - i + 1);res /= i;}return res;
}
int main() {cin >> n >> k;ans = 1;// 最多只有k个位置满足,ai != i// 所以从0-k进行遍历for (ll i = 2; i <= k; i++) {if (i == 2) {ans += C(n, i) * 1;} else if (i == 3) {ans += C(n, i) * 2;} else if (i == 4) {ans += C(n, i) * 9;}}cout << ans << endl;return 0;
}
http://www.lryc.cn/news/219207.html

相关文章:

  • 《实战:如何搭建一个完整的 Vue2.0 项目》- 7、Vue2.x 项目 webpack 4 升级 5(半自动升级)
  • Python教程---Python基础语法2
  • Conda创建软件安装环境
  • MySQL | MySQL 为什么不推荐使用JOIN
  • [LeetCode] 1.两数之和
  • ruby语言怎么写个通用爬虫程序?
  • 7 交换机与VLAN
  • C++指针笔记
  • vue中app.use()做了什么
  • 【网安AIGC专题11.1】论文12:理解和解释代码,GPT-3大型语言模型学生创建的代码解释比较+错误代码的解释(是否可以发现并改正)
  • 【GEE】4、 Google 地球引擎中的数据导入和导出
  • 【C++】特殊类设计+类型转换+IO流
  • JAVA整理学习实例(一)面向对象
  • QT 实现解密m3u8文件
  • 论文阅读—— BiFormer(cvpr2023)
  • 理解 fopen的 rwa r+w+a+ 参数含义
  • 【强化学习】17 ——DDPG(Deep Deterministic Policy Gradient)
  • 驱动开发11-2 编写SPI驱动程序-点亮数码管
  • Java使用pdfbox进行pdf和图片之间的转换
  • 机器学习中的关键组件
  • 【JVM】JDBC案例打破双亲委派机制
  • 每天五分钟计算机视觉:池化层的反向传播
  • Docker的安装、基础命令与项目部署
  • Nodejs和npm的使用方法和教程
  • 机器学习---支持向量机的初步理解
  • 【unity实战】Unity实现2D人物双击疾跑
  • Spring面试题:(二)基于xml方式的Spring配置
  • XR Interaction ToolKit
  • spring-boot中实现分片上传文件
  • 【ICN综述】信息中心网络隐私安全