当前位置: 首页 > news >正文

郑州网站建设公司咨询wordpress怎么做链接

郑州网站建设公司咨询,wordpress怎么做链接,百度收录最高发帖网站,网络营销方式优缺点problem luogu 给一个 HWH\times WHW 的网格#xff0c;每一步只能向右或向下走#xff0c;给出一些坐标#xff0c;这些坐标对应的位置不能经过#xff0c;求从左上角 (1,1)(1,1)(1,1) 走到右下角 (H,W)(H,W)(H,W) 的方案数#xff0c;答案对 109710^971097 取模。 1≤…problem luogu 给一个 H×WH\times WH×W 的网格每一步只能向右或向下走给出一些坐标这些坐标对应的位置不能经过求从左上角 (1,1)(1,1)(1,1) 走到右下角 (H,W)(H,W)(H,W) 的方案数答案对 109710^971097 取模。 1≤H,W≤1e5,1≤n≤30001\le H,W\le 1e5,1\le n\le 30001≤H,W≤1e5,1≤n≤3000。 solution 设 f(i,j):f(i,j):f(i,j): 在位置 (i,j)(i,j)(i,j) 的方案数显然已经不行了。 关注到障碍物的数量非常少考虑从障碍物的角度入手。 这种在网格图上只有右边和下边的走法抽象成数学模型就是组合数。 从 (x1,y1)(x_1,y_1)(x1​,y1​) 到 (x2,y2)(x_2,y_2)(x2​,y2​) 的方案数即为 (x2−x1y2−y1x2−x1)\binom{x_2-x_1y_2-y_1}{x_2-x_1}(x2​−x1​x2​−x1​y2​−y1​​)。 这种方案数包含所有经过不同的若干个障碍物的情况。 我们考虑容斥至少经过 000 个障碍物 −-− 至少经过 111 个障碍物 至少经过两个障碍物 …\dots…。 这是普通的容斥是总集合靠着子集加加减减来求得。 SA1(A2−A1⋂A2)(A3−(A1⋃A2)⋂A3)...(An−(A1⋃⋯⋃An−1)⋂An)SA_1(A_2-A_1\bigcap A_2)(A_3-(A_1\bigcup A_2)\bigcap A_3)...(A_n-(A_1\bigcup\dots\bigcup A_{n-1})\bigcap A_n)SA1​(A2​−A1​⋂A2​)(A3​−(A1​⋃A2​)⋂A3​)...(An​−(A1​⋃⋯⋃An−1​)⋂An​) 每次从剩余元素中把属于 AiA_iAi​ 的取走直到取完总集合。 设 f(i):f(i):f(i): 只经过第 iii 个障碍物的方案数。 将障碍物按 xxx 坐标升序排列相同则按 yyy 升序。 把最后终点也当作障碍物即可。 code #include bits/stdc.h using namespace std; #define maxn 200005 #define int long long #define mod 1000000007 int n, r, c; int f[maxn], fac[maxn], inv[maxn]; struct node { int x, y; }p[maxn]; int qkpow( int x, int y ) {int ans 1;while( y ) {if( y 1 ) ans ans * x % mod;x x * x % mod;y 1;}return ans; } int C( int n, int m ) {return fac[n] * inv[m] % mod * inv[n - m] % mod; } void init( int n 2e5 ) {fac[0] inv[0] 1;for( int i 1;i n;i ) fac[i] fac[i - 1] * i % mod;inv[n] qkpow( fac[n], mod - 2 );for( int i n - 1;i;i -- ) inv[i] inv[i 1] * (i 1) % mod; } signed main() {scanf( %lld %lld %lld, r, c, n ); init();for( int i 1;i n;i ) scanf( %d %d, p[i].x, p[i].y );p[ n] (node){ r, c };sort( p 1, p n 1, []( node a, node b ){ return a.x b.x ? a.y b.y : a.x b.x; } );for( int i 1;i n;i ) f[i] C( p[i].x p[i].y - 2, p[i].x - 1 );for( int i 1;i n;i )for( int j i 1;j n;j )if( p[i].y p[j].y )( f[j] - f[i] * C(p[j].x - p[i].x p[j].y - p[i].y, p[j].x - p[i].x) ) % mod;printf( %lld\n, (f[n] mod) % mod );return 0; }
http://www.sadfv.cn/news/366588/

相关文章:

  • 嵩明建设局网站企业网站建设哪家最好
  • 山东住房城乡建设厅官方网站系统管理员已阻止这个应用
  • html5学习网站物流相关网站
  • 百度网站建设北京永久有效的代理ip
  • 阜阳手机网站建设wordpress预留邮箱
  • 邢台本地网站网站建设那家做的好
  • 石景山郑州阳网站建设成都搭建企业网站
  • 城市管理如何宣传市建设网站网站开发学什么
  • 做网站源代码网站主页面设计模板
  • 广州网站建设流程图个人门户网站备案流程
  • 天津手机模板建站怎样大力开发公司网站建设
  • 单位做网站怎么做做网站需要几万块吗
  • aspcms手机网站源码北京大型广告公司有哪些
  • iis做网站跳转食品包装设计开题报告
  • 设计素材网站哪个好用禅城网站开发
  • 上海崇明林业建设有限公司 网站seo营销
  • 最好用的网站新网站没有死链接怎么做
  • 报名网站辽宁省建设银行网站建设 .北京蓝纤
  • 网站改版方案原则携wordpress
  • 网站维护一般需要多久时间临沂网站建设方案报价
  • 印刷厂网站建设优化网站排名工具
  • 网站建设案例咨询商城网站开发的完整流程
  • 网站建设维护工作wordpress 推送
  • 福州营销型网站建设网页端
  • 长沙设备建站按效果付费动态ip可以做网站
  • 福州网站推广排名企业管理咨询案例分析
  • 苏州营销型网站建设pagekit和wordpress
  • 免费网站空间免费主机北京网站建设有限公司
  • 营销型网站建设xywlcn上海仓储公司
  • 一站式做网站公司江阴哪家做网站便宜