1. /*
  2. 显然用dp[i][j]来表示i个1,j个-1的结果
  3. dp[i][j]由dp[i-1][j]和dp[i][j-1]转移而来
  4. 即dp[i][j]对应的所有序列,都可以由dp[i-1][j]在前面加一个1或dp[i][j-1]在前面加一个-1得到,
  5. 这里加在前面是因为更容易统计
  6. 考虑1加在前面,那么对于任意一种(i-1,j)的排列,贡献都+1,C(i-1+j,j)
  7. 考虑-1加在前面,那么对于某些(i,j-1)的排列,贡献-1
  8. 考虑哪些不需要,前缀中-1的个数始终大于1的序列本来答案就是0,因此不需要-1
  9. 预处理这样的序列个数
  10. f[i][j]表示有i个1,j个-1时,前缀-1数量大于1的序列个数
  11. f[i][j]的来源有两种f[i][j-1],f[i-1][j]
  12. 对于f[i][j]的每种序列,都可以由 f[i][j-1] 后加一个-1,或者 f[i-1][j]后面加一个1得到
  13. 初始值:f[o][j]=1,f[i][j]=0,i>j
  14. */
  1. #include <bits/stdc++.h>
  2. #define N 2010
  3. #define mod 998244853
  4. #define For(i,x,y) for(int i=(x);i<=(y);++i)
  5. #define Rof(i,x,y) for(int i=(x);i>=(y);--i)
  6. using namespace std;
  7.  
  8. int C[N<<][N<<],dp[N][N],k[N][N];
  9.  
  10. inline int add(int x,int y){ return x+y>=mod?x+y-mod:x+y; }
  11. inline int mns(int x,int y){ return x-y<?x-y+mod:x-y; }
  12. int main(){
  13. int n,m;
  14. scanf("%d%d",&n,&m);
  15. For(i,,n+m){
  16. C[i][]=;
  17. For(j,,i) C[i][j]=add(C[i-][j],C[i-][j-]);
  18. }
  19. For(i,,m) k[][i]=;
  20. For(i,,n) For(j,i,m) k[i][j]=add(k[i-][j],k[i][j-]);
  21. For(i,,n) dp[i][]=i;
  22. For(i,,n)
  23. For(j,,m)
  24. dp[i][j]=add(add(dp[i-][j],C[i+j-][j]),mns(dp[i][j-],mns(C[i+j-][i],k[i][j-])));
  25. cout<<dp[n][m];
  26. }

序列递推——cf1204E(好题)的更多相关文章

  1. [luogu2501 HAOI2006] 数字序列 (递推LIS)

    题目描述 现在我们有一个长度为n的整数序列A.但是它太不好看了,于是我们希望把它变成一个单调严格上升的序列.但是不希望改变过多的数,也不希望改变的幅度太大. 输入输出格式 输入格式: 第一行包含一个数 ...

  2. hdu 1465:不容易系列之一(递推入门题)

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  3. Luogu5110 块速递推

    题面 题解 线性常系数齐次递推sb板子题 $a_n=233a_{n-1}+666a_{n-2}$的特征方程为 $$ x^2=233x+666 \\ x^2-233x+666=0 \\ x_1=\fra ...

  4. poj 3744 Scout YYF I(递推求期望)

    poj 3744 Scout YYF I(递推求期望) 题链 题意:给出n个坑,一个人可能以p的概率一步一步地走,或者以1-p的概率跳过前面一步,问这个人安全通过的概率 解法: 递推式: 对于每个坑, ...

  5. 【第53套模拟题】【递推】【RMQ】【二进制】【分块】

    题目:(开始自己描述题目了...) 第一题大意: 求1~n的所有排列中逆序对为k个的方案数,输出方案数%10000,n<=1000. 解:这道题一个递推,因为我基本上没怎么自己做过递推,所以推了 ...

  6. HYSBZ(BZOJ) 4300 绝世好题(位运算,递推)

    HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<= ...

  7. 51nod 1126 求递推序列的第N项

    1126 求递推序列的第N项  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 有一个序列是这样定义的:f(1) = 1, f(2) = 1, f( ...

  8. NBUT比赛 方格规律递推题

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26901#problem/A 题意:有一个 2*n的格子里,你可以选择任意一个格 ...

  9. 第46套题【STL】【贪心】【递推】【BFS 图】

    已经有四套题没有写博客了.今天改的比较快,就有时间写.今天这套题是用的图片的形式,传上来不好看,就自己描述吧. 第一题:单词分类 题目大意:有n个单词(n<=10000),如果两个单词中每个字母 ...

随机推荐

  1. mac终端命令--常用快捷键

    Ctrl + c        取消当前行输入的命令,进入下一行.或者中止一个错误的或者发疯的命令 Ctrl + a        光标移动到行首(Ahead of line),相当于通常的Home ...

  2. SCP:从Linux服务器下载文件夹到本地

    原文链接:https://blog.csdn.net/netlai/article/details/79756279 scp /home/work/source.txt work@192.168.0. ...

  3. 【InnoDB】插入缓存,两次写,自适应hash索引

    InnoDB存储引擎的关键特性包括插入缓冲.两次写(double write).自适应哈希索引(adaptive hash index).这些特性为InnoDB存储引擎带来了更好的性能和更高的可靠性. ...

  4. delphi 动态获取文件类型的图标

    delphi 动态获取文件类型的图标.txt我不奢望什么,只希望你以后的女人一个不如一个.真怀念小时候啊,天热的时候我也可以像男人一样光膀子!在应用程序的编写中,组合框(ComboBox).列表框(L ...

  5. [NOIP模拟25]题解

    A.字符串 Catalan数不能再裸了 #include<cstdio> #include<iostream> #include<cstring> using na ...

  6. 前端每日实战:58# 视频演示如何用纯 CSS 创作一只卡通鹦鹉

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vrRmWy 可交互视频 此视频是可 ...

  7. ArcGIS Runtime SDK for .NET (Quartz Beta)之连接ArcGIS Portal

    1. 介绍 ArcGIS Portal作为ArcGIS平台的中枢,在ArcGIS体系中起着至关重要的地位.在ArcGIS Runtime的新架构Quartz中添加了连接ArcGIS Portal(或A ...

  8. QTP学习笔记--define new test object

    目前在测的系统里,有图片控件,图片源都是一样的,链接地址不同(链接地址是动态变化的,不适合作为属性). QTP的识别机制是根据Index来的,复制对象之后更改Index的属性方法无效,采用define ...

  9. 52、saleforce 第一篇

    View the Schema 1.点击setup 2.在QuickFind and Search中输入Schema Builder 先点击clear all 去除所有现实的UML,然后选择Line_ ...

  10. 05、python的基础-->字典的增、删、改、查

    1.字典的增 dict = {'age':19,'name':'老王','hobby':'girl'} dict['sex'] = 'boy' #没有键值对,直接添加 dict[' #有键值对,覆盖值 ...