牛客 contest893 H-Chat (dp)
题目链接
题意
一共有NNN天,每天有MMM个小时。给出女神每天上线的时间点。CasyaCasyaCasya每天只能上线一次,当女神上线他却没有上线的时候女神生气++,最多让女神生气KKK次。问CasyaCasyaCasya最少上线时间。
思路
转化为一个分组背包问题
- 首先M2M^2M2预处理数组days[i]days[i]days[i]表示生气值为iii时最多可以逃掉多少小时。
- dp[i][j+k]=max(dp[i][j+k],dp[i−1][j]+days[k])dp[i][j+k] = max(dp[i][j+k], dp[i-1][j] + days[k])dp[i][j+k]=max(dp[i][j+k],dp[i−1][j]+days[k]) 0≤j≤K,0≤j+k≤K0\le j\le K,0\le j+k\le K0≤j≤K,0≤j+k≤K
#include <bits/stdc++.h>
#define LL long long
#define P pair<int, int>
#define lowbit(x) (x & -x)
#define mem(a, b) memset(a, b, sizeof(a))
#define mid ((l + r) >> 1)
#define lc rt<<1
#define rc rt<<1|1
#define endl '\n'
const int maxn = 2e2 + 5;
const int inf = 0x3f3f3f3f;
const int mod = 1e9 + 7;
using namespace std;
int dp[maxn][maxn], days[maxn], sum[maxn];
int main () {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int T;cin >> T;while (T--) {mem(dp, 0);string s;int n, m, h;cin >> n >> m >> h;for (int i = 1; i <= n; ++i) {cin >> s;s = " " + s;int cnt = 0;mem(days, 0);for (int j = 1; j <= m; ++j) {sum[j] = sum[j-1] + s[j] - '0';cnt += s[j] - '0';}for (int j = 1; j <= m; ++j) {for (int k = j; k <= m; ++k) {int tmp = sum[k] - sum[j-1];days[cnt-tmp] = max(days[cnt-tmp], m-k+j-1); }}days[cnt] = max(days[cnt], m);for (int j = 0; j <= h; ++j) {for (int k = 0; k+j <= h; ++k) {dp[i][k+j] = max(dp[i][k+j], dp[i-1][j] + days[k]);}}}int ans = 0;for (int i = 0; i <= h; ++i) {ans = max(ans, dp[n][i]);}cout << n*m - ans << endl;}return 0;
}
牛客 contest893 H-Chat (dp)相关推荐
- 牛客 contest897 C-Latale(树上dp)
题意 N个节点的树,每条边有条权值,问有多少个点对(U,V)(U, V)(U,V),使得UUU到VVV的距离是3的倍数. 思路 dfs1dfs1dfs1处理每个节点包含子树的dis[dis[%3 = ...
- 牛客 游戏(概率DP)
B-游戏_牛客挑战赛59_牛客网 #include<bits/stdc++.h> typedef long long ll; using namespace std; const int ...
- 牛客网——流星雨(dp)
链接:https://ac.nowcoder.com/acm/contest/547/D 来源:牛客网 题目描述 英仙座流星雨(学名Perseids)是以英仙座γ星附近为辐射点出现的流星雨,也称英仙座 ...
- 牛客wannafly27 C 树形dp
Description "你,你认错人了.我真的,真的不是食人魔."–蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于等于k,两种方案不同当且仅当存在一条边 ...
- 牛客 contest893 G-Truthman or Fakeman
题目链接 NNN个人,MMM句话.每一句话这样描述 (U,V,W)(U,V,W)(U,V,W) UUU 认为 VVV 是TruthmanTruthmanTruthman或者 FakemanFakema ...
- 牛客 - Connie(AC自动机+dp/KMP+dp)
题目链接:点击查看 题目大意:给出一个匹配串 sss,现在问模式串 ttt 的期望得分.其中假设匹配串在模式串中的出现次数为 xxx,那么将得到 2x2^x2x 的分数 题目分析:涉及到了期望一开始还 ...
- 牛客 - Shortest Common Non-Subsequence(dp+序列自动机)
题目链接:点击查看 题目大意:根据最长公共子序列抛出一个新定义," 最短非公共子序列 ",假设给定了字符串 s1 和 s2,设 s 为 s1 和 s2 的"最短非公共子序 ...
- 牛客 - Gaming with Mia(dp)
题目链接:点击查看 题目大意:给出一个长度为 n 的序列,每个元素只由 -1 , 0 , 1 组成,现在要求在相邻两个元素之间添加一个符号,共添加 n - 1 个符号,符号可以选择加号或乘号,问如何选 ...
- 牛客 CCA的区间 dp + 补集转移
传送门 文章目录 题意: 思路: 题意: 思路: 首先翻转一个区间意味着可以将任意两段不相交的区间组合,所以问题变成了选两端不相交的区间,使得合并后区间和最大.那么我们就处理出来区间,让后进行转移即可 ...
最新文章
- IOS中GPS定位偏移纠正(适用于Google地图)
- python编写一个软件-如何用Python写一个计算器软件 附带效果图
- 最受Linux程序员欢迎的7个代码编辑器的介绍及下载地址
- 音频光端机的几个重要指标
- js php 数据类型判断,【js基础】变量类型判断
- 互联网晚报 | 12月6日 星期一 | 荣耀线下门店超3万家;鸿蒙系统明年正式登陆欧洲;凯撒旅业与众信旅游终止合并...
- 随机抽样一致算法(RANSAC)理论介绍和程序实现
- 数值分析:插值与拟合
- 我密集面试了若干位Java后端的候选人,给广大程序员的一点建议
- 无心剑中译叶芝《情愁》
- 求救数据库高手~~急急。。。
- 像打字一样插入图标-iconfont
- idea生成class文件反编译后中文乱码
- Windows U盘插入出现位置不可用 无法访问 拒绝访问
- ssh “Missing privilege separation directory: /run/sshd“
- [IOS APP]南渡记-东藏记-西征记-野葫芦引有声小说
- 罗格斯的计算机科学,罗格斯大学计算机
- 华为nova5z和nova5i 哪个好?有什么区别?
- AppStore预览视频AppPreviews制作总结
- 努力学习 努力奋斗 踏步而立