Time Limit: 10 Sec  Memory Limit: 256 MB
Submit: 270  Solved: 152

Description

Claris想要铸一把剑,这把剑必须符合他的审美,具体来说,我们可以把这把剑的不同地方的宽度看成一个序列,这个序列要满足以下条件:
1.每个元素都是正整数(你的宽度不可能是负数吧)
2.每个元素不能超过M,太宽了如果比Claris身高还高怎么办(你可以认为Claris的身高就是M)
3.相邻两个元素的差的绝对值必须是1(如果是0,则这个地方不是锯齿,杀伤力不够,如果太大,又太丑了)
4.第一个元素的值必须是1(剑尖必须是最窄的地方)
他想知道有多少把长度不超过N(即宽度的序列长度不超过N)的合法的本质不同的剑。
我们认为两把剑本质不同,当且仅当存在至少一个宽度,在两把剑的宽度序列里面出现次数不一样。
比如{1,2,3}和{1,3,2}是本质相同的
{1,2,3}和{1,2,1}则是本质不同的

Input

只有两个整数,表示N,M (数据保证$N,M \leq 2000000$)

Output

只有一个整数,表示答案对$10^9+7$取模的结果

Sample Input

5 3

Sample Output

9

HINT

样例解释

所有本质不同的合法的剑有如下:

{1}

{1,2}

{1,2,3}

{1,2,1}

{1,2,3,2}

{1,2,1,2}

{1,2,3,2,3}

{1,2,3,2,1}

{1,2,1,2,1}

Source

By lyzy

题解传送门 http://blog.csdn.net/sdfzyhx/article/details/72771793

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 #define LL long long
 7 using namespace std;
 8 const int mod=1e9+7;
 9 const int mxn=2000010;
10 int read(){
11     int x=0,f=1;char ch=getchar();
12     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
13     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
14     return x*f;
15 }
16 int fac[mxn],inv[mxn];
17 void init(int n){
18     int mxn=n+1;
19     fac[0]=fac[1]=1;inv[0]=inv[1]=1;
20     int i,j;
21     for(i=2;i<mxn;i++){
22         fac[i]=(LL)fac[i-1]*i%mod;
23         inv[i]=((-mod/i*(LL)inv[mod%i])%mod+mod)%mod;
24     }
25     for(i=2;i<mxn;i++)inv[i]=(LL)inv[i-1]*inv[i]%mod;
26     return;
27 }
28 int C(int n,int m){
29     return (LL)fac[n]*inv[m]%mod*inv[n-m]%mod;
30 }
31 int n,m;
32 int main(){
33     int i,j;
34     n=read();m=read();init(n);
35     LL ans=0;
36     if(n && m)ans=1;
37     m=min(n,m);
38     for(i=2;i<=m;i++){
39         ans+=C((n-i)/2+i-1,i-1);if(ans>=mod)ans-=mod;
40         if(n-i-1>=0)ans+=C((n-i-1)/2+i-1,i-1);if(ans>=mod)ans-=mod;
41     }
42     printf("%lld\n",ans);
43     return 0;
44 }

转载于:https://www.cnblogs.com/SilverNebula/p/6909837.html

Bzoj4402 Claris的剑相关推荐

  1. bzoj4402: Claris的剑

    第一眼--DP,然而本质不同... 若每种剑只取字典序最小的,可表示为:1 +  若干个(2 1)+ 2 + 若干个(3 2)+3 +--+k (+k-1) 然后,设剑最大宽度为k,必有序列1--2- ...

  2. bzoj 4402 Claris的剑

    4402: Claris的剑 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 255 Solved: 145 [Submit][Status][Disc ...

  3. 【BZOJ4402】Claris的剑(组合数学)

    传送门 题解: 我们认为两把剑本质不同,当且仅当存在至少一个宽度,在两把剑的宽度序列里面出现次数不一样. 这个定义和我们平时所熟知的本质不同的定义是有较大区别的,这道题中的本质不同需要通过cntcnt ...

  4. 【BZOJ4402】—Claris的剑(组合数学)

    传送门 由于只关注每个数出现了多少次 所以一种情况一定可以表示成1,2,3,4,3,4,3,4--m−1,m1,2,3,4,3,4,3,4--m-1,m1,2,3,4,3,4,3,4--m−1,m 或 ...

  5. 【BZOJ】4402 Claris的剑

    Description Description Claris Claris想要铸一把剑,这把剑必须符合他的审美,具体来说,我们可以把这把剑的不同地方的宽度看成一个序列,这个序列要满足以下条件: 1.  ...

  6. 2017.9.12 claris的剑 失败总结

    今天的题怎么都这么难,不是搞常数就是劲逻辑 没想到组合数学学的这么差.连插板法都没有看出来.. 首先两个两个分组(分组的思想很重要) 然后本质不同就利用上了,即选的组数量不同 然后就是枚举所有m,然后 ...

  7. BZOJ 4402: Claris的剑 (组合数学)

    转:ws_yzy的博客 之所以是C(n+m,m)C(n+m,m)C(n+m,m)而不是C(n+m−1,m−1)C(n+m-1,m-1)C(n+m−1,m−1)是因为插数对时不一定全部插满. CODE ...

  8. bzoj 4402: Claris的剑

    要求本质不同,考虑字典序最小的排法 序列是这样的: 1(212121--)2(323232--)3(434343--)-- m 或者 1(212121--)2(323232--)3(434343--) ...

  9. 京东方剑指物联网领域

    (原标题:京东方剑指物联网领域) 信息时报讯(记者 刘莉)在目前正在召开的中国国际高新技术成果交易会上,京东方宣布"开放两端 芯屏气(器)和"的物联网生态理念:芯片是计算.通信.传 ...

最新文章

  1. 关于ExtJS通过单击左边的treePanel在居中的panel加载页面问题
  2. 宝塔面板之nginx 配置
  3. ubuntu系列-很好用的截图工具shutter
  4. office增加自定义文档模板
  5. iOS上架app store下载步骤
  6. 番外9福冈·狂野老司机告诉你如果装AI·1· ——混合现实科幻《地与光》
  7. 日常一记(7)--excel合并两列数据并删除重复项
  8. CSS3相比CSS新增哪些功能
  9. linux usr/bin/和 usr/local/bin之间的关系,什么是软链接?
  10. 机房电脑怎么批量修改计算机名,批量设置IP地址和计算机名
  11. 为什么用python写爬虫_老猿为什么写Python爬虫教程
  12. 优秀课程案例:使用Scratch制作打弹球游戏1-反弹球
  13. ios使用lua详解
  14. linux shell 操作二进制文件(xxd、dd)
  15. 使用jquery实现快递单号查询
  16. selenium执行js脚本
  17. 南加州计算机硕士学费,2016年度美国南加州大学排名及研究生学费费用简介.pdf...
  18. 批量实现excel中的地名转为经纬度
  19. Java、JSP企业内部邮件系统
  20. [转] 程序员才懂的58张图片,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

热门文章

  1. SQL Server 使用作业设置定时任务之一
  2. 02.青龙面板——薅京东羊毛,自动获取京豆、自动浇水、做任务
  3. 自定义view实战(10):贝塞尔曲线绘制小红点
  4. 计算机图像进行滤波的函数,数字图像处理图像滤波.ppt
  5. ajax同步请求 和 表单验证submitHandler
  6. 使用chkrootkit检测rootkit
  7. java遍历栈的所有元素_Java如何遍历Map的所有的元素
  8. 做好本地门户网站在于扬长避短走出自己的特色
  9. 为什么BT网络中迅雷的速度会这么快,比其它BT软件快
  10. 云服务器内存不够解决办法