今天是cj的大毒瘤zsy(对对,您说的都对,题目不难的啦,是我太菜啦)出题。

我校选手lqs仍然坚持高水平的发挥,wzy神犇却不在状态。

面对T1sb题(其实干了2h)和T3的原题(我&lqs&wzy当初一起花了1.5h切了的not that hard problem),果断3h写完230分开始颓b站(大力哥出狱啦,鬼畜真心爽啊)。

随后当了一把星际选手,眼瞎般的交错了代码。呜呜呜。。。

省选前考试的状态一点也没有,感觉只会写水题(还写不对),被wzy&lqs&nickluo&...爆踩。

我不想退役啊。。。看来要更认真才行了。

不然以后就不一定能踩lqs了,那多不爽啊。。。

左:lqs,右:xy

20190311

20190312

主要记一下T1吧,$f_{i,j}=f_{i,j}+\sum_{k=0}^{j-1} f_{i-1,k}*(k+1)$

考虑$f_{i,j}-f_{i,j-1}=f_{i-1,j}+(j-1)*f_{i-1,j-1}$,即$f_{i,j}=f_{i-1,j}+f_{i,j-1}+(j-1)*f_{i-1,j-1}$

不难认为这是一个平面数路径问题,斜边边权为j,开始计数

不难发现走的斜边个数相同的情况对应的NE lattice path的计数系数是一样的

于是分治fft一下,利用第一类斯特林数的O(nlogn)做法,我们也可以做到O(nlogn)。

#include<bits/stdc++.h>
using namespace std;
const int N=,mod=;
int n,m,ans,a[N],b[N],S[N],r[N],fac[N],ifac[N];
inline int pw(int a,int b){int r=;for(;b;b>>=,a=1ll*a*a%mod)if(b&)r=1ll*r*a%mod;return r;}
inline int C(int a,int b){return 1ll*fac[a]*ifac[b]%mod*ifac[a-b]%mod;}
inline void ntt(int n,int *a,int f)
{
int l=;while((<<l)<n)l++;
for(int i=;i<n;i++)r[i]=r[i>>]>>|(i&)<<(l-);
for(int i=;i<n;i++)if(i<r[i])swap(a[i],a[r[i]]);
for(int i=;i<n;i<<=)
{
int wn=pw(,(mod-)/(i<<));
if(f==-)wn=pw(wn,mod-);
for(int j=;j<n;j+=(i<<))for(int k=,w=;k<i;k++,w=1ll*w*wn%mod){int u=a[j+k],v=1ll*a[j+k+i]*w%mod;a[j+k]=(u+v)%mod;a[j+k+i]=(u+mod-v)%mod;}
}
if(f==-)for(int i=,iv=pw(n,mod-);i<n;i++)a[i]=1ll*a[i]*iv%mod;
}
void sol(int n)
{
if(n==){S[]=;S[]=;return;}
if(n&){sol(n-);for(int i=n;i;i--)S[i]=(S[i-]+1ll*(n-)*S[i])%mod;return;}
sol(n>>);n>>=;
for(int i=,p=;i<=n;i++)a[i]=1ll*p*ifac[i]%mod,p=1ll*p*n%mod;
for(int i=;i<=n;i++)b[i]=1ll*fac[n-i]*S[n-i]%mod;
n++;int nn=;while(nn<(n<<))nn<<=;
for(int i=n;i<nn;i++)a[i]=b[i]=;
ntt(nn,a,);ntt(nn,b,);
for(int i=;i<nn;i++)a[i]=1ll*a[i]*b[i]%mod;
ntt(nn,a,-);reverse(a,a+n);
for(int i=;i<n;i++)a[i]=1ll*a[i]*ifac[i]%mod;
for(int i=n;i<nn;i++)S[i]=a[i]=;
ntt(nn,S,);ntt(nn,a,);
for(int i=;i<nn;i++)S[i]=1ll*S[i]*a[i]%mod;
ntt(nn,S,-);
}
int main()
{
freopen("color.in","r",stdin);
freopen("color.out","w",stdout);
scanf("%d%d",&n,&m);n--;m--;
if(!n||!m){puts("");return ;}
for(int i=fac[]=;i<=n+m;i++)fac[i]=1ll*fac[i-]*i%mod;
ifac[n+m]=pw(fac[n+m],mod-);
for(int i=n+m;i;i--)ifac[i-]=1ll*ifac[i]*i%mod;
n++;sol(n);n--;
for(int i=;i<=n;i++)ans=(ans+1ll*C(n+m-i,n)*S[n+-i])%mod;
printf("%d\n",ans);
return ;
}

再次%zsy,%lqs。奶一口zsy和lqs省队稳啦。

(决定啦,像lqs这样又假又强的人后天我xy一定要认真地踩他一次,23333,xy加油啦。)

Upd1:zsy果然稳 orz HN队长!~

Upd2:lqs tql, 所以踩lqs的计划一直咕咕咕~

