AtCoder Grand Contest 020 C - Median Sum (背包问题+bitset )

MIPI转LVDS芯片调试实战:从Kernel到UEFI的完整点亮流程 本文详细解析了MIPI转LVDS芯片调试的全流程,从Kernel驱动开发到UEFI早期初始化,涵盖I2C通信、电源时序控制等核心挑战。通过LT9211芯片实战案例,提供设备树配置、电源时序优化及显示异常排查等实用技巧,助力工程师高效完成屏幕调试工作。 阅读详情

Time limit : 2sec / Memory limit : 512MB

Score : 700 points

Problem Statement

You are given N integers A1, A2, ..., AN.

Consider the sums of all non-empty subsequences of A. There are 2N−1 such sums, an odd number.

Let the list of these sums in non-decreasing order be S1, S2, ..., S2N−1.

Find the median of this list, S2N−1.

Constraints

  • 1≤N≤2000
  • 1≤Ai≤2000
  • All input values are integers.

Input

Input is given from Standard Input in the following format:

N
A1 A2 … AN

Output

Print the median of the sorted list of the sums of all non-empty subsequences of A.


Sample Input 1

Copy
3
1 2 1

Sample Output 1

Copy
2

In this case, S=(1,1,2,2,3,3,4). Its median is S4=2.


Sample Input 2

Copy
1
58

Sample Output 2

Copy
58

In this case, S=(58).

题意:序列构成的子集加起来然后求出中位数
思路:背包问题+bitset
#include <iostream>
#include <cstdio>
#include <map>
#include <cstring>
#include <string>
#include <algorithm>
#include <cmath>
#include <set>
#include <bitset>
const int N = 100005;
using namespace std;
typedef long long ll;
int a[N];
int n;
bitset<4000010> f;
int main()
{
    int i,j,k=0;
    scanf("%d",&n);
    f[0]=1;
    for(i=1;i<=n;i++)  //得到n个数构成的集合f,有则为1,无则为0
      {
       scanf("%d",&j);
       f=f|(f<<j);
       k+=j;
       //printf("%d\n",f);
      }
      /*for(int i=1;i<=k;i++)
      {
          if(f[i]==0)
            printf("0\n");
          else
            printf("1\n");
      }*/
    for(i=(k+1)/2;!f[i];i++);//从总值的一半开始找
    printf("%d\n",i);
    return 0;
}




MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现) 信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。 阅读详情

相关推荐

从传统扫描到SSN:Tessent数据包技术如何减少90%测试时间

本文深入探讨了Tessent流式扫描网络(SSN)如何通过其核心的数据包技术,彻底改变芯片测试范式。该技术将测试数据封装成标准化数据包,在共享总线上进行智能路由与分发,实现了动态带宽分配与核心独立测试,从而将复杂SoC(如AI芯片)的总体测试时间大幅削减90%,并显著提升测试灵活性与可扩展性。

meat5的博客 490

[bitset入门]【dp优化】AGC020C - Median Sum

•假设考虑的是所有子集,包括空子集; s代表子集所有元素之和 •显然对于一个子集和x,存在另一个子集和s-x 所以只要考虑(&gt;=(s+1)/2)且最接近的值 考虑背包 bitset维护 #include&lt;bits/stdc++.h&gt; using namespace std; long long n,sum,x; bitset&lt;4500000&gt; bi; in...

Wall-E 380

MCP4728 电路及stm32F103程序移植

