传送门1
传送门2
传送门3
写在前面:路漫漫其修远兮,扶摇直上九万里
思路:
蒟蒻刚开始认为这是个DP,想了半天推出了错误的式子,无奈打表找规律,得出30分做饭
转移:f[i][j]=f[i−1][j]+f[i][j−1](j<=i)f[i][j]=f[i-1][j]+f[i][j-1](j
初始化:f[i][0]=1(i=0...n)f[i][0]=1(i=0...n)
然而O(nm)O(nm)的做法不能满足AC,但我发现我已经找不出更优的做法了……
半小时后
“受不了了,查题解!”
原博文

解析: 很容易转化一下题意,转化到从一个矩阵的左下走到右上不能过某条线的方案数。
如果我们把1看作走一个向量(1,1),0看作走一个向量(1,-1),那么我们可以把模型转化成从(0,0)走到(n+m,n-m)并且不能经过直线y=-1的方案数。
暂且不考虑限制答案显然为C(n+m,m),如果考虑限制的话,我们看图发现经过y=-1的情况可以看作从(0,-2)出发到(n+m,n-m)的方案数。

所以不合法的方案数恰好为C(n+m,m-1)(原来能选m个0,但是现在由于纵坐标下降了2,所以只好少走一个0,多走一个1转化成m-1,当然也可以看做是(n+m-(n-m+2))>>1)

……
(这里本来想打我的理解的,但写出来发现各种口胡迷乱,连自己都快搞不清楚说的啥了,Orz神犇)
注意:开longlong也要乘一步mod一步,不然也会溢出的
代码:

#include<bits/stdc++.h>
#define mod 20100403//这是个质数
#define LL long long
using namespace std;
int n,m;
LL ans;
LL f[2000010];
LL qr(LL x,int y)
{LL ans=1;while (y){if (y&1) ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;
}
main()
{scanf("%d%d",&n,&m);if (m>n) printf("0"),exit(0);f[0]=1;for (int i=1;i<=n+m;i++)f[i]=f[i-1]*i%mod;ans=f[m+n]*qr(f[n],mod-2)%mod*qr(f[m],mod-2)%mod;ans=(ans-f[n+m]*qr(f[n+1],mod-2)%mod*qr(f[m-1],mod-2)%mod)%mod;printf("%d",(ans+mod)%mod);
}

【Tyvj1783】【codevs2418】【BZOJ1856】字符串,厉害的组合数与模型转换相关推荐

  1. 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...

  2. java字符串与基本数据_java --字符串与基本数据类型之间的转换

    public static void main(String[] args) { /** * 1.字符串与基本数据类型之间的转换 * 字符串-->基本数据类型,调用xx.parseXxx(Str ...

  3. C# 16进制与字符串、字节数组之间的转换

    在串口通讯过程中,经常要用到 16进制与字符串.字节数组之间的转换 字符串转16进制字节数组  1         private static byte[] strToToHexByte(strin ...

  4. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usin ...

  5. C语言字符串相关一级指针内存模型

    C语言字符串相关一级指针内存模型 通过实例探索一级指针内存模型 通过实例探索一级指针内存模型 void main() {char buf[20]= "aaaa";char buf2 ...

  6. c#图片base64去转义字符_C#实现字符串与图片的Base64编码转换操作示例|chu

    本文实例讲述了C#实现字符串与图片的Base64编码转换操作.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; usin ...

  7. C++字符串类型和数字之间的转换

    C++字符串类型和数字之间的转换 转载:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html 1.字符串数字之间的转换 字符 ...

  8. sql datetime转字符串_datetime的用法,时间戳转换

    点击"蓝字"关注,一起进阶共同成长 datetime用做日期和时间的管理和转换. 获取当前时间 import timefrom datetime import datetime, ...

  9. VB-VB.NET中 从字符串“XX”到类型“Double”的转换无效

       最近在做一个vb.net写的一个网站,有一次同学有个问题问我,说程序总是抛出"从字符串"aa"到类型"Double"的转换无效"的错误 ...

最新文章

  1. python文件指针放在文件的开头_将文件指针倒带到上一个lin的开头
  2. python基础代码事例-零基础学习Python开发练习100题实例(2)
  3. SylixOS普通定时器精度分析
  4. javac 编译异常总结
  5. Uber的一键式聊天智能回复系统
  6. PureMvc学习笔记
  7. 树莓派安装vnc server并设置自启动
  8. linux 3d加速驱动_实时Linux,3D打印自行车,Google的“加速的移动页面”等
  9. sap委外采购订单冲销 102_SAP那些事-实战篇-68-谈谈SAP的库存设计理念
  10. ccd相机好修吗_CCD到底值不值得买,CCD相机入坑全过程
  11. TLS1.3对CIP的影响(对密码套件的解释)
  12. Android的硬件缩放技术优化执行效率 Screen.SetResolution
  13. “Java Web 程序设计”心得体会
  14. cyclone小知识(三)——cyclone导入多种格式数据
  15. Laravel学习记录--查询构造器
  16. SpringBoot与Loki的那些事
  17. 小学生计算机按键分布图,小学生计算器上各种按键的作用
  18. 像呼吸空气一样呼吸创意
  19. 如何在浏览器中支持H265/HEVC
  20. 亲测可用:两个在线的测试数据生成工具

热门文章

  1. 利用modelarts和物体检测方式识别验证码
  2. 【Recorder.js+百度语音识别】全栈方案技术细节
  3. 基于CSE的微服务工程实践-Native API先行
  4. python编程试题单词倒排_Python:将句子中的单词全部倒排过来,但单词的字母顺序不变...
  5. nn.Conv2d的解释
  6. 【李宏毅机器学习】Classification_1 分类(p10) 学习笔记
  7. python 读取txt文件没读到400行_400行Python代码实现文语处理助手(3) - 音频显示-嵌入式系统-与非网...
  8. Java获取数据类型
  9. windows 2008 终端服务器配置,windows 2008终端服务器设置
  10. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)