【JZOJ6353】给(ca)
description

analysis
很妙的\(DP\)
设\(f[i][j]\)表示已经放了\(i\)个叶子节点、根到当前节点走了\(j\)步向左的方案数
考虑调整\(DP\)方式,钦定伸出左儿子可以直接转移,伸出右儿子必须由没有右儿子的父亲转移
如果伸出左儿子,叶子节点数不变,而步数\(+1\),所以\(f[i][j+1]+=f[i][j]\)
如果伸出右儿子,叶子节点数\(+1\),当前步数\(-1\),所以\(f[i+1][j-1]+=f[i][j]\)
初始化\(f[1][0]=0\),答案为\(f[i][0]\),因为该点是从根开始的右链上的最后一个点,即为答案
code
#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAXN 5005
#define ha 998244353
#define ll long long
#define reg register ll
#define fo(i,a,b) for (reg i=a;i<=b;++i)
#define fd(i,a,b) for (reg i=a;i>=b;--i)
using namespace std;
ll f[MAXN][MAXN];
ll n,m;
int main()
{
//freopen("T1.in","r",stdin);
freopen("ca.in","r",stdin);
freopen("ca.out","w",stdout);
scanf("%lld%lld",&m,&n),f[1][0]=1;
fo(i,1,n)fo(j,0,m-1)(f[i][j+1]+=f[i][j])%=ha,(f[i+1][j-1]+=f[i][j])%=ha;
fo(i,1,n)printf("%lld\n",f[i][0]);
return 0;
}
【JZOJ6353】给(ca)的更多相关文章
- CA扫盲的巅峰之作!!!
★ 先说一个通俗的例子 考虑到证书体系的相关知识比较枯燥.晦涩.俺先拿一个通俗的例子来说事儿. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 ...
- CA认证原理以及实现(上)
转自:http://yale.iteye.com/blog/1675344 原理基础数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体,依靠数字证书,我们可以构建一个简单的 ...
- 使用非Web方式从CA申请证书
背景介绍:关于从CA申请证书这点事,网上的那些教程基本都是让我们通过访问https://server/certsrv这样的网页来操作的,我一直希望不依赖IIS就把这事干了,于是就有了下面的文章. 1. ...
- ca证书校验用户证书
openssl verify -CAfile ca.cer server.crt 现在很多网站和服务都使用了HTTPS进行链路加密.防止信息在传输中间节点被窃听和篡改.HTTPS的启用都需要一个CA证 ...
- PHP Problem with the SSL CA cert (path? access rights?)
1.php使用curl模块报错问题 开发遇到问题,直接使用系统的curl命令正常,使用php的curl模块报错 错误:PHP Problem with the SSL CA cert (path? a ...
- 微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书
微信红包接口调试过程中一直提示“CA证书出错,请登陆微信支付商户平台下载证书”,经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开发的,这里需要三个p ...
- 知识积累:CA详解
所有证书有多种文件编码格式,主要包括: CER编码(规范编码格式):是BER(基本编码格式)的一个变种,比BER规定得更严格DER编码(卓越编码格式):是BER(基本编码格式)的一个变种, 比BER ...
- CA签发工具
#!/bin/bash #author Sun Ying #date:2015-12-17 if [ $# -lt 1 ];then echo -e "\033[34mUsage: `bas ...
- Linux 之加密类型,CA,Openssl,Openssh
TCP/IP:安全 A------->B 机密性:明文传输(ftp,http,smtp,telnet),被窃听 完整性:消息被篡改 身份验证:你访问的主机就是你真实要访问的那台,而不是钓鱼网站 ...
随机推荐
- Vuex 源码解析
先来看一下这张Vuex的数据流程图,熟悉Vuex使用的同学应该已经有所了解. Vuex实现了一个单向数据流,在全局拥有一个State存放数据,所有修改State的操作必须通过Mutation进行,Mu ...
- 框架_mybatis2使用注解
在dao中使用注解: package cn.dao; import cn.mepu.User; import org.apache.ibatis.annotations.Select; import ...
- <%#Eval() %>的常用方法
<%# %>用于数据绑定,通常是用在数据源控件里,比如GridView,Repeater等. 1.绑定Repeater 基础用法 <%# Eval("DriverName& ...
- day01 mysql认识 安装 配置 起服务 密码 字符集 用户授权
day01 mysql 一.认识mysql 关系型数据库: 最流行的关系型数据库管理系统,支持大型数据库,处理上千万条记录 关系型: oracle, ...
- html中没有不能随意嵌套的标签
在HTML里有几个元素是比较特别的:<ul>.<ol>.<dl>.<table>,它们的子一层必须是指定元素,<ul>.<ol> ...
- 修改Ubuntu16.04默认主题标题栏的颜色
默认主题为Ambiance: sudo gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-main.css 将: @define-color dark_bg_c ...
- List之去重
废话不多说,直接上代码 List<int> list1 = new List<int>(); list1.Add(); list1.Add(); list1.Add(); li ...
- vue-cli 新手 搭建项目 一
新手入坑vue 搭建项目 一.安装 vue-cli 1.打开cmd 输入命令(已自行安装好npm node等) npm install --global vue-cli (全局安装) 二.创建项 ...
- 使用threading模块创建线程
#_author:来童星#date:2019/12/17#使用threading模块创建线程import threading,timedef process(): for i in range(3): ...
- cut sort uniq wc 一 文本处理工具
cut cut是一个选取命令,就是将一段数据经过分析,取出我们想要的. 一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. -c : 以字符为单位进行分割. c ...