I - 母牛哥与子序列 所有非空子集的乘积之和 数学结论题
链接:https://ac.nowcoder.com/acm/contest/13504/I 来源:牛客网
众所周知,一个序列拥有许多非空子序列。
所谓子序列就是在原序列中任意删除 0 个或多个元素,然后保持剩下元素的顺序不变所形成的序列。非空子序列集意味着剩下的子序列不能为空。
比如对于序列[1, 2, 3],它的所有非空子序列为:[1, 2, 3],[1, 2],[1, 3],[2,
3],[1],[2],[3]。再比如序列 [1, 1],它的非空子序列有:[1, 1],[1] (删除了第一个 1),[1]
(删除了第二个1) 。现在母牛哥手里有一个长度为 n
的正整数序列,他现在要为这个序列的所有非空子序列打分。对于一个序列而言,它的评分标准为序列里所有数的乘积(只有一个数的序列,分数就是这个数)。母牛哥想要知道所有分数的和,但由于结果太大了,所以你只要告诉母牛哥结果对 1000000007 取模即可。
数学结论
定义“集合的乘积”为集合中所有元素的乘积,集合中所有子集的“集合的乘积”之和Sum
Sum = 数组每一项-1的值,n项乘积之和-1
注意对mod取模
结论和推导过程参考:
[https://blog.csdn.net/SCUEC__zhazhahui/article/details/108110714]
AC代码:
#include<iostream>
using namespace std;
#define int long long
const int maxn=1e6+10,mod=1000000007;
int arr[maxn];
signed main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>arr[i];}int ans=1;for(int i=1;i<=n;i++){ans= (ans%mod *(arr[i]+1)%mod)%mod;}cout<<(ans-1+mod)%mod<<endl;
}
I - 母牛哥与子序列 所有非空子集的乘积之和 数学结论题相关推荐
- 教你如何求一个集合的所有非空子集的方差和
/题目: 注:要求提交程序源代码和执行结果,编程语言不限. 1.对于一个大小为n的数集,求出该数集的每个"非空子集"的方差之和对10°+7取模的结果. 附件1说明:第一行一个正整数 ...
- 698. 划分为k个相等的子集:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
题目描述 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等. 示例 1: 输入: nums = [4, 3, 2, 3, 5, 2, 1], k ...
- java打印数组的连续非空子集_Apriori算法求数组的非空子集java代码
Apriori算法求集合的非空子集java代码 public class Test { public static void main(String[] args) { String str=&quo ...
- 【算法】求非空子集的三种思路
一.题目: 简化:编写一个方法,返回int数组的所有非空子集. (有n个元素的集合的子集个数:2^n - 1) 二.思路及代码 思路一:递归 对每个元素,都可以选择进入或者不进入子集. 因此,求n个元 ...
- 求集合中的非空子集 Java
字符串的非空子集 import java.util.*; public class _非空子集 {public static List<String> sList = new ArrayL ...
- 非空子集的生成(二进制法)
假如有一个n个元素的集合,那么它的非空子集有2的次方-1个,而一个n位的二进制数除去0刚好可以表示2的n次方-1种状态.刚好可以建立对应的联系,因此只需要检测二进制数所表示的每一种状态1的位置,把对应 ...
- Python---按字典序输出集合的所有非空子集
Python---按字典序输出集合的所有非空子集 通过使用模拟二进制减法以判断每次选取的具体元素.其中flag[ ]为模拟二进制数,初始化全为1,当flag[0]为0时结束循环.下标为0位不作为选取( ...
- 求集合的所有非空子集
某个集合有n个元素,它的所有子集数(包括空集和自己)为2^n,有两种办法,一种是位图法(任一个元素选取或不选取),另一种办法是递归法: // File name: main.m#include < ...
- 动态规划_(dynamic programming)_python_最大子序列(最长公共子序列)(可非连续子序列(several versions))
文章目录 the theorem the process: pseudocode: summary (from pseudocode to executable code) code(version ...
最新文章
- CBNet和DetectoRS:COCO数据集霸榜模型
- 如何使用jsp自定义标签 JspTag 使用入门
- 【转载】从多项式曲线拟合到模式识别的相关概念
- WinCE下的GPIO中断的处理
- redis版本_Redis—重要历史版本
- Javascript特效:电商商品展示放大镜
- eclipse中遇到的小问题
- springboot上传文件到resources_SpringBoot进行文件上传(一)
- CentOS hping3安装
- 拼多多平台API接入文档
- 硬件工程师面试常见问题
- wlop一张多少钱_小白有个问题,为什么很多人都说 WLOP 的画不够好?
- 201819102040张辰飞
- 弹弹堂 网页游戏 单机自玩 搭建教程
- 初闻“Linux中的cp,mv,rm”
- 医药行业大拼杀 小药药、药聚汇、朗致集团医药、同仁堂,模式对比
- 与台湾的第一次亲密接触
- 在数学建模中微型计算机,“在数学建模中培养学生思维能力的研究”课题研究情况汇报...
- 2021-3-29 【PTA】【天梯赛】【25分】
- 开学!可怕的日本,无情到令人感到恐惧!