2024.6.15

2024-06-15 22:20
文章标签 2024.6 15

本文主要是介绍2024.6.15,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2024.6.15 【夜幽幽,月优优,曲悠悠,吾忧忧。】

Saturday 五月初十


<theme = oi-“DP”>

看几道DP基础题,

巩固一下DP思路和基础

Coin Combinations I

//2024.6.15
//by white_ice
//Coin Combinations I CSES - 1635 
#include<bits/stdc++.h>
#include"fopen.cpp"
using namespace std;
#define itn long long 
#define int long long 
constexpr int oo = 102;
constexpr int mod = 1000000007;
constexpr int op = 1000006;int n,m;
itn st[oo];itn f[op];signed main(){fre();ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m ;for (itn i=1;i<=n;i++)cin >> st[i];f[0] = 1;for (itn i=1;i<=m;i++){for (itn j=1;j<=n;j++){if (i-st[j]>=0){f[i] += f[i-st[j]];}} f[i] %= mod;}cout << f[m];return 0;
}

依次遍历每一个总价值i如果比硬币价值大,

就加上f[i-c[j]]种方式

Coin Combinations II

//2024.6.15
//by white_ice
//Coin Combinations II CSES - 1636
#include<bits/stdc++.h>
//#include"fopen.cpp"
using namespace std;
#define itn int
constexpr int oo = 102;
constexpr int op = 1000006;
constexpr int mod = 1000000007;itn n,x;
itn st[oo];itn f[op];signed main(){//fre();ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);cin >> n >> x;for (itn i=1;i<=n;i++)cin >> st[i];f[0] = 1;for (itn i=1;i<=n;i++){for (int j=st[i];j<=x;j++){f[j] += f[j-st[i]];f[j] %= mod;}}cout << f[x];return 0;
}

从枚举每个硬币的价值开始,

加上从此硬币能到的总价值中差的价值的组成方式

(有点绕

注意以上两种题的区别,

有序和无序的DP写法中主要就是遍历顺序的改变

Minimizing Coins

//2024.6.15
//by white_ice
//Minimizing Coins CSES - 1634
#include<bits/stdc++.h>
//#include"fopen.cpp"
using namespace std;
#define itn int
constexpr int oo = 102;
constexpr int op = 1000006;itn n,m;
itn c[oo];  int f[op];signed main(){//fre();ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);cin >> n >> m;memset(f,0x3f3f3f3f,sizeof(f));for (itn i=1;i<=n;i++)cin >> c[i];sort(c+1,c+n+1);f[0] = 0;for (int i=1;i<=m;i++){for (int j=1;j<=n;j++){if (i<c[j])break;f[i] = min(f[i],f[i-c[j]]+1);}}cout << (f[m]==0x3f3f3f3f?-1:f[m]);return 0;
}

依旧是枚举每个硬币的价值

取当前硬币以外组成的最小方式比较。

这篇关于2024.6.15的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

剑指Offer—编程题15(链表中倒数第k个结点)

题目:输入一个链表,输出该链表中倒数第k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6 个结点,从头结点开始它们的值依次是1 、2、3、4、5 、6。这个个链表的倒数第3 个结点是值为4 的结点. public static class ListNode {int value;ListNode next;} 解题思路:

C语言从入门到进阶(15万字总结)

前言: 《C语言从入门到进阶》这本书可是作者呕心沥血之作,建议零售价1元,当然这里开个玩笑。  本篇博客可是作者之前写的所有C语言笔记博客的集结,本篇博客不止有知识点,还有一部分代码练习。 有人可能会问,作者不会是cv战士吧!作者在这里回答大家,有cv战士的成分,但不完全是。我是将之前博客冗余的部分删除。有句话叫取其精华,去其糟粕当嘛!当然作者除了删除冗余部分还会修改一小部分,因为之前

找猴王:15只猴子围成一圈从1报数到7的出局,最后谁是猴王。

第一种: package 找猴王;public class Test {public static void main(String[] args) {int n=15;//15只猴子int m=7;//数到7的就出局int count=1;//count为计报数的值,从1开始,7结束int size=n;//size的值从15变到1,到1时就找到了猴王(每数到7的就出局所以会最终剩余1)i

机器学习周记(第四十四周:Robformer)2024.6.17~2024.6.23

目录 摘要ABSTRACT1 论文信息1.1 论文标题1.2 论文摘要1.3 论文引言1.4 论文贡献 2 论文模型2.1 问题描述2.2 Robformer2.2.1 Encoder2.2.2 Decoder 2.3 鲁棒序列分解模块2.4 季节性成分调整模块 摘要 本周阅读了一篇利用改进 Transformer 进行长时间序列预测的论文。论文模型为 Robformer ,其

(2024.6.23)最新版MAVEN的安装和配置教程(超详细)

1.什么是MAVEN         Maven是一个自动化构建工具,主要用于Java项目,它由Apache软件基金会维护。Maven能够自动化完成编译、测试、打包、发布等构建过程,可以大大提高开发效率,保证项目的质量。                                下面我们从几个方面来介绍一下MAVEN的功能与特性: 1.项目管理工具         Maven不仅仅是一

2024.6.21总结1117(大爱西安)

今天距离领毕业证还剩下10天,这几天事情都处理的差不多了,在宿舍待得有些无聊,晚上在学校周围逛了一下。 大学生活即将结束,但我还是有些许不舍。我怎么也高兴不起来。我即将要离开这个宿舍,这个班级,这所学校,我即将要离开这所美丽的城市。 我很喜欢西安这所城市,这座古老的城市,但我与它注定是有缘无分。 回想起初到西安,我对这座十三朝古都很是好奇,无论是它的历史文化还是它的自然景观。大一刚来到学校,

【2024.6.23】今日 IT 速递 | 亚布力创新年会热点新闻盘点

人不走空                                                                              🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录       🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋

Kimichat使用案例027:有效使用 kimichat 的15个高级技巧

文章目录 一、明确具体:表达清晰、避免使用模糊措辞。二、提供背景信息:提供相关的细节和背景信息。三、每次只问一个问题四、设定明确的标准五、要求解释六、管理期望七、确定问题类型八、调整语言水平九、提供范例十、及时提供反馈十一、明确对话角色十二、 保持对话的连贯性十三、一步步思考十四、提示语结构化:角色+背景+任务十五、控制输出格式 一、明确具体:表达清晰、避免使用模糊措辞。 案例:

linux设备上的Onvif 实现4:成功编译gsoap 2.8.15

前言     本说明示例是gsoap 2.8.15     gsoap工具包中支持的平台是:linux386、macosx、win32,没有提供嵌入式arm平台,本文将指导完成交叉工具编译生成嵌入式平台工具。 工作目录:\\192.168.0.234\work\gaoht\gsoap   \gsoap-2.8\   解压后的目录   \target\      编译后的安装目录 交叉编译工具:T