【TopCoder10697】RabbitNumbering
【TopCoder10697】RabbitNumbering
题面
Vjudge
给定\(n\)个数,每个数的范围是\([1,ai]\),求所有数都不同的方案数。
题解
把这个直接当做一个套路来用
对于\(a_i\)排序,那么无论前面的选什么,因为它能够选择的最大值都小于当前数的限制,
所以必定对于当前数产生影响,所以答案就是\(\prod (a_i-i+1)\)
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
#define MOD 1000000007
class RabbitNumbering
{
public:
int theCount(vector<int> s)
{
int n=s.size(),ans=1;
sort(s.begin(),s.end());
for(int i=0;i<n;++i)ans=1ll*ans*(s[i]-i)%MOD;
return ans;
}
};
【TopCoder10697】RabbitNumbering的更多相关文章
- 【BZOJ3622】已经没有什么好害怕的了(动态规划,容斥)
[BZOJ3622]已经没有什么好害怕的了(动态规划,容斥) 题面 BZOJ 题解 很明显的,这类问题是要从至少变成恰好的过程,直接容斥即可. 首先我们要求的是(糖果>药片)=(药片>糖果 ...
- 【HDU4689】Derangement(动态规划)
[HDU4689]Derangement(动态规划) 题面 Vjudge 给定一个\(+-\)组成的字符串,长度为\(n\). 如果第\(i\)位是\(+\),那么\(p_i>i\),否则\(p ...
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 【原】谈谈对Objective-C中代理模式的误解
[原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
- Python高手之路【三】python基础之函数
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...
- Python高手之路【一】初识python
Python简介 1:Python的创始人 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰人Guido ...
随机推荐
- R的数据结构
R语言中的数据结构包括标量.向量.矩阵.数组.列表以及数据框 目录 1 向量 2 矩阵 3 数据框 1 向量 向量是用于存储单一数据类型(数值.字符.逻辑值)的一维数组,示例如下: a <- c ...
- XAF-如何在详细视图界面显示按钮(含示例项目下载)
默认情况下,指定了按钮的Category后,将在对应的按钮容器显示按钮.有时候,我们需要将按钮显示在详细视图中. 本示例源码 创建一个控制器,并填加按钮.设置好了所有ID.Caption后,给Cate ...
- 一个web应用的诞生(5)--数据表单
下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发. 用户表 首先要想好用户注册的时候需要提供什么信息:用户名.密 ...
- python基础数据类型补充
python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...
- Redis的事物
Redis的事物 Redis 事物常用命令 multi标记一个事物块的开始 exec:执行所有事物块内的命令 discard: 取消事物,放弃执行事物块的所有命令 watch key [k ...
- iOS 播放音频文件
// 播放音乐 NSString *path = [[NSBundle mainBundle] pathForResource:@"1670" ofType:@&qu ...
- Linux系统服务(daemon)(鸟哥Linux私房菜笔记)
Linux系统服务(daemon) 一.SystemV的init管理机制(脚本式启动)1.服务启动分类stand alone 独立启动模式super daemon 总管程序 2.服务的启动.关闭与观察 ...
- Spark任务执行期间写临时文件报错导致失败
spark任务在执行期间,有时候会遇到临时目录创建失败,导致任务执行错误. java.io.IOException: Failed to create local dir in -- spark执行过 ...
- Office 365 Powershell 连接命令
国内版 第一步: Import-Module msonline Connect-MsolService 输入用户名密码 第二步: Get-MsolUser" 第三步: Set-Executi ...
- 使用SKlearn(Sci-Kit Learn)进行SVR模型学习
今天了解到sklearn这个库,简直太酷炫,一行代码完成机器学习. 贴一个自动生成数据,SVR进行数据拟合的代码,附带网格搜索(GridSearch, 帮助你选择合适的参数)以及模型保存.读取以及结果 ...