北京师范大学第十五届ACM决赛-重现赛D Disdain Chain (规律+组合数学)
时间:2019-06-12
本文章向大家介绍北京师范大学第十五届ACM决赛-重现赛D Disdain Chain (规律+组合数学),主要包括北京师范大学第十五届ACM决赛-重现赛D Disdain Chain (规律+组合数学)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
链接:https://ac.nowcoder.com/acm/contest/3/D
来源:牛客网
Disdain Chain
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
BNU ACM校队现在有n名队员,对于任意两名队员i和j,要么i鄙视j,要么j鄙视i,需要注意的是鄙视关系并不满足传递性,即使i鄙视j、j鄙视k,也并不意味着一定有i鄙视k。小Q同学认为,如果有t名不同的队员满足a_1鄙视a_2、a_2鄙视a_3、……、a_{t-1}鄙视a_t,那么这就是一条长度为t的鄙视链。显然鄙视链越长越不利于团队建设,小Q同学希望你帮他分别算一算有多少种n个人之间的鄙视关系满足最长的鄙视链的长度是1,2,3,...,n。
输入描述:
第一行是一个正整数T(≤ 6),表示测试数据的组数, 每组测试数据包含一行,只有一个整数n(2 ≤ n ≤ 7),表示校队的人数。
输出描述:
对于每组测试数据,输出n行,第i行表示最长鄙视链是i的鄙视关系的个数。
示例1
输入
复制
1
2
输出
复制
0
2
说明
在队伍只有2名队员的情况下,无论谁鄙视谁,最长鄙视链的长度都是2。
题意:
思路:
通过画几个样例可以发现,无论怎么画,最后得到的最长长度的鄙视链的长度都是n,而种类数我们这样计算,每两个人都有2种可能,而任意两个人有2种可能,答案数就是 2^( C( n, 2) ) ,其他长度的全为0
细节见代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
#include <iomanip>
#define ALL(x) (x).begin(), (x).end()
#define rt return
#define sz(a) int(a.size())
#define all(a) a.begin(), a.end()
#define rep(i,x,n) for(int i=x;i<n;i++)
#define repd(i,x,n) for(int i=x;i<=n;i++)
#define pii pair<int,int>
#define pll pair<long long ,long long>
#define gbtb ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define MS0(X) memset((X), 0, sizeof((X)))
#define MSC0(X) memset((X), '\0', sizeof((X)))
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define eps 1e-6
#define gg(x) getInt(&x)
#define db(x) cout<<"== [ "<<x<<" ] =="<<endl;
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
ll powmod(ll a,ll b,ll MOD){ll ans=1;while(b){if(b%2)ans=ans*a%MOD;a=a*a%MOD;b/=2;}return ans;}
inline void getInt(int* p);
const int maxn=1000010;
const int inf=0x3f3f3f3f;
/*** TEMPLATE CODE * * STARTS HERE ***/
int t;
int n;
ll ans=0ll;
int c[10][10];
void init()
{
c[1][1]=1;
c[1][0]=1;
for(int i=2;i<=9;i++)
{
c[i][0]=1;
c[i][i]=1;
for(int j=1;j<i;j++)
{
c[i][j]=c[i-1][j]+c[i-1][j-1];
}
}
// repd(i,1,9)
// {
// repd(j,1,i)
// {
// cout<<i<<" "<<j<<" "<<c[i][j]<<endl;
// }
// }
}
void dfs(int pos,int x,int rm,ll num)
{
if(pos>x)
{
if(rm==0)
ans+=num;
return;
}
for(int i=1;i<=rm;i++)
{
dfs(pos+1,x,rm-i,num*c[rm][i]);
}
}
int main()
{
// freopen("D:\\code\\text\\input.txt","r",stdin);
//freopen("D:\\code\\text\\output.txt","w",stdout);
gbtb;
init();
cin>>t;
while(t--)
{
cin>>n;
repd(i,1,n-1)
{
cout<<0<<endl;
}
int num=(n*(n-1))/2;
cout<<(1ll<<(num))<<endl;
}
return 0;
}
inline void getInt(int* p) {
char ch;
do {
ch = getchar();
} while (ch == ' ' || ch == '\n');
if (ch == '-') {
*p = -(getchar() - '0');
while ((ch = getchar()) >= '0' && ch <= '9') {
*p = *p * 10 - ch + '0';
}
}
else {
*p = ch - '0';
while ((ch = getchar()) >= '0' && ch <= '9') {
*p = *p * 10 + ch - '0';
}
}
}
原文地址:https://www.cnblogs.com/qieqiemin/p/11013219.html
- 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 数组属性和方法
- SQL 获取上一个订单的状态
- Redis案例:Redis Cluster分片数据不均匀
- Kubectl命令行jsonpath的使用
- Fiddler Everywhere工具答疑
- Groovy重载操作符(终极版)
- HTTP异步连接池和多线程实践
- 测试仓库推介(上)
- 测试仓库推介(下)
- 如何进行数据标注(1)
- 百度黄埔学院:交通枢纽高密人流下的防疫筛查解决方案技术理解(1)
- 百度黄埔学院:交通枢纽高密人流下的防疫筛查解决方案技术理解(2)
- 百度黄埔学院:十行代码高效完成深度学习POC
- 【数据相关】目标检测中的数据标注及格式转换代码
- 科学与艺术的融合:遗传算法绘制蒙娜丽莎
- “工业听诊”中多声源事件检测与定位