传送门

题意简述:输入一个数组an" role="presentation" style="position: relative;">anan。

对于所有2n−1" role="presentation" style="position: relative;">2n−12n−1个非空子集,每个子集的权值是包含的所有元素之和。

求这2n−1" role="presentation" style="position: relative;">2n−12n−1个非空子集权值的中位数。

对于每个权值v" role="presentation" style="position: relative;">vv都有一个对应的”补集”t" role="presentation" style="position: relative;">tt满足v+t=sum" role="presentation" style="position: relative;">v+t=sumv+t=sum,就是说集合中找个断点两边两个权值相加都是整个集合的和。

因此可以根据中位数的定义跑一遍01背包找出中位数。

代码:

#include<bits/stdc++.h>
using namespace std;
int sum=0,n,x;
bitset<5000000>s;
int main(){
    scanf("%d",&n),s[0]=1;
    for(int i=1;i<=n;++i)scanf("%d",&x),s|=s<<x,sum+=x;
    for(int i=(sum+1)/2;;++i)if(s[i]){cout<<i;return 0;}
    return 0;
}

2018.08.10 atcoder Median Sum(01背包)的更多相关文章

  1. 2018.08.10 atcoder No Need(线性dp)

    传送门 输入一个序列an" role="presentation" style="position: relative;">anan,输入k&q ...

  2. 新手C#SQL Server使用记录2018.08.10

    主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...

  3. [ZJOJ] 5794 2018.08.10【2018提高组】模拟A组&省选 旅行

    Description 悠悠岁月,不知不觉,距那传说中的pppfish晋级泡泡帝已是过 去数十年.数十年 中,这颗泡泡树上,也是再度变得精彩,各种泡泡 天才辈出,惊艳世人,然而,似乎 不论后人如何的出 ...

  4. 2018.08.10【省赛&提高A组模拟】比赛总结

    题解 这次题目可真是太难了! 糟糕的运气使我AK的步伐寸步难行(士气严重下降). T1 这题还是比较水的(尽管我比赛时只拿了50分) 一些大佬们说:这题只是一道简单的暴力题,枚举l+二分r 就可以了. ...

  5. 2018.09.17 atcoder Digit Sum(数论)

    传送门 数论好题啊. 首先对于b<=sqrt(n)b<=sqrt(n)b<=sqrt(n)的情况直接枚举b判断一下就行了. 下面谈一谈如何解决b>sqrt(n)b>sqr ...

  6. Atcoder E - Knapsack 2 (01背包进阶版 ex )

    E - Knapsack 2 Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Statement The ...

  7. 2018牛客网暑期ACM多校训练营(第三场) A - PACM Team - [四维01背包][四约束01背包]

    题目链接:https://www.nowcoder.com/acm/contest/141/A 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K ...

  8. 2018.09.22 ZJOI2005午餐(贪心+01背包)

    描述 上午的训练结束了,THU ACM小组集体去吃午餐,他们一行N人来到了著名的十食堂.这里有两个打饭的窗口,每个窗口同一时刻只能给一个人打饭.由于每个人的口味(以及胃口)不同,所以他们要吃的菜各有不 ...

  9. Codeforces Round #319 (Div. 2) B. Modulo Sum 抽屉原理+01背包

    B. Modulo Sum time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

随机推荐

  1. 普通web项目转maven项目

    先要有pom.xml文件 1.首先你要确定你的开发工具是否已经安装上maven: 2.安装配置好后将你的项目导入到开发工具上: 3.右键点击java项目,选择maven选项,在选择Enable Dep ...

  2. jmeter随机函数

    有些接口的字段,入参须唯一. 高并发压测的时候,这个比较棘手,可以用多个随机函数组合 如:两个__RandomString中间,夹个__Random ${__RandomString(2,qwerty ...

  3. PadLeft 补零

    补零 PadLeft -Caption.Length())+Caption; UnicodeString __fastcall StringOfChar(WideChar Ch, int Count) ...

  4. 浅谈Matcher和pattern的使用

    这两个类位于java.util.regex包下,主要用于实现正则表达式 Pattern类用于创建一个正则表达式,也可以说是创建一个匹配模式 两个静态方法创建:compile(String regex) ...

  5. VB6 让程序结束后带有返回值

    第三方命令行程序运行完之后,批处理中可以随时通过errorlevel变量收取运行结果.而VB写的控制台程序却没有提供这样的功能.关于让控制台程序返回值的教程是本博客独家放出. 返回值,其实也就是进程的 ...

  6. MySQL优化order by导致的 using filesort

    using filesort 一般出现在 使用了 order by 语句当中. using filesort不一定引起mysql的性能问题.但是如果查询次数非常多,那么每次在mysql中进行排序,还是 ...

  7. 16 MySQL--正确使用索引

    count 统计 count(*)和count(字段名) 基本结果是一样的 但是一种情况例外,就是当某字段名下边的数据有null值的时候,不计入这个count中,*则全部列入count中 一 .索引未 ...

  8. UI5-文档-4.5-Controllers

    在这个步骤中,我们将文本替换为一个按钮,并在按钮被按下时显示“Hello World”消息.按钮的按下事件的处理是在视图的控制器中实现的. Preview A Say Hello button is ...

  9. Cookie的过期时间设置

    https://pan.baidu.com/s/1ibUQhLt6ZgVyhVM6mnrtHg 密码:9psc

  10. c:forEach varStatus属性

    转自:https://blog.csdn.net/jzy23682891/article/details/7075904 c:forEach varStatus属性 current当前这次迭代的(集合 ...