Upd3:在JSOI2019R2中终于比lqs高一点了(开心!),所以lqs似乎被我送出队了。。。

(不过一共4个名额,我校内rk3应该不怪我吧QwQ)~

Upd4:据说。。。lqs应该可能有希望进队?如果学长们进国家队的话。。。

Upd5:lqs进队了,因为FizzyDavid进国家队了。。。

%zsy %lqs 随感的更多相关文章

  1. Java与面向对象之随感(2)

    我们知道Java语言的一大特性就是相比于c语言和c++语言,其更加安全.那么Java安全性的一个重要保证就是它取消了指针,并且坚决反对数组的出界(c++对当数组超出上限但是还进行读写操作时允许的!), ...

  2. Onezero团队第三次站立会议随感

    >首先这是一个关于Android的小应用APP(记账本) >在Java基础薄弱的基础上尝试Android开发,让我感觉力不从心. >说实话本迭代周在程序设计,确实让我头疼,不知道怎么 ...

  3. zsy后台管理系统-架构设计

    Zsy框架总体架构设计 1.Mysql数据库,存储所有表的数据. 2.Zsy-基础项目(Zsy-Model,Zsy-Dao,Zsy-Service,Zsy-Web),基于SSM框架.项目功能包含基本的 ...

  4. 随感一:android handler传值更改ui

    handler+looper传值更改activity的UI 博客开了一段时间,一直想写点自己的学习经验及体会,等着以后长时间不用再要用到的时候直接拿过来上手.想了想,之前用到handler, 看了几篇 ...

  5. 初转java随感(一)程序=数据结构+算法

    大学刚学编程的时候,有一句很经典的话程序=数据结构+算法 今天有了进一步认识. 场景: 1.当前局面 (1)有现成的封装好的分页组件 返回结果是page.类型为:Page.包括 page 分页信息,d ...

  6. yii学习随感

    最近我们公司信易网络在用yii开发一个项目自己临时学习了一下yii 把学习感悟和大家一起分享一下 Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供 ...

  7. [转载]转载一篇好文章作为Java与面向对象之随感(3)

    关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很 ...

  8. Java与面向对象之随感(1)

    大一下学期上完了c++课程,当时自我感觉很良好,认为对面向对象编程已经是身经百战了,但是上了院里HuangYu老师的Java课之后,才发现自己对于面向对象的编程风格的理解只在皮毛,着实惭愧不已. 假设 ...

  9. Java随感

    创新项目要用java,而我只大概会C++,只能靠自学咯~~~随时将一些重要的概念做笔记在这里吧>_< 1.一个源文件中只能有一个public类,一个源文件可以有多个非public类 2.所 ...

随机推荐

  1. 已知一个正整数m,编写一个程序求m的反序数(待消化)

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/5 21:08 * @description ...

  2. Hibernate-day04

    HIbernate中的HQL查询 Hibernate中的查询方式:1,使用HQL:使用hibernate提供的面向对象的查询语句;2,使用SQL:在hibernate中允许使用原生的SQL直接查询;3 ...

  3. Python自学知识点----Day03

    cd指令说明 1).作用:切换工作目录. 2).   命令(注意空格)         含义 cd ~===cd             回到家目录 cd .                     ...

  4. 新装的centos怎样显示中文界面

    默认的显示英文界面,即使各种配置中都选择的chinese也没用,默认显示的还是英文. 要在终端输入 vim ~/.bashrc 编辑本用户配置文件 打开后最后一行加入 export LANG=&quo ...

  5. 描述逻辑(DL)基础知识

    Logic逻辑理论实际上是一个规范性(normative)的理论,而不是一个描述性的(descriptive)理论.即,它并不是用来描述人类究竟是采用何种的形式来推理的,而是来研究人类应该如何有效的进 ...

  6. 异想-天开 python---while、for、if-else 循环学习

    for循环: for i in range(10): # i循环10次 print('------',i) for j in range(10): print(j) if j > 2 : bre ...

  7. Android数据库无缝升级方案

    软件迭代过程中,业务不断更新,也要求软件持续更新.相应地,数据库更新升级也是不可避免的一个环节.Android作为客户端应用,数据库升级相对于服务端来说会麻烦一些.常见的升级方式有: 1.删除旧表和数 ...

  8. ADB——命令大全

    基本语法 基本语法 adb [-d|-e|-s <serialNumber>] <command> # serialNumber表示设备序列号,也可以是ip地址 # 如果只有一 ...

  9. mac配置自带vim高亮显示

    查找/etc/.vimrc的内容,如果没有的话 新建~/vimrc文件,在文件中写入如下内容即可 set ai " auto indenting set history=100 " ...

  10. 【SpringBoot】springboot -- 2.0版本自定义ReidsCacheManager的改变

    1. 问题发现 在1.0版本中,我们配置redis的cacheManager是这种方式: //缓存管理器 @Bean public CacheManager cacheManager(@Suppres ...