CF:Problem 383D - Antimatter 分治DP

SVG文件上传漏洞实战:从XSS攻击到防御策略 本文深入剖析了SVG文件上传漏洞的成因与危害,揭示了攻击者如何利用SVG的XML本质构造恶意文件,绕过常规检查实现存储型XSS攻击。文章通过实战复现演示了完整的攻击链,并提供了从严格内容检查、安全解析过滤到设置CSP策略等多层次的纵深防御方案,帮助开发者从根本上加固文件上传功能。 阅读详情

参考:http://blog.youkuaiyun.com/u011466175/article/details/19689665

题目:http://codeforces.com/contest/383/problem/D

D. Antimatter
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Iahub accidentally discovered a secret lab. He found there n devices ordered in a line, numbered from 1 to n from left to right. Each device i (1 ≤ i ≤ n) can create either ai units of matter or ai units of antimatter.

Iahub wants to choose some contiguous subarray of devices in the lab, specify the production mode for each of them (produce matter or antimatter) and finally take a photo of it. However he will be successful only if the amounts of matter and antimatter produced in the selected subarray will be the same (otherwise there would be overflowing matter or antimatter in the photo).

You are requested to compute the number of different ways Iahub can successful take a photo. A photo is different than another if it represents another subarray, or if at least one device of the subarray is set to produce matter in one of the photos and antimatter in the other one.
Input

The first line contains an integer n (1 ≤ n ≤ 1000). The second line contains n integers a1, a2, …, an (1 ≤ ai ≤ 1000).

The sum a1 + a2 + … + an will be less than or equal to 10000.
Output

Output a single integer, the number of ways Iahub can take a photo, modulo 1000000007 (109 + 7).
Sample test(s)
input

4
1 1 1 1

output

12

Note

The possible photos are [1+, 2-], [1-, 2+], [2+, 3-], [2-, 3+], [3+, 4-], [3-, 4+], [1+, 2+, 3-, 4-], [1+, 2-, 3+, 4-], [1+, 2-, 3-, 4+], [1-, 2+, 3+, 4-], [1-, 2+, 3-, 4+] and [1-, 2-, 3+, 4+], where “i+” means that the i-th element produces matter, and “i-” means that the i-th element produces antimatter.

题意:物质为正,反物质为负,组合起来就是+或者 - ,然后题目求的是:找出有多少种组合情况为0的数目(加起来为0)。

因为如果模拟组合情况的话,那么就是指数级别的了,肯定超时,所以只有DP了。
一个比较好的条件就是 sum<10000

using namespace std;  
typedef long long ll;  
int n, a;  
ll ans, d[2][22001]; //两种状态,即前一种状态的情况和当前状态情况,因为当前组合情况状态是在前一种组合情况状态下组合出来的  
int main()  
{  
    cin >> n;  
    for (int i = 0; n--; i ^= 1)  
    {  
        cin >> a;  
        //枚举每一种状态组合情况,几句就把+与-还有组合的情况就给模拟出来了,分治DP太强大了  
        for (int j = 1000; j <= 21000; ++j) //分治法,所以中间为11000  
            d[i][j]=(d[!i][j-a]+d[!i][j+a])%INF; //与其他数组合+或-的情况,j-a与j+a这思想即是分治,
        d[i][11000 + a]++; //自己为正的情况  
        d[i][11000 - a]++; //自己为负的情况  
        ans = (ans + d[i][11000]) % INF;  
    }  
    cout << ans << endl;  
    return 0;  
}  
运算放大器测试方法-输入失调电压 由于运放输入回路的不对称性,在输入端将产生一定的误差信号,从而限制运放信号灵敏度。通常用输入失调电压(VOS)、输入失调电流(Ios)和输入偏置电流(IB)表示。运放有四个主要特征:输入失调特征、开环特征、共模特征及输出特征。其放大倍数较大,由于外界的影响,即使运放的输入端产生较小的输入信号,经过放大,在输出端也会产生较大的误差。为能精确测量其性能,一般采用辅助运放进行测试。下面着重讲了运放的主要参数及如何精确测量这些参数。文中DUT代表被测运放,A代表辅助运放。 阅读详情

相关推荐

第7篇-SAP MM模块-JIT应用实战解析,从计划协议到JIT供应的关键配置与流程

本文深入解析SAP MM模块中的JIT(Just In Time)供应模式,从计划协议到JIT供应的关键配置与流程。通过动态计划行管理、需求聚合与分解等核心功能,实现精确数量、时间和地点的物料供应。文章详细介绍了主数据准备、计划协议配置、MRP参数精调及EDI集成方案,并提供了实施中的典型问题与解决方案,助力企业优化供应链管理。

weixin_30363509的博客 947

Codeforces Round #356 (Div. 1)-B. Bear and Tower of Cubes

