首页 > 其他分享 >洛谷 P6522 [CEOI2010 day2] tower 题解

洛谷 P6522 [CEOI2010 day2] tower 题解

时间:2024-07-13 15:56:41浏览次数:6  
标签:10 P6522 le 洛谷 题解 石块 样例 20 tower

[CEOI2010 day2] tower

题目背景

古巴比伦人决定建造一座塔。

题目描述

这座塔共有 \(n\) 层,每层由一个边长为 \(a_i\) 的立方体石块构成。一个石块 \(i\) 能够直接放在石块 \(j\) 上当且仅当 \(a_i \leq a_j+D\),其中 \(D\) 为一个给定的常数。

你需要求出如果使用全部的石块,有多少种不同的搭建方案。输出答案 \(\bmod\ 10^9+9\) 的结果。

注意:即使两个石块的边长相同,也看做不同的石块。

输入格式

输入第一行两个整数 \(n,D\)。

第二行 \(n\) 个整数 \(a_1,\dots,a_n\),表示每个立方体石块的边长。

输出格式

输出一行一个整数,表示方案总数 \(\bmod\ 10^9+9\) 的结果。

样例 #1

样例输入 #1

4 1
1 2 3 100

样例输出 #1

4

样例 #2

样例输入 #2

6 9
10 20 20 10 10 20

样例输出 #2

36

提示

【样例解释】

样例 1 解释

首先把边长为 \(100\) 的石块放在底部,其余的石块可以任意顺序放置,除了以下两种情况:2,1,3 1,3,2

样例 2 解释

首先不允许在 \(10\) 上面放 \(20\)。

所以就把 \(20\) 一堆放在底下,\(10\) 一堆放在上面。

即 \((3!)\times (3!)=36\)。

【数据规模与约定】

  • 对于 \(10\%\) 的数据,保证 \(n\le 10\);
  • 对于 \(30\%\) 的数据,保证方案数不超过 \(10^6\);
  • 对于 \(45\%\) 的数据,保证 \(n\le 20\);
  • 对于 \(70\%\) 的数据,保证 \(n\le 70\);
  • 对于 \(100\%\) 的数据,保证 \(2\le n\le 6.2\times 10^5\),输入中所有数字为不超过 \(10^9\) 的正整数。

【说明】

题目译自 CEOI 2010 day 2 T3 tower

翻译版权为题目提供者 @ShineEternal 所有,未经许可禁止转载。

标签:10,P6522,le,洛谷,题解,石块,样例,20,tower
From: https://www.cnblogs.com/XuYueming/p/18300225

相关文章

  • 洛谷 P2478 [SDOI2010] 城市规划 题解
    题意简述仙人掌上求至少间隔两个位置的最大独立集。(仙人掌指,没有一条边在两个或以上的环里的无向图。)题目分析仙人掌就是树套环,即树上每个结点都是一个结点或环。那么将题目拆解成树上DP和环上DP即可。用tarjan缩点即可。树上DP先来看看树上DP。显然每个点有三个状......
  • 【洛谷】P5728 【深基5.例5】旗鼓相当的对手——C++
    本题感想:本题主要是应该避免重复比较,以a,b,c,d为例,我们假设先a不动,依次比较d,c,b或者b,c,d,然后假设b不动,依次比较c,d,最后假设c不动,比较d,这样这道题就差不多解决了#include<iostream>#include<cmath>usingnamespacestd;intmain(){inta[1010][3],s[1010]={0......
  • [ZJOI2006] 三色二叉树 题解
    [ZJOI2006]三色二叉树题解link趣题。首先我们把题目分成两部分:建树和dp求解。建树:观察发现,字符串中的第\(i\)个字符就代表图中的第\(i\)个节点。如果\(S_i=0\),直接跳过;如果\(S_i=1\),那么\(i+1\)是\(i\)唯一的子节点,在两点之间连边,然后继续递归建树即可。......
  • 2024年06月CCF-GESP编程能力等级认证C++编程三级真题解析
    本文收录于专栏《C++等级认证CCF-GESP真题解析》,专栏总目录:点这里。订阅后可阅读专栏内所有文章。一、单选题(每题2分,共30分)第1题小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有()种。A.1B.2C.3D.4答案:C第2......
  • Codeforces Round 957 (Div. 3) A-G 题解
    CodeforcesRound957(Div.3)A-G题解A.OnlyPluses枚举思路:枚举\(a\),\(b\),\(c\)增加的次数,维护最值即可。代码:#include<bits/stdc++.h>usingnamespacestd;#definefffirst#definesssecond#definepbpush_back#defineall(u)u.begin(),u.end()#......
  • 初等数论课程测试题解
    初等数论课程测试题解刚想起来传到博客园上面。正在写。Upd.20240222:已写完,欢迎查错!一、请给出整除的概念及性质对于整数\(a,b\)\((b\neq0)\),如果存在整数\(c\),使得\(a=bc\),则称\(b\)整除\(a\),记作\(b\mida\);否则称\(b\)不整除\(a\),记作\(b\nmida\)。性质......
  • [题解] CF19D Points
    [题解]CF19DPointsCF19DPoints在一个笛卡尔坐标系中,定义三种操作:addxy:在坐标系上标记一个点\((x,y)\),保证\((x,y)\)在添加前不在坐标系上。removexy:移除点\((x,y)\),保证\((x,y)\)在移除前已在坐标系上。findxy:找到所有已标记的\((x',y')\),需满......
  • CLOI Round 2 D题题解
    一份简单的美术作业(Art)题意:给你一棵树,树上\(n\)个节点和\(n-1\)条边,每个点有一个权值,每两个黑点之间必须间隔至少一个白点,求黑点权值总和最大值,并且输出任意一种达成最大值的取点合法方案。sol:对于第一问,采用树形dp。定义\(f_{i,0/1}\)为当前节点为\(i\),当前点取或不......
  • P1262 间谍网络 题解
    题目描述给你一个有向图,可以付出代价获取一些指定的点。在获取之后要求能以获取的点为出发点,将整个图都访问到,求最小的代价。思路既然需要令总的代价最少,那么如果通过买一个点就可以访问到的所有点,自然会比买两个点的方案更优。于是自然的就可以联想到可以将图划分成很多个强......
  • [ABC328D] Take ABC 题解
    题目翻译题目描述给你一个字符串\(S\)包含A、B和C三个不用的字符。只要字符串\(S\)中包含连续的ABC就将ABC删除掉再字符串\(S\)不能操作之后输出这个字符串限制\(S\)的长度小于\(2\times10^5\)思路1总结一下这道题目的操作,可以发现就是将字符串删除一......