首页 > 其他分享 >洛谷P2415 集合求和(数学问题,使用集合子集求和公式)

洛谷P2415 集合求和(数学问题,使用集合子集求和公式)

时间:2023-04-11 16:45:34浏览次数:41  
标签:洛谷 P2415 求和 子集 集合 数据

可以知道对于一个有n个数据的集合,其子集个数有2^n个

至于证明可以这样理解,对于n个数据,其子集就是对数据进行组和,而对于每个位置上的数据,组合时仅有两种状态即有此数据或无此数据,也就是有两种可能,而对于n个数据,就有2^n种可能

不妨设其中一个非空数据X,对于X,依据X可以将子集划分为两种,包含X的子集和不包含X的子集,其个数分别都为2^(n-1),也就是说X在所有子集中出现了2^(n-1)次,同理对其他非空数据亦如此

所以所有子集中的所有元素的和即为(X1+X2+X3+X4+.........+Xn)*2^(n-1),这样就可以以较低复杂度解决此题

标签:洛谷,P2415,求和,子集,集合,数据
From: https://www.cnblogs.com/WKWKSL/p/17306735.html

相关文章

  • 分享(五):免费可用的多种类 API 大全集合整理
    前言搜罗了各大平台整理了一波免费可以用的API,有需要的收藏起来啦。 实名认证运营商二要素API:运营商校验此姓名、手机号码是否一致。运营商三要素API:运营商验证姓名、身份证号码、手机号码是否一致,返回验证结果称。银行卡二要素:检测输入的姓名、银行卡号是否一致,支持......
  • 论文《深度多尺度卷积LSTM网络的出行需求和出发地预测》
    学习参考:https://blog.csdn.net/zuiyishihefang/article/details/128030409论文题目:《DeepMulti-ScaleConvolutionalLSTMNetworkforTravelDemandandOrigin-DestinationPredictions》是2020年发表在IEEE的文章。出处:IEEETransactionsonIntelligentTransportationS......
  • 【LeetCode回溯算法#extra01】集合划分问题【火柴拼正方形、划分k个相等子集、公平发
    火柴拼正方形https://leetcode.cn/problems/matchsticks-to-square/你将得到一个整数数组matchsticks,其中matchsticks[i]是第i个火柴棒的长度。你要用所有的火柴棍拼成一个正方形。你不能折断任何一根火柴棒,但你可以把它们连在一起,而且每根火柴棒必须使用一次。如......
  • c#对象集合的比较
    //如果要比较序列中对象的实际数据而不是仅仅比较它们的引用,则必须在类中实现IEqualityComparer<T>泛型接口publicclassPeople:IEquatable<People>{publicstringName{get;set;}publicintAge{get;set;}publicboolEquals(Peopleother){......
  • 背包问题集合
    dp[i][j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。那么可以有两个方向推出来dp[i][j],不放物品i:由dp[i-1][j]推出,即背包容量为j,里面不放物品i的最大价值,此时dp[i][j]就是dp[i-1][j]。(其实就是当物品i的重量大于背包j的重量时,物品i无法放进......
  • Java8 - sum求和,将 List 集合转为 Map,key去重(groupingBy),sorted排序
    Java8-sum求和,将List集合转为Map,key去重(groupingBy),sorted排序packagecom.example.core.mydemo.java8;publicclassGoodsPriceDTO{privateIntegerid;privateStringgoodName;privateIntegeramount;//重写toString方法,System可以打印输出......
  • 洛谷与 Codeforces 的难度评级
    为了比较CF与洛谷的题目难度评级,我写了一个爬虫,爬取了CF题目在源站和洛谷中的难度,并进行比较。这里先给出两者的换算:洛谷入门普及-普及/提高-普及+/提高提高+/省选-省选/NOI-NOI/NOI+/CTSCCF800900-11001200-15001600-19002000-23002400-29003000-350......
  • map集合的3中遍历方式
    键找值://创建map的对象Map<String,String>map=newHashMap<>();//添加元素map.put("11","11");//通过找值,获取所有的键放到一个单列集合中去Set<String>key=map.keySet();//遍历键key.forEach(newConsume......
  • java将集合里面的元素拼接为一条String字符串
    java将集合里面的元素拼接为一条String字符串1️⃣随便创建一个list集合,往里面塞入元素  2️⃣第一种方式:通过foreach循环实现  但是通过这种方式只能将list集合里面的元素取出来变成一天string类型的字符串,不能根据自己的想法拼接  2️⃣第二种方式【推荐】:通过st......
  • 用java找出两个集合中相同的元素和不通的元素
    用java找出两个集合中相同的元素和不通的元素假设有两个集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Set<Integer>A=newHashSet<>(Arrays.asList(1,2,3......