原题链接 B. Bear and Tower of Cubes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Limak is a little pola

L. 447

深度学习-算法工程师岗位面试常见问题及解答

一、相关的问题 深度学习优化学习方法(一阶、二阶) 一阶方法:随机梯度下降(SGD)、动量(Momentum)、牛顿动量法(Nesterov动量)、AdaGrad(自适应梯度)、RMSProp(均方差传播)、Adam、Nadam。 二阶方法:牛顿法、拟牛顿法、共轭梯度法(CG)、BFGS、L-BFGS。 自适应优化算法有哪些?(Adagrad(累积梯度平方)、RMSProp(累积梯度平方的滑动平均)、Adam(带动量的RMSProp,即同时使用梯度的一、二阶矩))。 梯度下降陷入局部最优有什么解决

nobles007820的博客 2924

Codeforces 679B Bear and Tower of Cubes

题意:给定不超过1e15的数m,每次贪心地取不超过m的最大的立方数ak,求最大的数X,使得X=a1+a2...+al=X并且X最大分析:设a[i]为不超过m的最大的立方数,对于每次m-a[i](剩下的体积越大越好),贪心地取a[i]或者a[i-1],取完a[i]之后是m-a[i],取完a[i-1]之后是a[i]-1-a[i-1](因为如果是a[i]必须取最大的a[i]),如果取a[i-2]剩下的体...

zhlbjtu2016的博客 296

Setup&Hold互卡问题和Useful Skew的影响

setup和hold互卡问题分析

godping的博客 5093

USB 3.0 Rx Detect之超速U盘的识别

USB 3.0 Rx Detect之超速U盘的识别

汽车以太网和SOA 2万+

【19.05%】【codeforces 680D】Bear and Tower of Cubes

time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Limak is a little polar bear. He plays by building towers from blocks. Every...

160

使用mne包来对脑电数据进行预处理(一)

MNE(MNE-Python)是一个用于处理脑电(EEG)、磁图(MEG)和其他神经科学数据的Python库。它提供了丰富的功能,包括数据加载、预处理、分析和可视化,旨在帮助研究人员和神经科学家更轻松地进行脑电数据的处理和分析。在本文中,我们使用mne来对不同的格式的脑电数据集进行数据读取。

m0_71596228的博客 4303

cf 383D DP

一道统计类的DP 开始把题目看错了......连样例都过不了 题目的意思要求连续的子序列,然后

马德里小铁匠的铁匠铺 909

【深度学习新浪潮】Qwen门控注意力斩获NeurIPS 2025最佳论文!技术解析与代码实现

Qwen团队的门控注意力机制获得NeurIPS 2025最佳论文,不仅是中国AI研究的重大突破,更是大模型架构创新的重要里程碑。这项研究证明,通过巧妙的架构设计,可以在不显著增加计算成本的前提下,大幅提升模型性能。正如论文所展示的,用一个极其简单的改动,同时解决了Transformer架构中的多个核心问题,这正是优秀研究的价值所在。该技术已成功应用于Qwen3大模型,为通义千问系列产品的性能提升提供了坚实的技术支撑。轻量化大模型设计多模态统一架构专用领域大模型优化边缘计算场景部署。

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

基于Matlab的深度学习OFDM系统信号检测

在接收端,我们首先去除循环前缀,然后对接收到的信号进行FFT变换和QAM解调。在通信系统中,正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一种常用的调制技术,它可以将高速数据流分成若干个低速子载波进行传输,提高了信道利用率和抗干扰性能。接下来,我们使用训练好的神经网络对QAM调制后的数据进行检测,得到估计的FFT变换结果。深度学习方法可以通过大量的训练数据来学习信号的特征,并具有一定的适应能力,在某些情况下可能能够获得更好的检测性能。

2301_79325657的博客 296

Codeforces 383D. Antimatter DP

D. Antimatter time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Iahub accidentally discovered a secret lab. He

码代码的猿猿 1309

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

CODEFORCES, 383D Antimatter

题意:给出n个数,每个数>0的数组。选择一个连续的序列,给序列中每个数选择正负号,使得求和结果为0。问有多少种不同的选择。给出约束条件 a1+a2+...+an-1+an的值不超过10000 n 策略:如果暴力搜索枚举的话首先区间就能枚举1000+999+..+1  是10^6级别,再算上每个数有2种选择的话显然量级太大。 但是我们有一个关键的约束条件。在做的时候并没有注意,所以也是想了很久

Seven_Jun的博客 384

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

codeforces_679B. Bear and Tower of Cubes(贪心+二分+dfs)

B. Bear and Tower of Cubes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Limak is a little polar bear. He

凳子 582

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

CodeForces 679B(Bear and Tower of Cubes)

