CF57C Array 题解
发现单调不降序列反过来就是单调不增序列,只需考虑单调不降序列即可。
假如将问题转化为:初始为 \(1\),一共有 \(n+1\) 个位置,有 \(n-1\) 次增加答案的机会,每个位置可以拥有多次增加答案的机会,问一共有多少种可能性。
显然答案为 \(C_{2n-1}^{n-1}\)。所以总体答案为 \(2C_{2n-1}^{n-1}-n\),观察杨辉三角即可发现也可以表示为 \(C_{2n}^n-n\)。
时间复杂度 \(O(n\log p)\),其中 \(p=10^9+7\)。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll p=1e9+7;
ll n,ans=1;
ll qpow(ll x,int y){
ll re=1;
while(y){
if(y&1) re=re*x%p;
x=x*x%p;
y>>=1;
}return re;
}int main(){
cin>>n;
for(int i=1;i<=n;i++){
ans=ans*qpow(i,p-2)%p;
ans=ans*(i+n)%p;
}cout<<((ans-n)%p+p)%p;
return 0;
}
CF57C Array 题解的更多相关文章
- [LeetCode]Remove Duplicates from Sorted Array题解
Remove Duplicates from Sorted Array: Given a sorted array, remove the duplicates in place such that ...
- Leetcode Find Minimum in Rotated Sorted Array 题解
Leetcode Find Minimum in Rotated Sorted Array 题目大意: 对一个有序数组翻转, 就是随机取前K个数,移动到数组的后面,然后让你找出最小的那个数.注意,K有 ...
- CF57C Array
题目传送门 题目大意(摘自洛谷) 描述 对于长度为n的数组A,A中只包含从1到n的整数(可重复).如果A单调不上升或单调不下降,A就可称为美丽的. 找出在长度为n时,有几个美丽的A. 输入 一个整数n ...
- CF83A Magical Array 题解
Content 有一个长度为 \(n\) 的序列 \(a_1,a_2,a_3,...,a_n\).定义一个"神奇数组"为在上面的序列中最大值和最小值相等的子序列.求出这个序列中&q ...
- CF1514A Perfectly Imperfect Array 题解
Content 给定一个长度为 \(n\) 的序列,问是否存在一个非空子序列,使得这个子序列所有元素的积不是完全平方数. 数据范围:\(t\) 组数据,\(1\leqslant t\leqslant ...
- CF1007A Reorder the Array 题解
To CF 这道题是排序贪心,将原序列排序后统计答案即可. 但是直接统计会超时,因为排序后具有单调性,所以可以进行一点优化,这样,便可以通过此题. 而这道题的优化在于单调性,因为 \(a[i+1]\) ...
- LeetCode Find Minimum in Rotated Sorted Array
原题链接在这里:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/ Method 1 就是找到第一个违反升序的值,就 ...
- Search in Rotated Sorted Array II leetcode java
题目: Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would ...
- Search in Rotated Sorted Array leetcode java
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- 【leetcode刷题笔记】Find Minimum in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
随机推荐
- go build tags使用
转载请注明出处: 在 Go 语言中,构建标签(Build Tags)是一种用于条件编译的机制,可以帮助开发者根据不同的条件选择性地编译特定的代码块.它们在处理多平台和多环境的代码时特别有用,例如为不同 ...
- fiddler:The system proxy was changed.Click to reenable capturing
前情 最近在开发一个老旧项目,由于本地环境已难跑起,于是想通过代理线上代码进行功能开发. 坑位 启动fiddler后,fiddler菜单栏会警告,大概意思是代理被更改了,点击重启fillder代理,但 ...
- Winserver主副域控切换的方法
查看当前的dc netdom query dc 步骤 登录主域控(PDC),例如主域控的主机名为dc01.yourdomaincontroller.com (FQDN 格式) 打开CMD命令行终端, ...
- echarts 图表设置默认选中
echarts:https://echarts.apache.org/zh/api.html#events.legendselected tfjy1997:https://blog.csdn.net/ ...
- 精通 ASP.NET Core MVC (第 7 版) 源码下载
将使用的 .NET 版本更新到 5.0 版本. GitHub 地址:https://github.com/haoguanjun/pro-asp.net-core-mvc-2
- 龙哥量化:通达信板块概念FAQ,*期强势、*期弱势是怎么划分的?等问题是官网的解释,股友可以根据文章的提示迸发策略灵感
如果您需要代写公式, 请联系我. 龙哥QQ:591438821 龙哥微信:Long622889 比如第9条,*期强势:20日涨幅>=30%, 3日涨幅>0,非停牌.非ST.非未开板 ...
- CentOS 安装NFS
背景 Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上.在这种情况下,Pod 中容器数据的持久化如果存储在 ...
- FFmpeg命令行示例
1 提取视频流/音频流 // 分离视频流和音频流 ffmpeg -i input_file -vcodec copy -an output_file_video ffmpeg -i input_fil ...
- 《Spring MVC+MyBatis快速开发与项目实战》-黄文毅2019:一书的源码和配套视频下载地址
<Spring MVC+MyBatis快速开发与项目实战>-黄文毅2019:一书的源码下载地址: http://github.com/huangwenyi10/springmvc-myba ...
- 开源即时通讯IM框架MobileIMSDK的鸿蒙NEXT端开发快速入门
相关链接: ① MobileIMSDK-鸿蒙端的详细介绍 ② MobileIMSDK-鸿蒙端的开发手册new(* 精编PDF版) 一.理论知识准备 您需要对鸿蒙Next和ArkTS开发有所了解: 1 ...