回忆京都

题目:传送门

分析:组合数打表+二维前缀和+边处理边%(注意加上一个大数后取%

#include<bits/stdc++.h>
using namespace std;
#define MOD 19260817
int c[1010][1010],ans[1010][1010];
int main()
{
    c[1][0]=c[1][1]=1;
for(int i=2;i<=1005;i++)
{
    c[i][0]=1;
    for(int j=1;j<=i;j++)
    {
        c[i][j]=(c[i-1][j]+c[i-1][j-1])%MOD;
    }
}
for(int i=1;i<=1005;i++)
{
    for(int j=1;j<=1005;j++)
    {
        ans[i][j]=(ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1]+c[i][j]+MOD)%MOD;
    }
}
    int  q,n,m;
    cin>>q;
    while(q--)
    {
        cin>>n>>m;
        cout<<ans[m][n]<<endl;
    }

    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Leetcode 409. 最长回文串 (Hash)

    glm233
  • The XOR Largest Pair

    链接:https://ac.nowcoder.com/acm/problem/50993 来源:牛客网

    glm233
  • 修理牛棚 Barn Repair

    分析:贪心,取对间隔进行排序,按照贪心思想取间隔最大着为空隙,当前所需木板数+1,要注意的是一旦选出空隙总长要加一,因为你分裂了线段少算了末端,木板数用完了就得...

    glm233
  • BZOJ2946 [Poi2000]公共串(后缀自动机)

    attack
  • 图解精选 TOP 面试题 006 | 进制转换

    与其他进制转 10 进制的计算方式相同。我们假设 n 位上的数字为 ,那么该位置所产生的 10 进制数值为:

    江不知
  • Java Swing程序开发—右下角显示进度条

    转入正题:这篇文章实现在桌面右下角显示一个进度条,显示当前程序运行的进度。而且鼠标能够拖动进度条。有需要的童鞋,可以直接拷贝代码过去使用!

    卡尔曼和玻尔兹曼谁曼
  • 01:查找特定的值

    01:查找特定的值 查看 提交 统计 1 #include<iostream> 2 using namespace std; 3 int a[100...

    attack
  • netty了解与应用

    学习netty之前,必须先了解下什么是nio,关于nio的教程网上非常多,和传统io的比较,优势,如何使用,各个方面都有比较细致的分析。

    sucl
  • 初学者必看的单片机开发版选型手册

    在QQ群里和微信上,我一无数次的回答过如何选开发板的问题,完了还是有无数个小伙伴来问同样的问题,最头疼的是问完了后跟着就是“你给我推荐一块板子吧?”,在此也顺带...

    单片机技术宅
  • 算法与数据结构大系列 - NO.1 - 插入排序

    这是一种就地比较排序算法。这里,维护一个始终排序的子列表。例如,维护数组的下半部分以进行排序。要在此已排序的子列表中“插入”的元素必须找到其适当的位置,然后必须...

    mySoul

扫码关注云+社区

领取腾讯云代金券