acdream 1726 A Math game (部分和问题 DFS剪枝)

反制反心理特征的研究 抓牛股 阅读详情


A Math game

Time Limit: 2000/1000MS (Java/Others)
Memory Limit: 256000/128000KB (Java/Others)
Problem Description
Recently, Losanto find an interesting Math game. The rule is simple: Tell you a number H, and you can choose some numbers from a set {a[1],a[2],......,a[n]}.If the sum of the number you choose is H, then you win. Losanto just want to know whether he can win the game.
Input
There are several cases.
In each case, there are two numbers in the first line n (the size of the set) and H. The second line has n numbers {a[1],a[2],......,a[n]}. 0<n<=40, 0<=H<10^9, 0<=a[i]<10^9,All the numbers areintegers.
Output
If Losanto could win the game, output "Yes" in a line. Else output "No" in a line.
Sample Input
10 87
2 3 4 5 7 9 10 11 12 13
10 38
2 3 4 5 7 9 10 11 12 13
Sample Output
No
Yes
Source
第九届北京化工大学程序设计竞赛

题目链接: http://acdream.info/problem?pid=1726

题目大意:部分和问题

题目分析:正解是二分+DFS,我的做法是DFS用前缀和剪枝,4ms过,估计还是数据水了,

#include <cstdio>
#include <cstring>
#define ll long long
ll a[45], h, sum[45];
int n;
bool flag;
 
void DFS(ll num, int pos)
{
    if(num == h)
    {
        flag = true;
        return;
    }
    if(flag || pos == n + 1)  
        return;
    //若当前数字加剩下的数字和小于h或者当前数字大于h则返回
    //不加妥T
    if(sum[n] - sum[pos - 1] + num < h || num > h) 
        return;
    DFS(num + a[pos], pos + 1);
    DFS(num, pos + 1);
    return;
}
 
int main()
{
    while(scanf("%d %lld", &n, &h) != EOF)
    {
        memset(sum, 0, sizeof(sum));
        flag = false;
        for(int i = 1; i <= n; i++)
        {
            scanf("%lld", &a[i]);
            sum[i] = sum[i - 1] + a[i];
        }
        DFS(0, 1);
        if(flag)
            printf("Yes\n");
        else
            printf("No\n");
    }
}



PWM调节DCDC参数计算原理 SOC芯片的核电压、GPU电压、NPU电压、GPU电压等,都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS(Dynamic Voltage and Frequency scaling),优化性能和功耗。 阅读详情

相关推荐

STM32F407通过FSMC接口与LAN9252的EtherCAT从站移植实战

本文详细介绍了在STM32F407平台上,通过FSMC接口驱动LAN9252 EtherCAT从站控制器的完整移植实战。内容涵盖硬件连接、FSMC时序配置、官方SDK代码分析与关键修改、EtherCAT协议栈集成适配,以及实战调试与稳定性优化技巧,旨在帮助工程师解决工业通信中的核心挑战,实现稳定高效的实时控制网络接入。

weixin_29268267的博客 275

NYOJ 1056 部分和问题

