题目链接

题意

一共有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)相关推荐

  1. 牛客 contest897 C-Latale(树上dp)

    题意 N个节点的树,每条边有条权值,问有多少个点对(U,V)(U, V)(U,V),使得UUU到VVV的距离是3的倍数. 思路 dfs1dfs1dfs1处理每个节点包含子树的dis[dis[%3 = ...

  2. 牛客 游戏(概率DP)

    B-游戏_牛客挑战赛59_牛客网 #include<bits/stdc++.h> typedef long long ll; using namespace std; const int ...

  3. 牛客网——流星雨(dp)

    链接:https://ac.nowcoder.com/acm/contest/547/D 来源:牛客网 题目描述 英仙座流星雨(学名Perseids)是以英仙座γ星附近为辐射点出现的流星雨,也称英仙座 ...

  4. 牛客wannafly27 C 树形dp

    Description "你,你认错人了.我真的,真的不是食人魔."–蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于等于k,两种方案不同当且仅当存在一条边 ...

  5. 牛客 contest893 G-Truthman or Fakeman

    题目链接 NNN个人,MMM句话.每一句话这样描述 (U,V,W)(U,V,W)(U,V,W) UUU 认为 VVV 是TruthmanTruthmanTruthman或者 FakemanFakema ...

  6. 牛客 - Connie(AC自动机+dp/KMP+dp)

    题目链接:点击查看 题目大意:给出一个匹配串 sss,现在问模式串 ttt 的期望得分.其中假设匹配串在模式串中的出现次数为 xxx,那么将得到 2x2^x2x 的分数 题目分析:涉及到了期望一开始还 ...

  7. 牛客 - Shortest Common Non-Subsequence(dp+序列自动机)

    题目链接:点击查看 题目大意:根据最长公共子序列抛出一个新定义," 最短非公共子序列 ",假设给定了字符串 s1 和 s2,设 s 为 s1 和 s2 的"最短非公共子序 ...

  8. 牛客 - Gaming with Mia(dp)

    题目链接:点击查看 题目大意:给出一个长度为 n 的序列,每个元素只由 -1 , 0 , 1 组成,现在要求在相邻两个元素之间添加一个符号,共添加 n - 1 个符号,符号可以选择加号或乘号,问如何选 ...

  9. 牛客 CCA的区间 dp + 补集转移

    传送门 文章目录 题意: 思路: 题意: 思路: 首先翻转一个区间意味着可以将任意两段不相交的区间组合,所以问题变成了选两端不相交的区间,使得合并后区间和最大.那么我们就处理出来区间,让后进行转移即可 ...

最新文章

  1. IOS中GPS定位偏移纠正(适用于Google地图)
  2. python编写一个软件-如何用Python写一个计算器软件 附带效果图
  3. 最受Linux程序员欢迎的7个代码编辑器的介绍及下载地址
  4. 音频光端机的几个重要指标
  5. js php 数据类型判断,【js基础】变量类型判断
  6. 互联网晚报 | 12月6日 星期一 | 荣耀线下门店超3万家;鸿蒙系统明年正式登陆欧洲;凯撒旅业与众信旅游终止合并...
  7. 随机抽样一致算法(RANSAC)理论介绍和程序实现
  8. 数值分析:插值与拟合
  9. 我密集面试了若干位Java后端的候选人,给广大程序员的一点建议
  10. 无心剑中译叶芝《情愁》
  11. 求救数据库高手~~急急。。。
  12. 像打字一样插入图标-iconfont
  13. idea生成class文件反编译后中文乱码
  14. Windows U盘插入出现位置不可用 无法访问 拒绝访问
  15. ssh “Missing privilege separation directory: /run/sshd“
  16. [IOS APP]南渡记-东藏记-西征记-野葫芦引有声小说
  17. 罗格斯的计算机科学,罗格斯大学计算机
  18. 华为nova5z和nova5i 哪个好?有什么区别?
  19. AppStore预览视频AppPreviews制作总结
  20. 努力学习 努力奋斗 踏步而立

热门文章

  1. js数组去重的三种常用方法
  2. java field, property,variable及getField和getDeclaredField的区别
  3. hash算法的介绍 【清晰易懂】
  4. sql2005新增排序方法
  5. 64. Minimum Path Sum 最小路径和
  6. 785. Is Graph Bipartite? 判断二分图
  7. 深入理解python中的select模块
  8. 【机器视觉】 dev_map_par算子
  9. 【ARM】数据操作指令(下)
  10. 【Tiny4412】EMMC启动Qt网络文件系统