hdu 2660 Accepted Necklace dp / dfs

IntelliJ IDEA 中git使用说明书 阅读详情

题目链接


题意:

给出 N 块 石头,从中 至多 选取 k 块(不能重复),重量不得超过 W,求最大价值


思路:

1. 

dp 三重循环 最外层为 当前考虑的石头,里面两层为 取了多少块 和 重量,这两层先后顺序无所谓,总之都是从大到小

然而题意表述不清,以为一定要选取 k 块石头...事实上是至多。


AC代码如下:

#include <cstdio>
#include <cstring>
#define maxn 22
int v[maxn], c[maxn], dp[maxn][1010], n, k;
inline max(int a, int b) { return a > b ? a : b; }
void work() {
    for (int i = 1; i <= n; ++i) scanf("%d%d", &v[i], &c[i]);
    int w;
    scanf("%d", &w);
    memset(dp, 0, sizeof(dp));
    for (int i = 1; i <= n; ++i) {
        for (int j = k; j >= 1; --j) {
            for (int p = w; p >= c[i]; --p) {
                dp[j][p] = max(dp[j][p], dp[j - 1][p - c[i]] + v[i]);
            }
        }
    }
    printf("%d\n", dp[k][w]);
}
int main() {
    int T;
    scanf("%d", &T);
    while (scanf("%d%d", &n, &k) != EOF) work();
    return 0;
}


2.

因为 N <= 22, K <= N, 可以直接 dfs


AC代码如下:

#include <cstdio>
#include <cstring>
#define maxn 22
int v[maxn], c[maxn], dp[maxn][1010], n, k, ans, w;
inline max(int a, int b) { return a > b ? a : b; }
void dfs(int cnt, int tot, int cost, int val) {
    if (tot <= k && cost <= w) {
        ans = max(ans, val);
        if (tot == k) return;
    }
    for (int i = cnt + 1; i <= n; ++i) dfs(i, tot + 1, cost + c[i], val + v[i]);
}
void work() {
    for (int i = 1; i <= n; ++i) scanf("%d%d", &v[i], &c[i]);
    scanf("%d", &w);
    ans = 0;
    for (int i = 1; i <= n; ++i) dfs(i, 1, c[i], v[i]);
    printf("%d\n", ans);
}
int main() {
    int T;
    scanf("%d", &T);
    while (scanf("%d%d", &n, &k) != EOF) work();
    return 0;
}


Cadence OrCAD Capture软件启动过程卡死且无法恢复的解决方法 如下图所示Cadence OrCAD Capture软件在启动后出现卡死的现象,且等待后无法自动恢复,需要强行关闭,再次启动依然卡死。 阅读详情

相关推荐

安卓集成华为HMS Scankit实现自定义扫码功能

实现扫码功能 使用的是集成华为扫描的SDK,UI界面借鉴的是谷歌官方的Zxing项目中的自定义view,两者结合实现。 先上效果图: 先在项目根级别(build.gradle)当中配置HMS Core SDK的Maven仓地址。 // 配置HMS Core SDK的Maven仓地址。 maven {url 'https://developer.huawei.com/repo/'} // 配置HMS Core SDK的Maven仓地址。 maven {url 'https://developer.huaw

qq_47625961的博客 5512

Necklace (状态dp)

One day , Partychen gets several beads , he wants to make these beads a necklace . But not every beads can link to each other, every bead should link to some particular bead(s). Now , Partychen wants

a1046765624的博客 493

Xilinx DMA IP核心配置与实战解析

本文介绍了Xilinx DMA IP核在直接寄存器模式下的配置与工作流程。DMA通过AXI4-Lite接口接收指令,实现内存与数据流之间的高速传输,无需CPU介入。文章详细说明了开发环境配置、IP参数设置(包括地址位宽、数据宽度等关键参数)以及寄存器操作流程。通过仿真分析,展示了读操作中AXI4接口的突发传输机制,包括地址、长度和突发大小的配置。文中还提供了寄存器地址映射表、信号定义等关键信息,为DMA IP核的应用开发提供了实用参考。

weixin_37688766的博客 884

HDU 2660 Accepted Necklace

Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each precious

愿岁并谢,与长友兮 477

Intouch间接变量(扩展)

间接变量只是Intouch提供给开发者的便捷方式之一,并不是所有情况都一定要使用间接变量,有时候用条件语句或者内存变量的方式也能起到类似的作用。

weixin_41571357的博客 2168

PWM与光耦的完美联姻:低成本4-20mA转换方案揭秘

本文揭秘了PWM与光耦结合的低成本4-20mA转换方案,适用于工业自动化领域。通过PWM信号控制输出电流,光耦实现电气隔离,该方案成本低廉、电路简单且隔离可靠。文章详细介绍了两种经典电路实现方案,包括四光耦线性模式方案和PWM控制LM317方案,并提供了实战技巧与优化策略,帮助中小企业和电子DIY爱好者构建经济高效的4-20mA转换系统。

weixin_29229055的博客 536

【hdu 2660】Accepted Necklace 二维费用01背包

Accepted Necklace Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 12   Accepted Submission(s) : 8 Problem Description I have N precious ston

Sunvct的编程之家 642

PVE 8.0 保姆级换源教程:从Debian到LXC仓库,一次搞定国内镜像(附弹窗去除)

本文提供PVE 8.0保姆级换源教程,涵盖从Debian基础源到LXC仓库的国内镜像配置,并附赠去除订阅弹窗的实用技巧。通过详细步骤和命令示例,帮助用户快速优化ProxmoxVE环境,提升下载速度并消除干扰提示,适用于虚拟化平台的高效管理。

