杂题 [Ceoi2010]A huge tower

计算机组成原理课设 计算机组成原理课程设计 阅读详情

问题 A: [Ceoi2010]A huge tower
时间限制: 1 Sec 内存限制: 259 MB
题目描述
有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值
输入
第一行: N,D 第二行: N个数,表示每块砖的长度。
输出
方案数。输出要mod1000000009
样例输入
4 1
1 2 3 100
样例输出
4
如果按照从小到大的顺序向塔中插入砖。假设当前插入的砖(也就是最长的砖)在最下面,一定满足。假若不在最下面,设它上面的长为a,他下面的长为b,a+d<=x把最长砖抽去,因为x+d<=b,且x>=b,所以a+d<=b,原来一定也是合法方案。
所以找到a[i]-d<=x的砖的个数,+1(因为它可以放在最下面),也就是这块砖能放的方案数。累乘起来就是答案了。
因为开错模数 WA了5次QAQ

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define mod 1000000009
#define N 620002
#define ll long long
using namespace std;
int n;ll ans=1,d,a[N];
int main()
{
    scanf("%d%lld",&n,&d);
    for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
    sort(a+1,a+n+1);ll l=1;
    for(int i=1;i<=n;i++)
    {
        while(l<=n&&a[l]<a[i]-d)l++;
        ans=(ans*(i-l+1)*1LL)%mod;
    }
    printf("%lld\n",ans);
}
K8S部署Java项目 pod的logs报错为:Error: Unable to access jarfile app.jar 每个人都有惰性,但不断学习是好好生活的根本,共勉! 阅读详情

相关推荐

[Pytorch案例实践001]手写MNIST数字识别

Pytorch实现手写数字识别,带完整数据集。

2403_83044722的博客 1115

【CEOI2010】【BZOJ2013】A huge tower

Description有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值 Input第一行: N,D 第二行: N个数,表示每块砖的长度。 Output方案数。输出要mod1000000009 Sample Input4 11 2 3 100Sample Output4 H

CreationAugust is 14 years old forever 1960

手把手教你用Isograph Reliability Workbench 14.0绘制可靠性方框图(RBD)

本文详细介绍了如何使用Isograph Reliability Workbench 14.0绘制可靠性方框图(RBD),从软件安装、界面设置到基础项目创建和高级功能应用,手把手指导工程师完成系统可靠性分析。通过实际案例演示,帮助用户掌握RBD建模技巧,提升系统可靠性评估效率。

weixin_26765287的博客 626

[Ceoi2010]Pin

#2012. [Ceoi2010]Pin Online Judge:Bzoj-2012 Label:容斥,STL 题目描述 给出N(2<=N<=50000)个长度为4的字符串,问有且仅有D(1<=D<=4)处不相同的字符串有几对。 输入格式 第1行: N,D 以下N行每行一个字符串 输出格式 一个数:有多少对有且仅有处不相同的字符串。 样例 输入 4 2 0000 ...

weixin_30888027的博客 210

使用Bigemap下载地图流程

Bigemap地图下载简单流程,临时安排任务简单学习没有深入了解。

TKY666的博客 4847

长短期记忆网络(Long Short-Term Memory networks, LSTM)

如何简单的理解LSTM——其实没有那么复杂:

weixin_39910711的博客 2万+

ceoi2010 切题记

17th Central European Olympiad in Informatics Tasks The Alliances (Day 1) (100/100) An Arithmetic Rectangle (Day 1) (100/100) Bodyguards (Day 1) (100/100) The MP3 Player

lych的博客 970

从CTF到实战:Frida Hook无导出SO函数的3种特殊姿势

本文深入探讨了在移动安全逆向工程中,如何利用Frida Hook无导出SO函数的三种高级技巧:字符串引用定位法、调用栈回溯法和内存特征码扫描。针对安卓So层加固和混淆场景,文章结合CTF赛题与实战案例,详细解析了每种方法的原理、实现步骤与适用场景,为安全研究人员提供了从理论到实践的完整解决方案。

jenkins8butler的博客 516

洛谷 P1400 塔

P1400 塔 题目描述 有N(2<=N<=600000)块砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值. 输入输出格式 输入格式: 第一行: N,D 第二行: N个数,表示每块砖的长度。 输出格式: 方案数,输出要m...

HJ921004的博客 443

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3739

技术面试官视角:复盘北航/中科院/哈工大保研机试与面试,他们到底在考察什么?(附真题回忆与评分侧重点)

本文从技术面试官视角解析北航、中科院、哈工大等顶尖院校保研机试与面试的考核逻辑,揭示编程语言限制、题目难度设计等隐藏考察维度,并提供真题回忆与评分侧重点。帮助考生理解面试官的真实意图,掌握应对策略,提升通过率。

weixin_42549496的博客 518

P1400 塔

题目描述 有N(2&lt;=N&lt;=600000)块砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值. 输入输出格式 输入格式: 第一行: N,D 第二行: N个数,表示每块砖的长度。 输出格式: 方案数,输出要mod 1000000009 ...

weixin_34279246的博客 488

手把手教你完成YOLOv8分类识别界面搭建,使用Qt6设计YOLOv8分类识别系统,前台系统+后台管理系统开发实战,全网最详细教程

