经典的数数题
先分别统计数组中 1、-1 和 0 的个数,记为 a、b 和 c。
对于乘积为负数的情况,需要选择奇数个 -1,其余的 1 和 -1 可以任意选择。因此,乘积为负数的方案数为:
i=1,i is odd∑b(ib)⋅2a在一个信号处理实验中,工程师获得了一个长度为 n 的信号序列,每个信号值只能是 −1、0 或 1。现在需要从序列中任选若干个信号(至少一个,选择时不必考虑原有顺序,只需确定哪些信号被选中),并将它们的值相乘得到一个综合响应。请你计算综合响应为负、为零、为正的选取方案各有多少种。
保证 n≤105,序列中每个整数只能是 −1、0 或 1。由于答案可能很大,请输出模 109+7 的结果。
第一行包含一个正整数 n。 第二行包含 n 个整数,每个整数为 −1、0 或 1,表示信号序列。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.