Dream City(01背包+小贪心)acm寒假集训日记21/12/30
题目如下:
AC代码如下:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
int dp[259][259];
struct nn
{int base;int more;
}s[259];
bool cmp(nn x, nn y)
{//if (x.more < y.more)//return x.more < y.more;//elsereturn x.more < y.more;
}
int main()
{int T;cin >> T;while (T--){memset(dp, 0, sizeof dp);int n, m;cin >> n >> m;for (int i = 1; i <= n; i++){scanf("%d", &s[i].base);}for (int i = 1; i <= n; i++){scanf("%d", &s[i].more);}sort(s+1, s + n+1, cmp);//for(int i = 1;i<=n;i++)//cout<<s[i].base<<' '<<s[i].more<<endl;for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){dp[i][j] = max(dp[i-1][j], dp[i-1][j-1] + s[i].base + s[i].more * (j-1));}}cout << dp[n][m] << endl;/*for(int i = 0;i<=n;i++){for(int j = 0;j<=m;j++){cout<<dp[i][j]<<' ';}cout<<endl;}*/}
}
题目解析:
因为每天都能长出bi枚金币,所以需要先进行一波小贪心!(bi大的最后再砍,这样收益才更高!)
因此,先进行结构体排序,然后用01背包思想找到最优解!
Dream City(01背包+小贪心)acm寒假集训日记21/12/30相关推荐
- CodeForces - 1485B(找规律+求和) acm寒假集训日记21/12/31or22/1/1
题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...
- Gym 102798A(思维) acm寒假集训日记21/12/31or22/1/1
题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...
- CodeForces 1506C(暴力求最长连续子串) acm寒假集训日记21/12/31or22/1/1
题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...
- 最小生成树(Kruskal算法+Prim算法)简单讲解+最小生成树例题 acm寒假集训日记22/1/8
算法简讲部分: Kruskal算法: 基于贪心策略大致过程分为第三步:1. 我们先用结构体把每条边的端点和权值记录下来,然后对每条边按权值进行排序2. 因为 使图连通最少需要n-1 条边,所以我们依次 ...
- 矩阵问题入门(矩阵乘法and矩阵快速幂)acm寒假集训日记22/1/15
今天凌晨3点才睡,没想到通过看小说抑制玩游戏,反而看小说的时间更长. u1s1:那小说太刺激了,晚上看很有感觉,风吹草动我就会猛地看过去(类似茄子说柜子动了,哈哈),真TM(语气词)练胆量!!!..Q ...
- 扩展欧几里得exgcd算法 acm寒假集训日记22/1/12
数学证明 ax + by = gcd(a,b) 令gcd(a,b) = d 得:ax + by = d ① 因为:gcd(a,b) = gcd(b,a%b) 所以:bx + a%b * y = d b ...
- 【初学线段树,看这篇文章准没错】线段树(单点修改and区间修改)acm寒假集训日记22/1/10
线段树 线段树是算法竞赛中常用的用来维护区间信息的数据结构.是一名ACMer 需要掌握的一种基础.重要的数据结构线段树可以在O(logN)的时间复杂度内实现单点修改,区间修改,区间查询(区间求和,区间 ...
- spfa(STL写法)简单讲解+最短路(spfa)例题 acm寒假集训日记22/1/7
前言:SPFA(Shortest Path Faster Algorithm)算法是求单源最短路线的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法. spfa 其实可以 ...
- 最少换乘(最短路+恶心的输入)acm寒假集训日记22/1/3 or 22/1/4
题目如下: AC代码如下: #include<iostream> #include<cstring> #include<cstdio> using namespac ...
最新文章
- 用Javascript修正12个常见的浏览器问题
- 大批量生成假数据,faker.js获得近28k个Star
- 手机吸费软件肆意捞金,通过代码签名证书加以防范
- 撒花!PyTorch 官方教程中文版正式上线,激动人心的大好事!
- ztree获取勾选节点数据并且与表单信息合并
- 来吧学学.Net Core之项目文件简介及配置文件与IOC的使用
- 【计算机网络实验·北航】实验一:网络实验入门(1)
- python ftp下载文件_文件上传下载Python
- python的namedtuple
- WebKitGTK+ 编译
- SELECT INTO 和 replace into SELECT
- 360html5播放加速,总结:没有讨论加速问题,“视频快速观看”完全支持360种浏览器...
- Clion解决c++源文件多个编译运行
- c语言程序填空 功能:输出结果为:,C语言程序填空题
- linux平台使用yum安装mysql
- 基于Nodejs+vue开发实现高校学院网站系统
- ps命令查看进程详解
- Spring事务报错Transaction synchronization is not active
- 时间函数的用法(ctime)
- Java串口与手机通信
热门文章
- C# LINQ学习笔记四:LINQ to OBJECT之操作文件目录
- PHP WeBaCoo后门学习笔记
- C#函数(构造函数)的重载
- 【Java】计算当n=9时n!的值,并分别输出1!到9!各阶乘的值
- 安装meme_我见过的最好JavaScript Meme,详细说明了
- 如何在create-react-app中使用Workbox构建自定义PWA
- 小程序遵循的语法_我如何构建一个遵循股市针对freeCodeCamp挑战的应用程序。
- mysql自动获取时间列_mysql自动获取时间日期的方法
- mysql 连接失败的日志(或者输出)结果分析
- python实用的几个脚本程序(自己在用)