题意:Limak要垒一座由立方体垒成的塔。现有无穷多个不同棱长(a>=1)的立方体。要求:1、塔的体积为X(X<=m).2、在小于X的前提下,每次都选体积最大的砖块。3、在砖块数最多的前提下,使X尽可能大。求最终垒成塔所用的最大砖块数和塔可能的最大体积(在砖块数最多的前提下)。 思路:首先找到一个体积最大的砖块first_block(a3 ≤ m)。现在first_blo...

Cherrychan2014的博客 204

codeforces 680D D. Bear and Tower of Cubes(dfs+贪心)

Bear and Tower of Cubes time limit per test  2 seconds memory limit per test  256 megabytes input  standard input output  standard output Limak is a little polar bear. H

会打架的程序员不是好客服 446

codeforces 679B Bear and Tower of Cubes(贪心+dfs)

给你m,让你选一个不超过m的数字X,然后每次都选最大的a3≤X给你m,让你选一个不超过m的数字X,然后每次都选最大的a^3\le X 然后X=X−a3,然后继续这么操作然后X=X-a^3,然后继续这么操作 先最大化操作次数,然后最大化X先最大化操作次数,然后最大化X 一般这种都是二分,但是这题不是,是一个贪心一般这种都是二分,但是这题不是,是一个贪心 考虑第一块取多少,最大的a3≤m考虑第一

Miracle_ma的专栏 668

Codeforces 383D. Antimatter

n个数(1..1000),从这串数中选取一个字串,任意添加数前的正负号,若以一种方案加上符号后该字串的和为0,则是一种可行的方案,问对这n个数共有多少种可行的方案(字串大小任意,至少为2(1个数怎么也凑不出0...))。n个数的和不超过10000.一般情况下,题目的条件都是有用的,这道题就是从n个数的和不超过10000入手.dp[i][j]记录以第i个数为终点,此时和为j的方案数.转移方程dp[i

Broken Wings 998

Codeforces383 D. Antimatter(dp,背包)

题意: 给定长度为n的序列a, 现在要求给每个a[]加上正负号 问有多少种连续子段的和为0,答案对1e9+7取模 数据范围:n<=1000,sum(a[i])<=1e4 解法: 类似01背包,考虑a[i]正负号,以及a[i]单独作为子段开头即可 值域到了负数,加个base就行了 code: #include<bits/stdc++.h> using namespace std; const int maxm=1e4+5; const int mod=1e9+7; const int

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 214

Codeforces 679B Bear and Tower of Cubes 【贪心】

题目链接:Codeforces 679B Bear and Tower of Cubes B. Bear and Tower of Cubes time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Limak is a littl

世界很大 1272

Codeforces 680D - Bear and Tower of Cubes

680D - Bear and Tower of Cubes 思路:dfs+贪心,设剩余的体积为res,存在a,使得a3≤ res,每次取边长为a的立方体或者边长为a-1的立方体(这时体积上限变成a3-1)。 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define p...

weixin_33738555的博客 160

Codeforces Round #356 (Div. 2) D. Bear and Tower of Cubes

D. Bear and Tower of Cubes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Limak is a little polar bear. He plays by

WZJRJ28 746

Codeforces Round #225 (Div. 1) D. Antimatter

背包DP 因为权值可正可负,所以将权值大小提高

Mr.Phoebe的专栏 705

CodeForces 383D Antimatter(DP)

题意:给出一个数字序列,每个数字可以随意增添正负号,问有多少和为0的不同的子串。 思路:DP。用dp[i][j]表示以前i个数字中以i结尾且数字和为j的不同字串数量,然后就可以写出状态转移方程 dp[i][j+a[i]] = (dp[i][j+a[i]]+dp[i-1][j]) % MOD dp[i][j-a[i]] = (dp[i][j-a[i]]+dp[i-1][j]) % MOD d

GODSPEED 471

【CodeForces】679 B. Bear and Tower of Cubes

【题目】B. Bear and Tower of Cubes 【题意】有若干积木体积为1^3,2^3,...k^3,对于一个总体积X要求每次贪心地取<=X的最大积木拼上去(每个只能取一次)最后总体积恰好为X,求给定的1~m内使积木数量最大的X,相同取X较大者。m<=10^15。 【题解】对于一个给定的限制m,考虑最大那块积木的选择,设最大的<=m的积木是a^3。 1.取a^...

weixin_33909059的博客 175

Codeforces 383 D. Antimatter(DP)

Iahub accidentally discovered a secret lab. He found there n devices ordered in a line, numbered from 1 to n from left to right. Each device i (1 ≤ i ≤ n) can create either ai units of matter or ai units of antimatter. Iahub wants to choose some contiguous

tomjobs的博客 486
上一篇: 新生赛第二场 C题
下一篇: Codeforces 383C Propagating tree(树状数组)
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值