CF:Problem 383D - Antimatter 分治DP

Windows下ArduPilot SITL仿真环境搭建与QGC地面站联调全攻略 软件在环仿真(SITL)是无人机开发中的关键一环,它通过将飞控固件运行在PC上,用数学模型模拟传感器数据,实现无硬件依赖的飞行逻辑验证。这项技术不仅降低了试错成本,更为地面站开发、自动化测试和任务规划提供了安全可控的试验场。在工程实践中,MAVLink协议作为飞控与地面站之间的通信桥梁,贯穿仿真、遥测与指令控制全程。结合QGroundControl(QGC)这一主流地面站,开发者可以直观地观察飞行状态、规划航点并记录日志。本文以Windows原生环境为例,详细介绍ArduPilot SITL的搭建流程、MA 阅读详情

参考: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;  
}  
Transformer模型在时间序列预测中的应用:价格和产量预测 Transformer模型由Attention is All You Need论文提出,并在机器翻译任务上取得了巨大成功。其主要特点是使用自注意力机制代替传统的递归或卷积操作进行序列建模。Transformer模型由编码器和解码器组成,其中编码器用于学习输入序列的表示,解码器用于生成目标序列。在时间序列预测中,我们只需要使用Transformer的编码器部分。编码器将历史数据作为输入,学习一个表示,然后使用该表示来预测未来的数值。 阅读详情

相关推荐

如何使用Dify 搭建一个用自然语言查询数据库的 Agent?

这样就会发布完毕。

AI Agent 首席体验官 1698

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

CXL3.0 CDAT(Coherent Device Attributes Table)

在说明CDAT之前,先讲一下CXL中的DOE类型:CXL协议里定义了两种DOE的类型,一种是Compliance就是合规性测试的内容,还有一种就是CDAT(一致性属性表)Memory_Info_Valid是CXL设备的内存配置完成标志,位于DVSEC(Designated Vendor-Specific Extended Capability)的CXL Range X Size Low寄存器中(X为1或2)。

Summer的博客 1435

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

别再为域名备案发愁了!微信小程序后端调用,试试这个‘官方捷径’——云托管

本文介绍了微信小程序后端部署的新思路——利用微信云托管服务绕过域名备案难题。通过详细的环境准备、数据库配置、服务部署和小程序端调用方案,帮助开发者快速实现小程序与后端服务的无缝对接,大幅缩短上线周期并降低运维成本。

weixin_29243279的博客 673

PCB过孔电流承载解析:完整指南与数据参考

深入解析PCB过孔的电流承载能力,结合实际应用场景提供可靠设计参考。涵盖影响载流的关键因素,并整理实用的pcb过孔与电流对照一览表,帮助工程师优化布局与布线。

weixin_35677363的博客 632

【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

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

数据知道的博客 3101

cf 383D DP

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

马德里小铁匠的铁匠铺 909

基于深度学习的智能监考系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集)

行为检测与识别:能够自动识别考生在考试中的异常行为,如作弊、看手机、交头接耳等。实时监控:在考试期间,系统能够对考生的行为进行实时监控,及时发出警报。用户交互:通过简洁易用的UI界面,便于监考人员进行实时监控、查看警报和视频回放等操作。行为分析与反馈:系统能够识别出考生的违规行为,并提供反馈。本文详细介绍了如何构建基于YOLOv5的智能监考系统,从数据集的准备、YOLO模型的训练,到UI界面的设计与实现,展示了一个完整的深度学习监控系统。

YOLO 781

工业质检封神!YOLOv8实战金属表面缺陷检测,自建数据集mAP突破95%

本文详细介绍了基于YOLOv8的金属表面缺陷检测实战方案。针对工业质检中的光照不均、纹理复杂、小样本等挑战,作者构建了12000张图像的数据集,提出针对性数据增强策略和两阶段训练方法。通过优化损失函数、调整超参数等技术手段,最终在测试集上达到95.1%的mAP@0.5,检测速度32FPS。相比传统方法,该方案在精度和鲁棒性上均有显著提升,为工业视觉质检提供了可复现的落地解决方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 428

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

Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.5 V4L2 control的原理和实现

既然涉及到视频输入,就会有很多与 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。 内核中已经为我们提供了这个控制类型的,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。 返回总目录...

DSMGUOGUO的博客 1435

CODEFORCES, 383D Antimatter

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

Seven_Jun的博客 384

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

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

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

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
上一篇: 新生赛第二场 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、付费专栏及课程。

余额充值