190715-kappa-组合数学+容斥原理
时间:2019-10-19
本文章向大家介绍190715-kappa-组合数学+容斥原理,主要包括190715-kappa-组合数学+容斥原理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<string> 5 #include<cstring> 6 #include<algorithm> 7 using namespace std; 8 namespace Moxing{ 9 const int N=1e4+20,lim=1e4; 10 int n,p,mod,fac[N],lim[N]; 11 int mul(int a,int b){ 12 int ans=0; 13 while(b){ 14 if(b&1){ 15 ans=(ans+a)%mod; 16 } 17 b>>=; 18 a=(a+a)%mod; 19 } 20 return ans; 21 } 22 int power(int a,int b){ 23 int ans=1; 24 while(b){ 25 if(b&1){ 26 ans=mul(ans,a); 27 } 28 b>>=1; 29 a=mul(a,a); 30 } 31 return ans; 32 } 33 void first(){ 34 fac[0]=1; 35 for(int i=1;i<=lim;i++){ 36 fac[i]=mul(fac[i-1],i); 37 } 38 inv[lim]=power(fac[lim],mod-2); 39 for(int i=lim;i;i--){ 40 inv[i-1]=mul(inv[i],i); 41 } 42 } 43 int c(int n,int m){ 44 return mul(fac[n],mul(inv[m],inv[n-m])); 45 } 46 int f[N],g[N]; 47 struct main{ 48 main(){ 49 scanf("%d%d",&n,&p),mod=n=10000?998244353:1e4+7; 50 first(),f[0]=g[0]=1; 51 for(int i=1;i<=n;i++){ 52 for(int j=1;j<=i;j++){ 53 if(j&1) f[i]=(f[i]+mul(power(2,mul(j,i-j)),mul(c(i,j),f[i-j])))%mod; 54 else f[i]=(f[i]-mul(power(2,mul(j,i-j)),mul(c(i,j),f[i-j]))+mod)%mod; 55 } 56 g[i]=f[i]; 57 for(int j=1;j<i;j++) g[i]=(g[i]-mul(c(i-1,j-1),mul(g[j],f[i-j]))+mod)%mod; 58 } 59 printf("%d\n",p?g[n]:f[n]); 60 exit(0); 61 } 62 }UniversalLove; 63 } 64 int main(){ 65 Moxing::main(); 66 }
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int ans[] = {25, 18, 543, 8939, 5503, 6794, 8693, 7469, 3864, 185198037}; 5 6 inline int gid(int n, int p) { 7 if(n == 3) return 1 + p; 8 if(n == 4) return 3; 9 if(n == 100) return 4 + p; 10 if(n == 300) return 6 + p; 11 if(n == 5000) return 8 + p; 12 return 10; 13 } 14 15 int main() { 16 static int n, p; 17 freopen("kappa.in", "r", stdin); 18 freopen("kappa.out", "w", stdout); 19 scanf("%d%d", &n, &p), printf("%d\n", ans[gid(n, p) - 1]); 20 return 0; 21 }
T3:Kappa
• 题目大意:
• 求
原文地址:https://www.cnblogs.com/Moxingtianxia/p/11704458.html
- 二分查找法的实现和应用汇总
- 《快学Scala》第一章 基础
- 移动端打印输出内容以及网络请求-vconsole.js
- 二分查找法的实现和应用汇总
- JavaScript前端和Java后端的AES加密和解密
- 《Spark MLlib 机器学习实战》1——读后总结
- angularjs自定义指令实现分页插件
- A+B for Input-Output Practice (V)
- 机器学习——相似度算法汇总
- 白话推荐系统——从原理到实践,还有福利赠送!
- 基于Spring Boot的Logback日志轮转配置
- Java程序员的日常—— Spring Boot单元测试
- Windows下TensorFlow安装指南(图文版)
- 20120918-双向链表类定义《数据结构与算法分析》
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 判断是否"存在",还在用count?试试这条SQL语句,性能杠杠的!
- protoBuf-python学习笔记
- 编写高质量可维护的代码之优化逻辑判断
- Owl项目
- 非Spring项目如何注入Mapper
- Raspberry Pi开发实战
- Vulnhub之DC-2过关记录
- 关于链表,你该了解这些!
- R语言可视化操作数据挖掘
- 因为一个函数strtok踩坑,我被老工程师无情嘲笑了(一)
- 【日志架构】ELK Stack + Kafka 端到端练习
- 极客算法训练笔记(三),链表详细图解,别再逃避了朋友
- 我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化
- equals和HashCode深入理解(转)
- LeetCode18|排序链表