【解题报告】[动态规划] RQNOJ - PID273 / 马棚问题
原题地址:http://www.rqnoj.cn/problem/273
题目大意:中文题不说了。
设从第i匹马到第j-1匹马放在一个马棚里得到的系数为f(i,j)。
状态表示:dp[i][j]表示前i匹马用j个分隔(j+1个马棚)分隔得到的最小的系数。则最后要求的就是dp[n][k-1]。
初始状态:dp[i][0]=f(0,i)
状态转移方程:
dp[i][j]=min{ dp[ii][j-1]+f(ii,i),(j<=ii<i) }
即:要求dp[i][j](前i匹马用j+1个马棚分隔得到的最小的系数),假设最后的1个独自关一个马棚,会得到dp[i-1][j-1];假设最后两个独自关一个马棚,会得到dp[i-2][j-1]+最后两匹马关一起的系数。。。在这些情况中,选择一个最小的作为dp[i][j]的值。
解题代码:
#include<stdio.h>
#include<iostream>
using namespace std;
int dp[][];
int a[];
int ans[][];
int main()
{
int n,k,i,j,ii;
scanf("%d%d",&n,&k);
for(i=;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=;i<n;i++)
{
int nn[]={,};
for(j=i+;j<=n;j++)
{
nn[a[j-]]++;
ans[i][j]=nn[]*nn[];
}
}
for(i=;i<=n;i++)
dp[i][]=ans[][i];
for(j=;j<k;j++)
{
for(i=j+;i<=n;i++)
{
dp[i][j]=<<;
for(ii=j;ii<i;ii++)
{
int m=dp[ii][j-]+ans[ii][i];
dp[i][j]=dp[i][j]<m?dp[i][j]:m;
}
}
}
printf("%d\n",dp[n][k-]);
return ;
}
【解题报告】[动态规划] RQNOJ - PID273 / 马棚问题的更多相关文章
- [置顶] 刘汝佳《训练指南》动态规划::Beginner (25题)解题报告汇总
本文出自 http://blog.csdn.net/shuangde800 刘汝佳<算法竞赛入门经典-训练指南>的动态规划部分的习题Beginner 打开 这个专题一共有25题,刷完 ...
- 【NOIP2015】提高day2解题报告
题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N ...
- 【第40套模拟题】【noip2011_mayan】解题报告【map】【数论】【dfs】
目录:1.潜伏者 [map] 2.Hankson的趣味题[数论]3.mayan游戏[dfs] 题目: 1. 潜伏者(spy.pas/c/cpp)[问题描述]R 国和S 国正陷入战火之中,双方都互派间谍 ...
- 2011 ACM-ICPC 成都赛区解题报告(转)
2011 ACM-ICPC 成都赛区解题报告 首先对F题出了陈题表示万分抱歉,我们都没注意到在2009哈尔滨赛区曾出过一模一样的题.其他的话,这套题还是非常不错的,除C之外的9道题都有队伍AC,最终冠 ...
- ZOJ 1093 Monkey and Banana (LIS)解题报告
ZOJ 1093 Monkey and Banana (LIS)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...
- 【原创】leetCodeOj --- Sliding Window Maximum 解题报告
天,这题我已经没有底气高呼“水”了... 题目的地址: https://leetcode.com/problems/sliding-window-maximum/ 题目内容: Given an arr ...
- poj1173 解题报告
poj1173 解题报告2013-07-21 13:31 by 期待 ., 42 阅读, 0 评论, 收藏, 编辑 http://poj.org/problem?id=1173 发现此题资料甚少,斗胆 ...
- [NOIP2013 花匠] 新人解题报告
本来按照老师的要求,我学OI的第一份解题报告应是在寒假完成的关于数据结构的基础题,但由于身体原因当时未能完成,那么就在省选赛前临时写几篇吧…… 题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿 ...
- Leetcode 115 Distinct Subsequences 解题报告
Distinct Subsequences Total Accepted: 38466 Total Submissions: 143567My Submissions Question Solutio ...
随机推荐
- Microsoft SDK 中Sample案例之Amcap項目 的运行方法(转)
http://blog.csdn.net/erick08/article/details/7194575 Microsoft SDK 中Sample之Amcap 的运行方法 写这篇文章的由 ...
- hdu 4753 Fishhead’s Little Game 博弈论+记忆化搜索
思路:状态最多有2^12,采用记忆化搜索!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm& ...
- 【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
http://acm.hdu.edu.cn/showproblem.php?pid=2815 题意:裸题... 关于拓展BSGS的详细解释我写了一篇博文:http://www.cnblogs.com/ ...
- Textures
LPDIRECT3DVERTEXBUFFER9 g_VertexBuffer=NULL; //顶点缓存 LPDIRECT3DTEXTURE9 g_Texture=NULL;//纹理对象 bool In ...
- ios开发--一个苹果证书怎么多次使用——导出p12文件
为什么要导出.p12文件 当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中 ...
- Struts2笔记——第一个实例HelloWorld
1.创建新的Dynamic Web项目 ------------------------------------------ 2.struts2框架配置 ------------------- ...
- 当滚动条滚动到页面底部自动加载增加内容的js代码
这篇文章主要介绍了如何使用javscript实现滚动条滚动到页面底部自动加载增加页面内容,需要的朋友可以参考下..1,注册页面滚动事件,window.onscroll = function(){ }; ...
- Makefile 快速入门
Makefile 速成 标签: Makefile编译器 2015-06-06 18:07 2396人阅读 评论(1) 收藏 举报 分类: C/C++(132) Linux & MAC(19 ...
- linux RTC 驱动模型分析【转】
转自:http://blog.csdn.net/yaozhenguo2006/article/details/6824970 RTC(real time clock)实时时钟,主要作用是给Linux系 ...
- 1.Cadence16.5的安装教程[原创]
http://jingyan.baidu.com/article/6d704a1319107a28db51cac9.html