题目名称 | 2173. And Link |
---|---|
输入输出 | and.in/out |
难度等级 | ★★★ |
时间限制 | 5000 ms (5 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | Zayin 于2016-03-07加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:7, 通过率:28.57% | ||||
zhengtn03 | 100 | 8.607 s | 38.46 MiB | C++ |
Zayin | 100 | 18.081 s | 38.46 MiB | C++ |
zhengtn03 | 95 | 12.733 s | 38.46 MiB | C++ |
zhengtn03 | 70 | 34.546 s | 38.46 MiB | C++ |
zhengtn03 | 40 | 14.430 s | 38.46 MiB | C++ |
zhengtn03 | 5 | 11.272 s | 4.13 MiB | C++ |
TARDIS | 0 | 0.004 s | 0.31 MiB | C++ |
关于 And Link 的近10条评论(全部评论) |
---|
给定两个整数 N 和 K。
请你计算有多少长度为 K 的序列 A1, A2, ..., AK,(0<=Ai) 满足:
A1+ A2+ ...+ AK = N。
并且对于任意的 i = 1, ..., k - 1 有 Ai And Ai + 1 = Ai + 1。
And 是按位与操作。
Pascal 为 and ,C 和 C++为 &。
此题有多组数据。
第一行包含一个整数 T ,表示测试数据组数。
接下来有 T 行,每行包括两个整数 N 和 K ,意义如题目所述。
对于每组测试数据,输出一行表示对应的答案。考虑答案可能很大,输出模 1000000009 后的结果。
3
2 3
2 4
3 3
2
2
2
对于第一个数据,有两种方案:(1,1,0),(2,0,0);
对于第二个数据,有两种方案:(1,1,0,0),(2,0,0,0);
对于第三个数据,有两种方案:(1,1,1),(3,0,0)。
对于10%的数据,N<=10,K<=10 ;
对于30%的数据,N<=100,K<=1000 ;
对于50%的数据,N<=10000,K<=100000 ;
对于70%的数据,N<=1000000,K<=10000000 ;
对于100%的数据,N<=10000000,K<=1000000000,T<=100 。
改编自 hihoCoder Challenge 5 .