本项目基于YOLOv8分类模型,结合PySide6框架开发了一套图形化分类识别系统,支持图片、视频和摄像头实时检测。系统包含以下功能: 分类识别模块:完成图像/视频目标分类,界面展示检测结果。 用户管理模块:支持登录注册、头像修改、密码重置等功能。 AI问答模块:集成DeepSeek大模型接口,实现流式输出对话。 后台管理系统(第二版新增):管理员可管理用户信息及个人中心。 系统采用MySQL数据库存储用户数据,并提供完整的UI界面与交互逻辑。代码已开源,适用于毕业设计或快速部署场景。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 826

[BZOJ2013][Ceoi2010]A huge tower

[BZOJ2013][Ceoi2010]A huge tower 题解前的吐槽:好神仙啊,考试时想了超过1h都没有想出,赛后看题解才恍然大悟。 题中砖A在砖B上面是指砖A在砖B正上面,如果中间各一个砖块则两者没有关联。 下面按照解这种方案数题的套路走。 如果我们不排序直接一个一个放。 前面已经放了i个砖块,现在要放第i+1个砖头(记这个砖头长为L),那么一共有i+1个位置可以放。但如果一个位置合法...

Loging的博客 297

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Bzoj 2013 [Ceoi2010] A huge tower 题解

2013: [Ceoi2010]A huge tower Time Limit:10 SecMemory Limit:259 MBSubmit:471Solved:321[Submit][Status][Discuss] Description 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有...

weixin_34272308的博客 402

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【BZOJ2013】[Ceoi2010]A huge tower

2013: [Ceoi2010]A huge tower Time Limit: 10 SecMemory Limit: 259 MBSubmit: 387Solved: 260[Submit][Status][Discuss] Description 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有...

weixin_34256074的博客 167

BZOJ 2013 : [Ceoi2010]A huge tower / Luogu SP6950 CTOI10D3 - A HUGE TOWER

传送门 菜鸡.jpg CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 620005; int n, d, a[MAXN]; int main() { scanf("%d%d", &n, &d); for(int i = 1; i <= n; ++i) scanf("%d...

Ark 348

【bzoj2013】[Ceoi2010]A huge tower

Description有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值 Input第一行: N,D 第二行: N个数,表示每块砖的长度。 Output方案数。输出要mod1000000009 Sample Input4 11 2 3 100Sample Output4题解

wang_sj的博客 473

bzoj2013 [Ceoi2010]A huge tower

题目神题呀,考虑从小往大加入,设目前最长的为x,给它放入,显然,比它小的一定可以放在上面,现在看它的下面可以放什么,显然是一段连续的区间,我们可以二分一下l。但是,又发现,它肯定是单增的,所以用一个变量加一下就好了。#include<bits/stdc++.h> #define N 620000 #define mod 1000000009 using namespace std; int n,d,

浅笑~如夏 343

BZOJ2013 [Ceoi2010]A huge tower 乱搞

题意:n块砖各有宽度,A在B的上边当且仅当A不比B的宽度+D长,求放在一起方案数 Sol: 先排序,考虑从小到大一个个插入 因为当前插入的一定最大,比她小的一定能在它上面,只需考虑她能放在谁上面 显然可以放在底下,此外还有一段连续区间可以放 那么可以每次二分区间左端点然后乘法原理 发现左端点是单调不降的,可以维护指针扫过去,复杂度瓶颈在于排序 如果采取更优秀的排序算法可以做到线性时间

Flere825的博客 813

bzoj2013[CEOI2010] A huge tower

题意 有N(2<=N<=620000)快砖,要搭一个N层的塔,要求:如果砖A恰好在砖B上面,那么A不能比B的长度+D要长。问有几种方法,输出 答案 mod 1000000009的值 分析 没想出来 菜鸡.jpg 考虑按照砖的长度从短到长依次加入. 对于一个合法的塔,我们抽掉其中最长的一块砖,剩下的砖按照原先的顺序必然还是合法的塔. 假如最长的砖在最下方,那么显然不会从合法变成不合法....

weixin_30906701的博客 157

pa2010 切题记

没有题解好虚啊。。。剩下的题要么不会,要么做起来太慢感觉没意义,弃了吧。 Algorithmic Engagements 2010 Tasks Rectangles (Round 0) (10/10) Orienteering [B] (Round 1) (10/10) Mushrooms [B] (Round 2) (10/10)

lych的博客 1348

26 October in 614

Practice tower 有 \(N\,(2\le N\le 600000)\) 块砖,要搭一个 \(N\) 层的塔,要求:如果砖 \(A\) 在砖 \(B\) 上面,那么 \(A\) 不能比 \(B\) 的长度 \(+D\) 要长。问有几种方法,输出答案 \(\bmod 1\,000\,000\,009\) 的值。 此题无法暴力。 观察,发现对于任意一块砖,其可插入在长度为 \([\te...

weixin_34387284的博客 120

容斥原理 集合计数

问题 J: 集合计数 时间限制: 1 Sec 内存限制: 128 MB 题目描述 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模1000000007。(是质数喔~) 输入 一行两个整数N,K 输出 一行为答案。 样例输入 3 2 样例输出 6 提示 【样例说明】

蒟蒻QTY 1276
上一篇: NOIP初赛+CF某比赛 回忆录
下一篇: 单调队列 A
QTY_
博客等级 码龄9年 13粉丝 211原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值