【解题报告】[动态规划] 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 ...
随机推荐
- sql server 2008 修改sa密码
问题: 当我们用windows本身验证之后需要修改sa密码,出现这样的错误. 解决方案:
- node中的模块
模块 编写稍大一点的程序时一般都会将代码模块化.在NodeJS中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名. 在编写每个模块时,都有require.expor ...
- JQuery的第一天实战学习
1.按照下面的工程来建: 2.新建UserVerify.html文件: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona ...
- 10个最佳的网站和App开发工具
这个世界充满了创新,开发的激情和决心是实现更高目标的关键因素.在网站开发中,毫无疑问,工具和可用的在线网页和 app 设计资源,发挥了重要的作用. 下面我们将带来一些网站和 app 的最佳工具. ...
- Android:开发环境
一.JAVA SDK(JDK)的安装 http://www.cnblogs.com/tinyphp/p/3664598.html 二.ADT-Bundle 包含了Eclipse.ADT插件和SDK T ...
- 如何在Eclipse中添加Tomcat的jar包
原文:如何在Eclipse中添加Tomcat的jar包 右键项目工程,点击Java Build Path 点击Add Library,选择Server Runtime 选择Tomcat版本 此时就看到 ...
- Redis的String操作
set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 注: 如果ex, ...
- 271. Encode and Decode Strings
题目: Design an algorithm to encode a list of strings to a string. The encoded string is then sent ove ...
- Android 禁止进入activity自动弹出键盘
在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUnchanged" 附相关属性 ...
- HDU 4617 Weapon 三维计算几何
题意:给你一些无限长的圆柱,知道圆柱轴心直线(根据他给的三个点确定的平面求法向量即可)与半径,判断是否有圆柱相交.如果没有,输出柱面最小距离. 一共只有30个圆柱,直接暴力一下就行. 判相交/相切:空 ...