动态规划记录 [动态更新]

简介: 2021 江西省赛A题目链接:https://ac.nowcoder.com/acm/contest/21592/A题意:给出一个布尔矩阵(每个位置的值非零即一)然后问给定p和q,问从(1,1)=》(n,m)的所有路径中至少通过p次0&&q次1的路径的数量
  1. 2021 江西省赛A
    题目链接:https://ac.nowcoder.com/acm/contest/21592/A
    题意:给出一个布尔矩阵(每个位置的值非零即一)
    然后问给定p和q,问从(1,1)=》(n,m)的所有路径中至少通过p次0&&q次1的路径的数量


const int md = 998244353;
int a[507][507];
ll dp[507][1007];
int main() {
  int n = read,m = read,p = read,q = read;
  for(int i=1; i<=n; i++) {
    for(int j=1; j<=m; j++) a[i][j] = read;
  }
  dp[1][!a[1][1]] = 1;
  for(int i=1; i<=n; i++) {
    for(int j=1; j<=m; j++) {
      if(i != 1 || j != 1)
      if(a[i][j] == 1) {
        for(int k=i+j-1; k>=0; k--) dp[j][k] = (dp[j][k] + dp[j-1][k]) % md;
      } else {
        for(int k=i+j-1; k>=1; k--) dp[j][k] = (dp[j][k-1] + dp[j-1][k-1]) % md;
        dp[j][0] = 0;
      }
    }
  }
  ll ans = 0;
  for(int i=p; i<=n+m-1-q; i++) ans = (ans + dp[m][i]) % md;
  cout << ans << endl;
  return 0;
}


文章知识点与官方知识档案匹配,可进一步学习相关知识

算法技能树leetcode-动态规划22-括号生成8282 人正在系统学习中

相关文章
通过递归算法完成树的级联勾选的一般思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中,发现当tree上加上checkbox后,初始化该树时会特别慢。
1199 0
新增数据时,MySQL索引树的自调整过程
刚开始你一个表建好后,就一个数据页,就是聚簇索引的一部分,而且还是空的。若你插入数据,就是直接往这数据页里插入,也没必要给他弄索引页
125 0
|
9月前
|
如何实现一个高效的二叉搜索树(BST)?请给出时间复杂度分析。 要求:设计一个二叉搜索树,支持插入、删除和查找操作。要求在平均情况下,这些操作的时间复杂度为O(log n)。同时,考虑树的平衡性,使得树的高度保持在对数级别。
如何实现一个高效的二叉搜索树(BST)?请给出时间复杂度分析。 要求:设计一个二叉搜索树,支持插入、删除和查找操作。要求在平均情况下,这些操作的时间复杂度为O(log n)。同时,考虑树的平衡性,使得树的高度保持在对数级别。
78 0
7-60 二分查找法之过程 (10 分)
7-60 二分查找法之过程 (10 分)
213 0
数据结构167-红黑树的变换之变化规则1和变化规则2
数据结构167-红黑树的变换之变化规则1和变化规则2
53 0
数据结构167-红黑树的变换之变化规则1和变化规则2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等