部分和问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入首先,n和k,n表示数的个数,k表示数的和。 接着一行n个数。 (1输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO”样例输入 4 13 1

briup_acmer的专栏 3297

Chroma向量数据库实战:用Python快速搭建本地知识库(附中文诗词检索案例)

本文详细介绍了如何使用Chroma向量数据库和Python快速搭建本地知识库,并附有中文诗词检索的实战案例。通过解析核心概念、数据准备、向量化及智能检索实现,展示了Chroma在处理中文语义搜索时的轻量级与易用性,为开发者构建AI应用原型提供了实用指南。

weixin_29221753的博客 480

部分和问题 【DFS】or【贪心】【DFS+ 剪枝】

给定 一个整数序列 a1 a2 a3 …..an 问能否从中选取若干个点,使他们的和恰好为K 1<=n<=20 第一种 -10^8<= ai <=10^8 -10^8<= K <=10^8 因为 题目中 的 ai和k 都可能是负数,所以只能够 用dfs 全排列 找到答案 第二种 0<= ai <=10^8 0<= k <=10^8 对于这个条件 ,就有多种求法了

lzs_lazy 518

IMU预积分--详细推导过程

IMU预积分推导

weixin_51547017的博客 2万+

Python爬虫实战:利用Playwright与异步技术高效抓取链家十万级二手房数据

在开始编写代码之前,我们首先需要为项目选择合适的技术栈。1. 传统方案:Requests + BeautifulSoup优点: 简单、轻量、学习成本低。直接发送HTTP请求获取HTML,然后解析。缺点: 对于大量由JavaScript动态渲染的内容无能为力。现代网站(包括链家)大量使用JS来加载数据和实现交互,简单的HTTP请求无法获取到完整的页面内容。此外,容易被基于IP或请求头特征的反爬机制拦截。2. 进阶方案:Selenium优点。

2201_76125261的博客 891

hdoj-1010-Tempter of the Bone【深搜+剪枝】

Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 90097 Accepted Submission(s): 24482 Problem Description The doggie fou

qq_18062811的专栏 1067

MIL图像处理那些事:MIL的安装和MIL工具箱

MIL图像处理那些事:MIL的安装和测试,如何用C#使用MIL

十多年IT经验,专注机器视觉,智能制造半导体行业 5274

NYOJ 1058 部分和问题 【DFS】

部分和问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入首先,n和k,n表示数的个数,k表示数的和。 接着一行n个数。 (1 输出如果和恰好可以为k,输出“YES”,并按输入顺序依次输出是由哪几个数的和组成,否则“NO” 样例输入

长风的专栏 2037

STM32实战开发(122):基于STM32的溶解氧检测系统设计与实现

溶解氧(DO, Dissolved Oxygen)是水质检测中至关重要的指标之一,尤其是在环境监测、工业废水处理以及水产养殖等领域,溶解氧的浓度直接影响到水体的生态环境和生物的健康。电流的大小就可以用来反映水中溶解氧的浓度。本博客将详细介绍如何基于STM32微控制器开发一个智能溶解氧检测系统,内容涵盖系统的硬件设计、软件开发、优化与调试等方面,提供实际的代码实现与实验数据,并展望溶解氧检测系统在物联网环境下的应用。为了提高系统的精度,可以优化ADC的采样率,增加传感器的校准频率,或使用更加精确的传感器。

2201_76125393的博客 1602

Android Telephony主要模块及功能

Telephony的代码主要由五个模块组成 1.Telephony Frameworks 代码区域: frameworks/opt/telephony/ 其中主要的文件在如下目录 /frameworks/opt/telephony/src/java/com/android/internal/telephony/ 其中比较常见的有以下几类文件 1.BaseCommands、RIL构成R

泊客 7723

acdream 1726 A Math game(部分和)

A Math game Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 256000/128000KB (Java/Others) Submit Status Problem Description Recently, Losanto find an interesting Math game. The rule

du_lun的博客 250

MySQL 一一 MySQL基本使用

1、数据库 简单来说,所谓的数据库就是存储数据的容器,而且是永久存储的。 2、为什么需要数据库 3、为什么要学习MySQL数据库 最早MySQL数据,瑞典AB公司开发的一款开源型的关系型数据库。 随着时间的推移,瑞典AB公司把MySQL数据库转让给Sun公司(Java语言的创始公司) 后来,Sun公司经营不善,又把MySQL数据库转让给甲骨文公司(Oracle数据库) 4、数

Guizy 7万+

ACdream-1726-A Math game(dfs+二分)

链接http://vjudge.net/problem/ACdream-1726 官方题解http://acdream.info/topic?tid=4246#include<cstdio> #include<cstring> #include<algorithm> using namespace std;int n,h,n1,n2,a[50],b[50],c[1050000],cnt; bool

404

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ACdream 1726 A Math game

深搜。不过有一个强大的剪枝。就是假设之后的全部用上都不能达到H,则return。 if (A[n]-A[x-1]+summ< H) return; //A[n]表示前nx项和 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const...

weixin_33711647的博客 111

pscad IEEE标准系统搭建说明

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

ACdream 1726 A Math game (dfs+二分)

http://acdream.info/problem?pid=1726 官方题解:http://acdream.info/topic?tid=4246 求n个数里面能不能选一些数出来让它们的和等于k。 因为k很大,不能用背包,但是n很小,最大为40,所以拆成了2部分,之后最大为2^20次方<1050000;每次枚举前一半的和,然后用数组存储,然后得到一个总和减去后一半的差用二分查找。...

weixin_30642305的博客 102

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ACdream1726-A Math game+(DFS+二分)+(DFS+前缀和)

传送门 官方题解:http://acdream.info/topic?tid=4246 参考:https://www.cnblogs.com/nowandforever/p/4492428.html 题意:在给定的n个数中,能否找到几个数使得这几个和等于H; 思路:注意这道题的条件0<n<=40, 0<=H<10^9, 0<=a[i]<10^9,其中 ...

weixin_30794851的博客 127

Nightmare(暴力剪枝BFS)

Link:点击打开链接 problem: Nightmare Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7319    Accepted Submission(s): 3514 Problem

林下的码路 1089

Tempter of the Bone (深搜+剪枝)

第一次遇到剪枝这一概念,主要是用来减少步骤的吧,WA了十四次  尴尬 H - Tempter of the Bone Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description The doggie fo

yinghui_yht的博客 4917

NOJ 1203 最多约数问题 (算数基本定理 DFS +剪枝)

最多约数问题                                                 时间限制(普通/Java) : 20000 MS/ 30000 MS          运行内存限制 : 81920 KByte 题目描述    正整数x的约数是能整除x的正整数。正整数x的约数个数记为div(x)。例如,1,2,5,10都是正整数10

Tc的专栏 3194

HDU 5305 Friends (DFS)

HDU 5305 Friends (DFS)

Tc的专栏 2697

HDU 5527 Too Rich (好题 贪心 DFS)

HDU 5527 Too Rich (贪心 DFS)

Tc的专栏 2500

HDU 5025 Saving Tang Monk (复杂BFS)

Saving Tang Monk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 48    Accepted Submission(s): 16 Problem Description 《Journey to

Tc的专栏 2391

基础搜索算法题解(N-R)

搜索

Tc的专栏 2161

LeetCode 140 Word Break II (DFS 分词方法 推荐)

LeetCode 140 Word Break II (DFS 分词方法 推荐)

Tc的专栏 1950

POJ 1184 聪明的打字员 (BFS + 剪枝)

聪明的打字员

Tc的专栏 1871
上一篇: hihocoder 1158 质数相关 (二分图最大独立集 最大流ISAP求解)
下一篇: HDU 3973 AC's String (substr 强行匹配)
_TCgogogo_
博客等级 码龄12年 615粉丝 1081原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值