写在前面 通过优快云查到一些MCP4728 的程序,结合程序及datasheet对于驱动的描述,理清了思路 感谢开路者! MCP4728的电路比较简单,见下文描述 应用电路 datasheet: 实际测试电路: SCL接stm32的PB10,SDA接PB11 RDY/BSY引脚和LDCA引脚,悬空 解释见截图: MCP4728地址 选择任意输出通道写入DAC输入寄存器 应用程序 int mcp4728_write_all_channel(float vol1, float vol2, fl

u013074298的专栏 5425

Median Sum

Median Sum 题目链接 用bitset第i位表示i是否出现, 主要作用是快速的得到之前的所有状态经过现在更新之后能得到的所有状态。 就是代码中dp |= dp <<tmp; dp就是前一个bitset状态, 这句代码的意思就是先将之前的dp 全部左移tmp位(表示之前所有的集合都加上tmp形成的所有新集合)再 或上之前dp的状态(表示不加上tmp之前所有集合的原状态)。 p 对...

czyzx的博客 322

GB 47955—2026 L2组合驾驶辅助强制国标全解、合规方案与工程代码落地

GB 47955—2026 L2辅助驾驶国标合规工程代码# 运行环境:Python3.8+,适配车载仿真、台架测试、算法验证场景# 依赖安装:pip install numpy dataclasses tqdm struct time json# ===================== 国标强制时序参数(完全对标GB 47955—2026) =====================HAND_OFF_FIRST_WARN = 5.0 # 手部脱离5s触发一级预警。

lin_xiu的博客 299

【深度学习新浪潮】李飞飞团队VAGEN框架深度解析:让VLM智能体学会“三思而后行“

VAGEN框架的真正价值,不仅在于性能指标的突破,更在于重新定义了VLM智能体的发展方向——人工智能的进步不应只追求"做得对",更要实现"想得清"。李飞飞团队通过强制显式思考、动态表示适配和精细化奖励三大创新,让智能体第一次具备了可解释的世界建模能力。正如人类通过"观察-预测-行动"认识世界,VAGEN为AI注入的这种思考范式,或许正是通往通用人工智能的关键一步。对于开发者而言,开源的VAGEN框架不仅提供了强大的工具,更揭示了一个重要理念:让AI学会思考,比让它学会执行更重要。

专注:太空算力、AI infra、异构调度、大模型成本工程 280

AtCoder C - Median Sum //bitset 01背包优化

AtCoder C - Median Sum //bitset 01背包优化 C - Median Sum Time limit: 2sec /Memory limit: 512MB Score :700points Problem Statement You are givenNintegersA1,A2, ...,AN. Consider the sums ...

Rshs 427

使用MATLAB实现PAC2002轮胎模型的TIR文件解析和模型计算详解

PAC2002轮胎模型是由荷兰TNO公司开发的一种半经验的轮胎模型,用于描述轮胎在不同工况下的力学特性。该模型基于一系列物理和经验参数,通过复杂的数学表达式来模拟轮胎的力学行为,包括纵向力、侧向力、回正力矩等。

qq_38334677的博客 2429

C - Median(二分)

C - Median(二分) Time limit : 1000ms / Memory limit : 65536 kb OS : Linux Problem Statement Given N numbers, X1, X2, … , XN, let us calculate the difference of every pair of numbers: ∣Xi - Xj∣ (1 ≤ i...

MrBeanC的博客 660

手把手教你学 Simulink (1.3)--Simulink 的模块库及其模块介绍

Simulink 提供了丰富的模块库,涵盖了从基本的信号生成和处理到复杂的数学运算和系统建模的各种功能。通过熟悉这些模块库及其模块,你可以更高效地构建和仿真动态系统。

MHD0815的博客 5150

7、PPG信号处理与质量评估

本文详细介绍了PPG信号的处理与质量评估方法,包括信号滤波技术(如卷积和互相关)、滤波器选择、信号质量指标(SQI)的定义与应用,以及标注一致性的评估。同时,提供了MATLAB代码示例和操作步骤,并分析了不同指标的优势与适用场景,旨在提高PPG信号在诊断和监测中的准确性与可靠性。

salt的博客 254

gym101128 Promotions,cf528d Fuzzy Search,agc020c Median Sum 题解(bitset)

这三题都可以用bitset Promotions 很明显,这题要求的是一个点能到的点的个数和能到他的点的个数。由于第二个问题其实就是第一个问题的反向构图得到的答案,所以我们就讨论第一题的做法: 建立一个bitset表示i号点可以到达的点的集合,bitseti=bitsetj1∣bitsetj2...(存在边i−>j)bitset_i=bitset_{j_1}|bitset_{j_2}...(存在边i->j)bitseti​=bitsetj1​​∣bitsetj2​​...(存在边i−>j)

qq_42925924的博客 505

【干货分享】高通 SA8295P PCB 设计规范指南

高通SA8295P芯片是第四代骁龙汽车数字座舱平台的核心组件,采用5nm工艺,集成高性能CPU/GPU和30TOPS算力的NPU。文章详细介绍了该芯片各接口的layout设计规范,包括USB3.1/2.0、eDP/DP、MIPI CSI/DSI、PCIe Gen3等接口的阻抗、损耗、延时等关键指标要求,为新能源汽车电子设计提供重要参考。

一只豌豆象的博客 262

AtCoder Grand Contest 020 C - Median Sum(背包+bitset)

AtCoder Grand Contest 020 C - Median Sum(背包+bitset) 题目链接 Median Sum 题目大意 给你N" role="presentation" style="position: relative;">NNN个数, A1,A2...An" role="presentation" style="position: relative;"

ZZZZone的博客 877

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

AtCoder Grand Contest 020 C - Median Sum

题目大意: " role="presentation" style="position: relative;">\quad 给 N" role="presentation" style="position: relative;">NNN 个正整数数,A1,A2,⋯,AN" role="presentation" style="position: relative;">A1,A2,⋯

XzzF1024的博客 559

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

AT3857-[AGC020C]Median Sum【背包,bitset】

正题 题目链接:https://www.luogu.com.cn/problem/AT3857 题目大意 给出nnn个数字的一个序列aaa,求它的所有非空子集的和的中位数。 1≤n,ai≤20001\leq n,a_i\leq 20001≤n,ai​≤2000 解题思路 考虑到假设所有数的和为SSS,一个集合的和为xxx,那么肯定有与其对应的另一个集合和为S−xS-xS−x。 所以如果算空集的话中位数一定是S2\frac{S}{2}2S​,但是因为不算所以需要往后移一个,那就是和大于且最接近S2\fra

QuantAsk 402

AGC020C Median Sum

高端操作qaq 又双叒叕读错题了= = 然后重新读题发现不会做了 于是瞅了一波题解 我靠要不要这么暴力呜呜呜 直接bitset O(n^3/w)QAQ 就是f[i]表示i是否能被搞出来 然后我们先不看2^n-1 补上空集就是2^n 然后这就两两对应分出组了 然后我们要找的就是比(sum+1)/2大的第一个元素 bitset强上= = 学习一发bitset正确优化姿势也海星 //L...

weixin_34304013的博客 179

【算法笔记】三种背包问题——背包 DP

背包(Knapsack)问题是经典的动态规划问题,也很有实际价值。这是最原始的01背包问题(即每个物品只能选000或111次)。下面我们来看如何求解。 令fi,jf_{i,j}fi,j​表示只考虑前iii个物品的情况下,容量为jjj的背包所能装的最大总价值。则最终答案为fn,Wf_{n,W}fn,W​,状态转移方程为:...

天生我材必有用,千金散尽还复来。 7892

AtCoder Beginner Contest 248 C - Dice Sum 「二维费用背包的计数问题」

C - Dice Sum 题目描述: 问存在多少种序列A,满足如下的条件: 长度为n A[i] <= m ∑i=1nA[i]<=K\sum_{i=1}^{n}{A[i]}<=K∑i=1n​A[i]<=K 思路: 我们可以把他看成一个二维费用的背包问题 每个物品的体积是1,重量是i,背包的总体积是n,承载重量是K 问的是方案数 dp[j][k]表示当前体积是j,用了k的重量的方案数 状态转移方程: dp[j][k]+=dp[j−1][k−i]dp[j][k] += dp[j

Suryxin's blogs 665

AtCoder Educational DP Contest

每天只能进行一个活动,且相邻两天不能做相同的活动。现在要挑选一些物品装入袋子里,求选择的物品的最大总价值。现在要挑选一些物品装入袋子里,求选择的物品的最大总价值。很大,直接套用01背包计算,时间和空间肯定一定炸。给定两个字符串,输出它们的任意一个最长公共子序列。经典01背包问题,按照01背包的解法做即可。只能从另外两个状态中的最大值转移过来。由于相邻两天不能做相同的活动,所以。的最小重量,这样就不会炸了。很小,我们可以转换思路,设。,就可以递归输出方案。号石头时的最小代价。号石头时的最小代价。

pystraf的博客 952

[AGC020C] Median Sum

题意: 给你一个长度为nnn的正整数序列aaa,它包含2n−12^n-12n−1个非空子序列,求所有非空子序列的权值的中位数。 一个子序列的权值为子序列内所有元素权值之和。 题解: 我们记所有元素权值的和为sss。 那么如果把空序列也考虑进来的话,对于任意一个权值为xxx的子序列,一定能找到一个权值为s−xs-xs−x的子序列。 也就是说,所有子序列的权值在⌊s2⌋\lfloor \frac{s}...

ezoixx130's Blog 522

[AGC020-C] Median Sum

洛谷传送门 Atcoder传送门 题目大意 给你N个正整数a1,a2,...,aNa1,a2,...,aNa_1,a_2,...,a_N。 考虑其非空子序列共有2N−12N−12^N-1个, 其元素的和分别为s1,s2,s3...s2N−1s1,s2,s3...s2N−1s_1,s_2,s_3...s_{2^N-1},求sisis_i的中位数。 输入输出格式 输入格式 ...

LPA的博客 389

AT3857 [AGC020C] Median Sum

https://www.luogu.com.cn/problem/AT3857 首先发现假设和为sss 如果存在和为xxx的子集,那么一定存在和为s−xs-xs−x的子集 那么肯定是对称的 所以中位数一定是(s+1)/2(s+1)/2(s+1)/2往上找 那么只需要用bitsetbitsetbitset跑一遍背包看看每个数是否能被取到 第一个>=(s+1)/2>=(s+1)/2>=(s+1)/2的能被取到的数就是答案 code: #include<bits/stdc++.h>

lahlah的博客 360

leetcode刷题之背包问题(01背包)

最简单的背包

mabaizi的博客 4507

HDU - 1171 Big Event in HDU(01背包)

点击打开题目链接 Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 43705Accepted Submission(s): 15030 Problem Descrip

Chook_lxk的博客 372

atcoder Median Sum题解

原题链接:https://atcoder.jp/contests/agc020/tasks/agc020_c 上来先给AC代码 #include<bits/stdc++.h> using namespace std; const int N=2e6+5; bitset<N>V; int main() { int n,s=0; scanf("%d",&n); V[0]=1; for(int i=0,x; i<n; i++)scanf("%d

mmbumeng的博客 358

Atcoder 3857 Median Sum

Problem Statement You are givenNintegersA1,A2, ...,AN. Consider the sums of all non-empty subsequences ofA. There are2N−1such sums, an odd number. Let the list of these sums in non-decreasi...

weixin_30782331的博客 179
上一篇: AtCoder Grand Contest 020 B - Ice Rink Game(贪心+计算机乘法)
下一篇: next_permutation(全排列算法)
深海沧澜夜未央
博客等级 码龄10年 763粉丝 552原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值