Card Game

news/2024/10/16 0:17:12
  • 沉睡的记忆轻轻将你唤醒。记得三年前的五一,正是关于卡特兰数的折线法证明,同时兼容着【数形结合】和【正难则反】的思想,刷新了你对OI的认知
  • 将卡牌的匹配关系视为括号序列,也与【前缀和非负】的感受相关。而合法的括号序列数又可以用卡特兰数来刻画。\(Cat_{n}=\frac{C^{n}_{2n}}{n+1}=C^{n}_{2n}-C^{n+1}_{2n}\),后者是到(n-1,n+1)的方案数,与非法方案构成双射;由于其关于二叉树的中序遍历,因此也可以用\({\textstyle \sum_{i=1}^{n}}H_{i-1}H_{n-i}\)的递推公式求解
  • 得到了这一关键提示后,也是成功独立做出这道题啦~
  • 【调试程序】滚动数组的清空
点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int mod=998244353;
long long f[2][505][505],g[505][505],h[2][505][505];
int main()
{ios::sync_with_stdio(false);cin.tie(0);int n,m;cin>>n>>m;f[0][0][0]=1;for(int i=1;i<=m;i++){memset(f[i&1],0,sizeof(f[i&1]));for(int j=0;j<=i;j++){for(int k=0;j+k<=i;k++){if(k==0){if(j){f[i&1][j][k]=f[i&1^1][j-1][k];}}f[i&1][j][k]+=f[i&1^1][j][k+1];//add ')'if(k){f[i&1][j][k]+=f[i&1^1][j][k-1];}//add '('f[i&1][j][k]%=mod;}}}/*for(int j=0;j<=m;j++){cout<<j<<':'<<f[m][j][0]<<endl;}*/h[0][0][0]=1;for(int i=1;i<=m;i++){memset(h[i&1],0,sizeof(h[i&1]));for(int j=0;j<=i;j++){for(int k=0;j+k<=i;k++){if(j){h[i&1][j][k]=h[i&1^1][j-1][k];}//add'('if(j==0){if(k){h[i&1][j][k]+=h[i&1^1][j][k-1];}}h[i&1][j][k]+=h[i&1^1][j+1][k];h[i&1][j][k]%=mod;//add')'}}}/*for(int j=0;j<=m;j++){cout<<j<<':'<<h[m][j][0]<<endl;}*/g[1][0]=1;for(int j=2;j<=n;j++){for(int k=0;k<=m;k++){for(int l=0;l<=k;l++){g[j][k]+=(g[j-1][k-l]*h[m&1][l][0]%mod);}g[j][k]%=mod;}}long long ans=0;for(int i=0;i<=m;i+=2){ans=ans+g[n][i]*f[m&1][i][0]%mod;}cout<<ans%mod<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

数据采集与融合技术作业一

作业1 作业①【结合flask】 要求:用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020)的数据,屏幕打印爬取的大学排名信息。 1.1 代码和图片 import re import urllib.request from bs4 import BeautifulSoup from flask …

IDEA中如何让整个项目代码回退

背景:今天项目在做的时候,发现前面的代码部分有问题。但是已经不清楚自己改了哪些部分的代码了,这时候的一个好办法就是使用IDEA中的代码回退到之前的某一时刻。 做法:1、打开项目,如果回退整个项目的代码,右键项目 -> Local History -> show History2、现在可以看…

vue 动态加载路由,渲染左侧菜单栏

需求 我们在route文件中定义的路由是由子路由包裹进去的,它可能是无限级的。如何在vue的模板中渲染形成菜单栏。 如图: 解决方法 将菜单栏单独写成子组件(注意头部标签:element-plus中是el-menu)仍然在父组件中。将配置路由数据传入到子组件。子组件渲染一级路由。 一级路…

IDEA连接数据库后,在使用表的时候有时候未检测到表

我的这个产生的原因:之前做项目的时候检测到category表了,但后来数据库断开后,等再次连接上数据库,可以检测到数据库,但数据库中的表直接用,是检测不到的。 解决方法一:使用数据库中表的时候,可以 [数据库.数据库表],如下图所示,可以看到此时使用表就不爆红了。解决方…

DirectoryOpus插件:“照得标管理器”-海量照片分类管理好帮手!

照得标管理器 前言名词解释:“照得标管理器”,即:照片得到标签管理器,后文统一简称“照得标管理器”或“照得标”。  注:请不要和抖音上的“奥德彪”、“王德发”之类联系,我分享的是正经照片-得到-标签-管理器。有段时间作者赋闲在家,决定把留在电脑上的几万张照片整…

2024-10-15

CSS简介点击查看代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>…

Selenium操作:测试form表单

from表单是经常测试的用例,用户登录、注册等都会用到form表单from表单是经常测试的用例,用户登录、注册等都会用到form表单,本文简单设计了一个用户登录的form表单,并对该form表单进行测试一、自定义form表单 1、用到的组件 如下图,图中定义了一个登录界面的form表单,用到…

优化远程桌面RDP,使用GPU和帧率60帧

1.平时在使用远程桌面的时候,会发现无法使用GPU,也就无法运行一些需要独立GPU的应用和游戏。 以下为开启方式: 在被远程的电脑上运行:开始->运行,输入gpedit.msc(家庭版没有)打开组策略。 在左侧导航到以下路径计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面…