打卡信奥刷题(367)用Scratch图形化工具信奥P6075[普及组/提高] [JSOI2015] 子集选取

[JSOI2015] 子集选取

题目描述

给定 n n n 个元素的集合 S = { 1 , 2 , ⋯   , n } S= \left\{1,2,\cdots,n \right\} S={1,2,,n} 和整数 $ k$,现在要从 S S S 中选出若干子集 A i , j   ( A ⊆ S A_{i,j}\ (A \subseteq S Ai,j (AS 1 ≤ j ≤ i ≤ k ) 1 \le j \le i \le k) 1jik) 排成下面所示边长为 k k k 的三角形(因此总共选出了 1 2 k ( k + 1 ) \frac{1}{2} k(k+1) 21k(k+1) 个子集)。
A 1 , 1 A 2 , 1 A 2 , 2 A 3 , 1 A 3 , 2 A 3 , 3 ⋮ ⋮ ⋮ ⋱ A k , 1 A k , 2 A k , 3 ⋯ A k , k \begin{matrix} A_{1,1}\\ A_{2,1}&A_{2,2}\\ A_{3,1}&A_{3,2}&A_{3,3}\\ \vdots&\vdots&\vdots&\ddots\\ A_{k,1}&A_{k,2}&A_{k,3}&\cdots&A_{k,k} \end{matrix} A1,1A2,1A3,1Ak,1A2,2A3,2Ak,2A3,3Ak,3Ak,k

此外,JYY 对选出的子集之间还有额外的要求:选出的这些子集必须满足
A i , j ⊆ A i , j − 1 A_{i,j} \subseteq A_{i,j-1} Ai,jAi,j1 A i , j ⊆ A i − 1 , j A_{i,j} \subseteq A_{i-1,j} Ai,jAi1,j
JYY 想知道,求有多少种不同的选取这些子集的方法。因为答案很大,JYY 只关心输出答案模 1 , 000 , 000 , 007 1{,}000{,}000{,}007 1,000,000,007 的值。

对于两种选取方案 A = { A 1 , 1 , A 2 , 1 , ⋯   , A k , k } A = \left\{ A_{1,1} , A_{2,1} ,\cdots, A_{k,k} \right\} A={A1,1,A2,1,,Ak,k} B = { B 1 , 1 , B 2 , 1 , ⋯   , B k , k } B = \left\{ B_{1,1} , B_{2,1} ,\cdots, B_{k,k} \right\} B={B1,1,B2,1,,Bk,k} 只要存在 i , j i,j i,j 满足 A i , j ≠ B i , j A_{i,j} \neq B_{i,j} Ai,j=Bi,j,我们就认为 A A A B B B 是不同的方案。

输入格式

输入包含一行两个整数 n n n k k k

输出格式

一行一个整数,表示不同方案数目模 1 , 000 , 000 , 007 1,000,000,007 1,000,000,007 的值。

样例 #1

样例输入 #1

2 2

样例输出 #1

16

提示

对于 100 % 100\% 100% 的数据, 1 ≤ n 1 \le n 1n k ≤ 1 0 9 k \le 10^9 k109

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值