jzoj5878
tj:這道題可以想到排列組合
對於第一問,我們知道,左轉的次數比右轉次數多4,所以答案是c(n,n/2-2)
對於第二問,我們發現,不能出現下凹的情況,所以不能同時出現2個左拐,且路徑可以分為4段,且每一段長度為奇數,問題轉化成n個數拆成4個奇數的情況
先考慮拆成4個偶數,那麼等價于將n/2拆成任意個大於0的數,使用隔板法,有n/2-1個空位和3個板,答案為c(n/2-1,3)
然後,奇數也類似,把每一個數加上1變成偶數,套上原來公式變為c(n/2+1,3)
由於每一個電源可以放在任何一個位置,所以答案要乘n,由於旋轉4次結果相同,所以答案要除4
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mo 1000000007
ll jc[10000010],ijc[10000010],n;
ll qp(ll x,ll y){
if(!y)return 1;
if(y==1)return x%mo;
ll r=qp(x,y>>1);
if(y&1)return r*r%mo*x%mo;
return r*r%mo;
}
ll c(ll x,ll y){
return jc[x]*qp(jc[x-y],mo-2)%mo*qp(jc[y],mo-2)%mo;
}
int main(){
freopen("a.in","r",stdin);
freopen("a.out","w",stdout);
scanf("%lld",&n);
jc[0]=1;
for(ll i=1;i<=n;i++)
jc[i]=jc[i-1]*i%mo;
printf("%lld\n%lld",c(n,n/2-2),c(n/2+1,3)*n%mo*qp(4,mo-2)%mo);
}
jzoj5878的更多相关文章
随机推荐
- 剑指offer面试题3二维数组中的查找
题目: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 需要与面试官确认的是,这 ...
- MapReduce 计算模式
声明:本文摘录自<大数据日知录——架构与算法>一书. 较常见的计算模式有4类,实际应用中大部分ETL任务都可以归结为这些计算模式或者变体. 1.求和模式 a.数值求和 比如我们熟悉的单词计 ...
- 构造函数constructor 与析构函数destructor(三)
(1)构造函数初始化列表: 1 class Test{ 2 int i; 3 public: 4 Test(int vi):i(vi){}//这里的从冒号开始,到右大括号结束,这一段是构造函数初始化列 ...
- 2018.07.08 hdu1394 Minimum Inversion Number(线段树)
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- 前端学习—React—初出茅庐
React学习—初出茅庐 对与React的学习思路,首先React中用到了Class.let.const.以及modual(模块)的导入(import)和导出(export),而这些都是ECMAScr ...
- 如何使用masonry设计复合型cell[转]
前言 其实早在@sunnyxx同学发布UIView-FDCollapsibleConstraints的时候 我就说要写一下怎么用代码来稍微麻烦的实现复用的问题 但是一直各种没时间(主要是我的办法太复杂 ...
- Codeforces758B Blown Garland 2017-01-20 10:19 87人阅读 评论(0) 收藏
B. Blown Garland time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- HDU1258 Sum It Up(DFS) 2016-07-24 14:32 57人阅读 评论(0) 收藏
Sum It Up Problem Description Given a specified total t and a list of n integers, find all distinct ...
- 挂载镜像SD卡的FAT32文件系统分区到Linux中
首先使用fdisk –l命令查看sd卡的分区息 可以看到,sd卡有三个分区,第一个分区是FAT32系统,主要存放内核img文件和dtb文件,第二个分区是Linux系统分区,第三个分区格式未知,实际是U ...
- hdu 4946 凸包注意重点
http://acm.hdu.edu.cn/showproblem.php?pid=4946 给你n个点的坐标和速度,如果一个点能够到达无穷远处,且花费的时间是最少的,则此点输出1,否则输出0. 每个 ...