洛谷 题解 P1336 【最佳课题选择】
详细解析解题过程
- 设计状态
dp[i][j]表示前i节课题写j篇论文花费的最少时间
- 初始数组
for(int i=0;i<=20;i++)
for(int j=0;j<=200;j++)dp[i][j]=INF;
//先初始化为INF
for(int i=0;i<=m;i++)dp[i][0]=0;
//写0篇论文的时间肯定为0吖
- 进行转移
for(int i=1;i<=m;i++)//前i节课程
for(int j=1;j<=n;j++)//写了j篇论文
for(int k=0;k<=j;k++)//第i节课程写了k篇
dp[i][j]=min(dp[i][j],dp[i-1][j-k]+(ll)(a[i]*pow(k,b[i])));
- 取出答案
dp[m][n]
完整代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m;
ll a[30],b[30];
ll dp[30][250];
inline int read()
{
int tot=0;
char c=getchar();
while(c<'0'||c>'9')
c=getchar();
while(c>='0'&&c<='9')
{
tot=tot*10+c-'0';
c=getchar();
}
return tot;
}
int main()
{
n=read();m=read();
for(int i=1;i<=m;i++)
a[i]=read(),b[i]=read();
for(int i=0;i<=20;i++)
for(int j=0;j<=200;j++)dp[i][j]=9999999999;//0x3f3f3f3f好像会太小
for(int i=0;i<=m;i++)dp[i][0]=0;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=0;k<=j;k++)
{
dp[i][j]=min(dp[i][j],dp[i-1][j-k]+(ll)(a[i]*pow(k,b[i])));
}
}
}
cout<<dp[m][n]<<endl;
return 0;
}
洛谷 题解 P1336 【最佳课题选择】的更多相关文章
- 洛谷 P1336 最佳课题选择
P1336 最佳课题选择 题目提供者 yeszy 标签 动态规划 福建省历届夏令营 传送门 难度 尚无评定 题目描述 Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课 ...
- P1336 最佳课题选择
P1336 最佳课题选择 题目描述 Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课题数有限,Matrix67不得不重复选择一些课题.完成不同课题的论文所花的时间不同 ...
- luogu P1336 最佳课题选择
题目描述 Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课题数有限,Matrix67不得不重复选择一些课题.完成不同课题的论文所花的时间不同.具体地说,对于某个课题i ...
- luogu P1336 最佳课题选择 |背包dp
题目描述 Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课题数有限,Matrix67不得不重复选择一些课题.完成不同课题的论文所花的时间不同.具体地说,对于某个课题i ...
- Bzoj4753/洛谷P4432 [JSOI2016]最佳团体(0/1分数规划+树形DP)
题面 Bzoj 洛谷 题解 这种求比值最大就是\(0/1\)分数规划的一般模型. 这里用二分法来求解最大比值,接着考虑如何\(check\),这里很明显可以想到用树形背包\(check\),但是时间复 ...
- 洛谷 题解 P1600 【天天爱跑步】 (NOIP2016)
必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 Libre ...
- 洛谷 题解 UVA572 【油田 Oil Deposits】
这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include&l ...
- 洛谷题解P4314CPU监控--线段树
题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=30 ...
- RQNOJ 117 最佳课题选择:多重背包
题目链接:https://www.rqnoj.cn/problem/117 题意: NaCN_JDavidQ要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择. 由于课题数有限,NaCN_JD ...
随机推荐
- 显示浏览访客的IP
jQuery(function($){ var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback= ...
- ueditor自动上传Word中的图片
如何做到 ueditor批量自动上传word图片? 1.前端引用代码 <!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//E ...
- 【csp模拟赛3】flowers.cpp--循环节
题目描述 小 Q 最终还是过了独木桥. 前方的地上散落着 B 朵樱花,此时刮起了风,便引来一场樱花雨. 樱花雨一共持续了 N 秒.每一秒都会有 A 朵樱花飘落.小 Q 细心的记录了每一秒时间 后地上樱 ...
- Appium获取toast消息
Android获取toast,需要在参数里设置automationName:Uiautomator2 设置设备的信息 desired_caps = { 'platformName': 'Android ...
- LVM问题-----Insufficient Free Extents for a Logical Volume
Linux LVM学习——Insufficient Free Extents for a Logical Volume 如下所示,在创建LV的时候,偶尔会遇到“Volume group "x ...
- Jenkins在H5编译加密过程中一个报错
################################ 背景:开发环境在编译H5的时候出现了以下报错,记录下 ################################ D:\Jenk ...
- 感知机算法及BP神经网络
简介:感知机在1957年就已经提出,可以说是最为古老的分类方法之一了.是很多算法的鼻祖,比如说BP神经网络.虽然在今天看来它的分类模型在很多数时候泛化能力不强,但是它的原理却值得好好研究.先学好感知机 ...
- 使用Vagrant配置本地开发环境
从二零一四年开始使用vagrant+VirtualBox搭建linux开发环境,配置简单灵活,后台运行占用内存少,比vmware好用很多,果断弃用vmware转投vagrant的怀抱:无论是个人搭建开 ...
- office很抱歉遇到一些临时服务器问题
office2016登录很抱歉遇到一些临时服务器问题 主要问题:word不能进行发博客了.一直以为是cnblog服务器不稳定,今天才发现,word不能登录也就是不能联网. 查了原因,才知道是代理造 ...
- Go 代码审查建议
https://github.com/golang/go/wiki/CodeReviewComments https://studygolang.com/articles/6054