BZOJ5196: [Usaco2018 Feb]Taming the Herd(DP暴力)
5196: [Usaco2018 Feb]Taming the Herd
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 78 Solved: 71
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
1 1 2 0 0 1
Sample Output
2
1
2
3
4
如果只发生1次出逃,则正确的记录应该为0 1 2 3 4 5,有4处与给定的记录不同。
如果发生2次出逃,则正确的记录可能为0 1 2 3 0 1,有2处与给定的记录不同。
在这个例子中,出逃发生在第一天和第五天。
如果发生3次出逃,则正确的记录可能为0 1 2 0 0 1,仅有1处与给定的记录不符。
在这个例子中,出逃发生在第一天、第四天和第五天。
以此类推。
思路:dp[i][j][k]表示第i个数以k结尾的,且用了j个0的最小修改次数,然后可以得到O(N^3)的 方程。
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
const int inf=0x3f3f3f3f;
int N,a[maxn],dp[maxn][maxn][maxn],ans[maxn];
int main(){
scanf("%d",&N); rep(i,,N) scanf("%d",&a[i]);
memset(dp,0x3f,sizeof(dp)); memset(ans,0x3f,sizeof(ans));
dp[][][]=(a[]!=);
rep(i,,N){
rep(j,,i){
rep(k,,i-j) dp[i][j][]=min(dp[i][j][],dp[i-][j-][k]+(a[i]!=));
rep(k,,i-j) dp[i][j][k]=min(dp[i][j][k],dp[i-][j][k-]+(a[i]!=k));
}
}
rep(i,,N) rep(j,,N) ans[i]=min(ans[i],dp[N][i][j]);
rep(i,,N) printf("%d\n",ans[i]);
return ;
}
BZOJ5196: [Usaco2018 Feb]Taming the Herd(DP暴力)的更多相关文章
- BZOJ5194: [Usaco2018 Feb]Snow Boots(排序&set)(可线段树优化)
5194: [Usaco2018 Feb]Snow Boots Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 102 Solved: 79[Subm ...
- 2019 GDUT Rating Contest II : A. Taming the Herd
题面: A. Taming the Herd Input file: standard input Output file: standard output Time limit: 1 second Me ...
- bzoj 5195: [Usaco2018 Feb]Directory Traversal【树形dp】
注意到目录是一颗树结构,然后就简单了,预以1为根的处理出dis[u]为以这个点为根,到子树内的目录总长,si为子树内叶子数 第二遍dfs换根即可 #include<iostream> #i ...
- POJ 2029 DP || 暴力
在大矩形中找一个小矩形 使小矩形包括的*最多 暴力或者DP 水题 暴力: #include "stdio.h" #include "string.h" int ...
- 区间Dp 暴力枚举+动态规划 Hdu1081
F - 最大子矩形 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Des ...
- Codeforces 914 C 数位DP+暴力打表+思维
题意 给出一个二进制数\(n\),每次操作可以将一个整数\(x\)简化为\(x\)的二进制表示中\(1\)的个数,如果一个数简化为\(1\)所需的最小次数为\(k\),将这个数叫做特殊的数, 问从\( ...
- BZOJ1569: [JSOI2008]Blue Mary的职员分配(dp 暴力)
Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 483 Solved: 189[Submit][Status][Discuss] Descriptio ...
- 【BZOJ3696】化合物 树形DP+暴力
[BZOJ3696]化合物 Description 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题. 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博弈论游戏.这个游戏很蛋疼 ...
- Codeforces Round #369 (Div. 2) C 基本dp+暴力
C. Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
随机推荐
- [转]常见HTTP状态(如200,304,404,503)
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于 ...
- npm install 报错 ECONNREFUSED
在window环境下,使用npm install 命令安装任何框架,都会报如下的错误 error code ECONNREFUSED error errno ECONNREFUSED error Fe ...
- TCGA学习1--下载level3 level4数据
1.使用firehose_get 下载level3 level4数据 https://confluence.broadinstitute.org/display/GDAC/Download exa ...
- centos7 VNC安装
root用户: yum install tigervnc-server .service vim /etc/systemd/system/vncserver@:.service .service vn ...
- 学习webpack3.x过程中遇到的问题:webpack-dev-server
这篇博客主要记录的是本人在学习webpack3.x的过程中遇到的问题(虽然这几天4.0刚出来,但是我还是先学一下3.x吧) 1.配置文件可以用webpack启服务和热更新,步骤如下: ① 先下载:we ...
- Module 的加载实现
浏览器加载 传统方法 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本. <!-- 页面内嵌的脚本 --> <script type=&q ...
- MVVM架构简单使用
版权声明:本文为博主原创文章,未经博主授权不得转载. 项目github地址 https://github.com/zhangjiahuan8888/mvvmDemo/tree/master 开篇 MV ...
- Mac下配置NDK环境
下载NDK 这里写图片描述配置NDK开发环境 第一步:打开Mac终端 Snip20170208_1.png 第二步:在终端中输入:open -e .bash_profile,打开.bash_profi ...
- BinLog日志
一.概述 binlog 二进制日志文件,可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事 ...
- Linux下部署 jar包
1.windows和linux执行jar命令是一样的,java -jar xxx.jar 2.使用nohup命令将jar程序设置成后台运行,运行日志输出到nohup.out,关闭窗口无影响 nohup ...