uva674 - Coin Change(硬币找零)

2023-11-20 19:39
文章标签 change 硬币 找零 coin uva674

本文主要是介绍uva674 - Coin Change(硬币找零),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开始的时候用的是dfs+剪枝,很快的就TLE了

后来想到dp的记忆化搜索。于是开始苦苦的寻求状态方程,经过一遍又一遍的模拟,我找到了一个规律,

就是每增加一种硬币就更新一次状态,但是所得规律不对,连样例都过不了,后来继续找。。。。

再后来,我就没出息的搜了结题报告了,,

等到我彻底理解了,才写的代码。

也勉强的算上转化为自己的东西了吧

代码如下:

#include <cstdio>
#include <cstring>
#define M 7500
int ans, v[5] = {1,5,10,25,50}, dp[M];
int main ()
{int n;dp[0] = 1;for(int i = 0; i < 5; i++)for(int j = 0; j < M; j++) if(j>=v[i])dp[j]+=dp[j-v[i]];while(scanf("%d",&n)!=EOF)printf("%d\n",dp[n]);return 0;
}


这篇关于uva674 - Coin Change(硬币找零)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/396955

相关文章

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o

fzu 2277 Change 线段树

Problem 2277 Change Time Limit: 2000 mSec    Memory Limit : 262144 KB  Problem Description There is a rooted tree with n nodes, number from 1-n. Root’s number is 1.Each node has a value ai.

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

uva674(完全背包)

题意: 有5种硬币1,5,10,25,50,;现在随意的给出一个价钱,问你有几种组合方式! 输入11 输出4 1+...+1(10个),5+(6*1),5+5+1,  10+1(共4种) 思路; 满足完全背包思想,状态转移方程:dp[i+num[k]] += dp[i](dp[i]为组合成i的不重复种数,num[k]分别为1,5,10,25,50)不能合在一起转移,否则会导致重复!

674 - Coin Change

一道很水的DP,但我做的时候也很费劲,由于存在面值为1的时候,所以所有面额都至少有1种方法。 推导出状态方程就是 dp(V,step) += dp(V - i * coin[step],step - 1); 其中V为当前的面值,coin[step]为硬币的面额,递归边界,如果step == 0(也就是递归到硬币面额为1的时候,返回1); #include<cstdio>#include<

Flink新增特性 | CDC(Change Data Capture) 原理和实践应用

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好玩! CDC简介 CDC,Change Data Capture,变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。

Unity3D DOTS系列之Struct Change核心机制详解

前言 在Unity3D的DOTS(Data-Oriented Technology Stack)体系中,Struct Change是一个核心的内存管理机制,它涉及对Entity和Component数据的重新排列和内存分配。DOTS通过ECS(Entity Component System)模型,将游戏中的对象(Entity)、属性(Component)和行为(System)分离,以数据驱动的方式

How can I change from OpenAI to ChatOpenAI in langchain and Flask?

题意:“在 LangChain 和 Flask 中,如何将 OpenAI 更改为 ChatOpenAI?” 问题背景: This is an implementation based on langchain and flask and refers to an implementation to be able to stream responses from the OpenAI

elementUI——checkbox复选框监听不到change事件,通过watch监听来解决——基础积累

今天在写后台管理系统的时候,遇到一个需求,就是要求监听复选框的change事件,场景就是:两个复选框互斥,且可以取消勾选。 就是这两个复选框可以同时都不勾选,如果勾选的话,另一个一定要取消勾选。 通过checkbox组件的change事件,是无法触发的。 可以通过watch来监听解决此问题。 比如上面的两个复选框值分别是:checked和cateChecked,可以通过监听每个值得变化

力扣860-柠檬水找零(java详细题解)

题目链接:860. 柠檬水找零 - 力扣(LeetCode) 前情提要: 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法:局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优,并且没有反例来反驳的话就可以用贪心来试试。 题目思路: 该题其实蛮好入手,因为他只有三种逻辑的处理方式。 1.当顾客给你5块,你不用找零,手下这5块。 2.当顾客给你10