weixin_33282146的博客 413

hdu 2660 Accepted Necklace DFS

I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each precious stone, please

小周周i的博客 396

GEE:基于MODIS数据计算NDVI时间序列,并使用Savatsky-Golay(SG)滤波器对其进行平滑处理

优快云@_养乐多_本文将介绍如何在 Google Earth Engine (GEE) 平台中,使用 MODIS 数据计算 NDVI 时间序列,并对该数据集应用 Savitzky-Golay 滤波器,得到了一个新的平滑后的数据集。Savitzky-Golay 滤波器可以有效地去除信号中的噪声,并平滑信号的变化。该方法可以扩展到基于 MODIS 数据计算的任何指数或者波段。

养乐多的博客 1426

使用geneHapR进行基因单倍型分析(以vcf文件为例)

如下图所示,可以看到,用户需要准备的包括:基因型文件、注释文件和样本信息文件,以及后续会用的表型文件。输出的主要内容有:变异位点的可视化、单倍型网络、地理分布、表型比较和连锁不平衡热图。geneHapR的工作流程。

沉香best的博客 5941

HDU 2660 Accepted Necklace(DFS解01背包)

Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each precious s

千里之行 始于足下 696

基于Gurobi的综合能源系统运行优化:鲁棒两阶段优化方法

本文提出了一种基于Gurobi的综合能源系统鲁棒两阶段优化方法,针对包含换电站、光伏发电和电池储能的系统运行问题。研究采用多面体不确定性集合描述光伏出力随机性,构建了考虑电池衰减成本和弃光惩罚的两阶段优化模型:第一阶段制定日前调度计划,第二阶段处理实时运行中的不确定性。通过列与约束生成算法求解模型,并使用Python和Gurobi实现。仿真验证了该方法能有效平衡系统经济性与鲁棒性,为含高比例可再生能源的综合能源系统运行提供了实用解决方案。

huanghm88的专栏 242

ACM-DFS之Accepted Necklace——hdu2660

ACM DFS Accepted Necklace hdu2660

继续激情,继续奋斗。 1804

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

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

hdu 2660 Accepted Necklace(简单DFS)

Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each pr...

weixin_30566149的博客 118

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

hdu-2660 Accepted Necklace

http://acm.hdu.edu.cn/showproblem.php?pid=2660 题意:给出宝石的数目n,制成项链所需的宝石个数k,然后再给出每个宝石的价值与重量,还有母亲会接受的最大重量,求出在小于等于最大重量范围内,项链的价值尽可能大。 思路:首先n比较小,可以用搜索解决,但是需要剪枝,不然会超时,剪枝就是每次保存上一次搜索到的地方,避免重复。当然  这还是一个二位费用的背包问

有一种力量叫乐观 619

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hdu 2660 Accepted Necklace(01-背包变形 || DFS)

hdu 2660 Accepted Necklace(01-背包变形 || DFS)

2132

hdu 2660 Accepted Necklace(dfs、dp)

Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each

小张的专栏 589

hdu 2660 Accepted Necklace(dp)

小记: 这题一看 就是dp,但是出题的时候 一同学说都是搜索题,刚开始我用一维dp,发现不行,因为有两个约束条件,我就将dp删了,用dfs做,就情况来说,想的头痛,然后认真分析,这是一个典型的0/1背包,只不过要用个二维数组,约束两个条件,于是一个三重循环,直接AC了。 思路:dp,三重循环,第一重枚举石头,第二重枚举重量,第三重枚举石头个数,因为每种石头只有一个,所以重量和石头个数都是

ljd4305的专栏 1178

2019 GDUT 新生专题I选集 D题 Accepted Necklace(HDU-2660)

D - DFS 链接 来源:HDU-2660 题目描述 给一些宝石,每个宝石都有自己的重量和价值,要求选取一定数量的宝石组成一条项链,使项链的重量不超过佩戴者能接受的最大重量,且价值最高。 题目分析 本来比较像一道dp题,但数据比较少,直接dfs即可。 代码 #include <cstdio> using namespace std; int value[1000]; int wei...

palax0的博客 186

hdu 2660 Accepted Necklace(01背包与dfs两种解法)

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2660 DFS解法: //因为stone个数才30,尝试看看暴力dfs解决此题(枚举) /* */ #include<iostream> #include<cstring> #include<algorithm> using names...

weixin_33973609的博客 108

HDU 2660 Accepted Necklace DFS || 多重背包

这题是以多重背包题..... 不过还不会多重... 只会简单的... 这里用DFS做就行了..... 不过这里如果不把当前位置传下去就会超时的噢... 我开始一直TLE 后来把当前状态传下去就A了 15MS #include<stdio.h> int V[25],W[25]; int des[25],n,k,we,max,dp[25][25]; int inf = ...

weixin_30439031的博客 99

hdu2660——Accepted Necklace

Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each pr

huanhuanxiaoxiao的博客 604

HDU 2660 Accepted Necklace【数值型DFS】

Accepted Necklace Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2474Accepted Submission(s): 973 Problem Description I have N precious s...

weixin_34343308的博客 108

Accepted Necklace/HDU 2660/DFS

Accepted Necklace/HDU 2660/DFS 题目 I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won’t accept a necklace which is too heavy. Given the value and the weig...

weixin_45600829的博客 300

HDU2660:Accepted Necklace(DFS)

Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mother, but she won't accept a necklace which is too heavy. Given the value and the weight of each

计算机图形编程 430
上一篇: hdu2662 coin 数学
下一篇: 线段树 lazy tag 小合集
kkkkahlua
博客等级 码龄12年 4粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值