当前位置: 首页 > news >正文

环球贸易网站百度论坛

环球贸易网站,百度论坛,ui设计的优势与不足,保定网站搜索排名题意 有N(2<N<620000)快砖&#xff0c;要搭一个N层的塔&#xff0c;要求&#xff1a;如果砖A恰好在砖B上面&#xff0c;那么A不能比B的长度D要长。问有几种方法,输出 答案 mod 1000000009的值 分析 没想出来 菜鸡.jpg 考虑按照砖的长度从短到长依次加入. 对于一个合法的塔…

题意

有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A恰好在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值

分析

没想出来
菜鸡.jpg
考虑按照砖的长度从短到长依次加入.
对于一个合法的塔,我们抽掉其中最长的一块砖,剩下的砖按照原先的顺序必然还是合法的塔.

假如最长的砖在最下方,那么显然不会从合法变成不合法.
假如不在最下方,设最长的砖长度为x,它下方的砖长度为a,上方的砖长度为b.
那么a+d>=x.抽掉x之后,因为x>=b,所以必然a+d>=b

那么我们现在在一个合法的塔中插入一个比现在所有砖都长的砖.因为比现在的所有砖都长,这块新加进来的砖一定不会和它上方的砖产生矛盾.只需要考虑哪些位置不会和它下方的砖产生矛盾即可.也就是找出有多少块砖长度>=新加的砖的长度-d.注意新加的砖还可以在整个塔最下方,这一步的方案数是"长度>=新加的砖的长度-d"的砖的块数+1.
每一步的方案数乘起来即可.

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=700005;
const int mod=1000000009;
int a[maxn];
int main(){int n,d;scanf("%d%d",&n,&d);for(int i=1;i<=n;++i)scanf("%d",a+i);sort(a+1,a+n+1);int ans=1;int pt=1;for(int i=1;i<=n;++i){while(pt<=n&&a[pt]<a[i]-d)++pt;ans=ans*1ll*(i-pt+1)%mod;}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/liu-runda/p/7009158.html

http://www.wooajung.com/news/34717.html

相关文章:

  • 网站建设成本预算编程培训机构排名前十
  • 做网站的支付金华网站推广
  • 免费代理ip的网站黑帽友情链接
  • WordPress二维码管理插件泰安网站推广优化
  • wordpress无法修改主页优化人员是什么意思
  • 网站数据分析报告抖音seo公司
  • 网站是怎么建设的百度站长中心
  • 深圳龙岗区吉华街道邮编网站排名优化软件
  • 达内网站开发视频教程网站设计公司有哪些
  • wordpress网站维护插件网络宣传方案
  • 进行目的地网站建设外链兔
  • wordpress建站教程阿里云今天nba新闻最新消息
  • 宁波信誉好品牌网站设计地址seo中文全称是什么
  • 网站导航怎么用ulli做seo教学培训
  • 营口大石桥网站建设济南网络优化网址
  • 在线设计房屋平面图余姚seo智能优化
  • 做网站图片太大好吗长春网站排名提升
  • 如何用模板做网站视频推广拉新app哪几个靠谱
  • 新疆工程建设云网站seo网络营销
  • java做网站的主要技术天津seo技术教程
  • 甘肃省建设厅质量投诉网站seo排名软件
  • 中核集团电子商城seo网站推广费用
  • 旅游网站项目策划书百度账号登陆
  • 动漫网站怎么建设广安网站seo
  • 建筑电工证济南seo整站优化招商电话
  • 个人博客网站建设选题说明百度指数明星搜索排名
  • 定制建设网站公司网站如何制作设计
  • 三里屯网站建设公司杭州seo网站推广排名
  • 国外网站怎么注册市场推广方案ppt
  • 外贸网站索引页多泰州百度seo公司