End
2022/2/5 6:13:48
本文主要是介绍End,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
省选模拟赛
题目名称 | 不同还倍数 | 翻倍但异或 | C.钝角 |
---|---|---|---|
输入文件名 | dism.in |
xshit.in |
obtuse.in |
输出文件名 | dism.out |
xshit.out |
obtuse.out |
每个测试点时间限制 | 2s | 2s | 2s |
每个测试点空间限制 | 1Gb | 256Mb | 256Mb |
测试点数目 | 10 | 10 | 10 |
每个测试点分值 | 10 | 10 | 10 |
提示:计数不取模,爆零两行泪.
不同还倍数
题目描述
给定两个正整数 \(N,M\) ,和一个序列 \(Z=(Z_1,....,Z_N)\) .
求出满足以下要求的序列 \(T=(T_1,....,T_N)\) 的个数,答案对 \(998244353\) 取模.
- \(1 \leq T_i \leq M\ \ \ \ (\forall 1 \leq i \leq N)\)
- \(T_i \not = T_j\ \ \ \ \ (\forall 1 \leq i < j \leq N)\)
- \(\forall 1 \leq i \leq N \ \ \ \ \ \ \ T_i 是Z_i 的倍数\)
输入格式
第一行两个正整数 \(N,M\), 接下来一行 \(N\) 个正整数 \(D_1,...,D_N\)
输出格式
一个正整数表示答案,对 \(998244353\) 取模.
数据范围
-
对于前 \(30 \%\),满足 \(2 \leq N \leq 7, 1 \leq M \leq 10\)
-
对于另外 \(20\%\), 满足 \(N \leq 10\)
-
对于所有的数据,满足 \(2 \leq N \leq 16, 1 \leq M \leq 10^{18}, 1 \leq Z_i \leq M(\forall 1 \leq i \leq N )\)
样例
样例输入1
3 7 2 3 4
样例输出1
3
样例1解释
满足条件的序列有 \((2,3,4),(2,6,4),(6,3,4)\)
样例输入2
3 3 1 2 2
样例输出2
0
样例输入3
6 1000000000000000000 380214083 420492929 929717250 666796775 209977152 770361643
样例输出3
325683519
翻倍但异或
起初,你有 \(N\) 封信,每封信上写着一个正整数,你可以执行以任意顺序以下操作任意次.
-
如果你有一封信写着数 \(X\),你可以拥有一封写着 \(2X\) 的信.
-
如果你有一封信写着数 \(X\),另一封写着数 \(Y\) ,你可以拥有一封写着 \(\rm X \ \ \mathcal{XOR} \ \ \rm Y\) 的数信.
拥有新的信的同时,你原来的信不会消失.
但是,由于 \(\rm happyguy\)倡导节约,所以 \(\rm happyguy\) 想知道最多能有多少个不超过 \(M\) 的数字可以被写在信上,答案对 \(998244353\) 取模.
输入格式
第一行两个正整数 \(N,M\), 接下来一行 \(N\) 个正整数 \(Z_i\),代表初始你拥有的信上面的数字, 不保证不会超过 \(M\).
注意, \(M\) 和初始的数字会以二进制的形式给出.
输出格式
一个正整数表示答案,对 \(998244353\) 取模.
数据范围
-
对于前 \(30 \%\),满足 \(N=1\)
-
对于另外 \(20 \%\) ,满足 \(M,Z_i \leq 2^{31}\)
-
对于所有的数据,满足 \(1 \leq N \leq 6, 1 \leq M \leq 2^{4000}, 1 \leq Z_i \leq 2^{4000}(\forall 1 \leq i \leq N )\)
样例
样例输入1
3 111 1111 10111 10010
样例输出1
4
样例1解释
0,3,5,6可以被写在信上,提供一种可以拥有6的方式
-
15 -> 30
-
30,18 -> 12
-
12->24
-
30,24 -> 6
样例输入2
4 100100 1011 1110 110101 1010110
样例输出2
37
样例输入3
4 111001100101001 10111110 1001000110 100000101 11110000011
样例输出3
1843
样例输入4
1 111111111111111111111111111111111111111111111111111111111111111 1
样例输出4
466025955
C.钝角
黑板上有 \(N\) 个 \(0\), \(M\) 个 \(1\) ,每次操作你可以任意选择 \(K\) 个黑板上的数,擦掉他们并且把他们的平均数(有理数)写在黑板上.
数据保证若干次操作后黑板上只剩一个数,问最后黑板上可以写下多少种有理数,答案对 \(1e9+7\) 取模.
输入格式
一行三个正整数 \(N,M,K\)
输出格式
一个正整数表示答案,对 \(1e9+7\) 取模.
数据范围
-
对于前 \(30 \%\),满足 \(2 \leq N, M \leq 10\)
-
对于所有的数据,满足 \(1 \leq N,M\leq 2000, 2 \leq K \leq 2000, N+M-1是 K-1的倍数\)
样例
样例输入1
2 2 2
样例输出1
5
样例1解释
满足条件的序列有 \(\frac 1 4, \frac 3 8 ,\frac 1 2, \frac 5 8 , \frac3 4\)
样例输入2
3 4 3
样例输出2
9
样例输入3
150 150 14
样例输出3
937426930
这篇关于End的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?