%zsy %lqs 随感
今天是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 随感的更多相关文章
- Java与面向对象之随感(2)
我们知道Java语言的一大特性就是相比于c语言和c++语言,其更加安全.那么Java安全性的一个重要保证就是它取消了指针,并且坚决反对数组的出界(c++对当数组超出上限但是还进行读写操作时允许的!), ...
- Onezero团队第三次站立会议随感
>首先这是一个关于Android的小应用APP(记账本) >在Java基础薄弱的基础上尝试Android开发,让我感觉力不从心. >说实话本迭代周在程序设计,确实让我头疼,不知道怎么 ...
- zsy后台管理系统-架构设计
Zsy框架总体架构设计 1.Mysql数据库,存储所有表的数据. 2.Zsy-基础项目(Zsy-Model,Zsy-Dao,Zsy-Service,Zsy-Web),基于SSM框架.项目功能包含基本的 ...
- 随感一:android handler传值更改ui
handler+looper传值更改activity的UI 博客开了一段时间,一直想写点自己的学习经验及体会,等着以后长时间不用再要用到的时候直接拿过来上手.想了想,之前用到handler, 看了几篇 ...
- 初转java随感(一)程序=数据结构+算法
大学刚学编程的时候,有一句很经典的话程序=数据结构+算法 今天有了进一步认识. 场景: 1.当前局面 (1)有现成的封装好的分页组件 返回结果是page.类型为:Page.包括 page 分页信息,d ...
- yii学习随感
最近我们公司信易网络在用yii开发一个项目自己临时学习了一下yii 把学习感悟和大家一起分享一下 Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供 ...
- [转载]转载一篇好文章作为Java与面向对象之随感(3)
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没法很 ...
- Java与面向对象之随感(1)
大一下学期上完了c++课程,当时自我感觉很良好,认为对面向对象编程已经是身经百战了,但是上了院里HuangYu老师的Java课之后,才发现自己对于面向对象的编程风格的理解只在皮毛,着实惭愧不已. 假设 ...
- Java随感
创新项目要用java,而我只大概会C++,只能靠自学咯~~~随时将一些重要的概念做笔记在这里吧>_< 1.一个源文件中只能有一个public类,一个源文件可以有多个非public类 2.所 ...
随机推荐
- 解密Redis的持久化和主从复制机制
Redis持久化 Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化记录服务器执 ...
- openlayers3 基础(常见方法,类及实现)
ol3接口大全1.ol.Map类:(地图容器类) 实现: ol.Map(参数) 参数说明:1.1 target,说明地图所在的html元素. 如果没有指定,必须调用ol.Map类的setTarget( ...
- 面向面试编程代码片段之GC
x 代码 using System; using System.Threading; public static class Program{ public static void Main(){ T ...
- 泡泡一分钟: Deep-LK for Efficient Adaptive Object Tracking
Deep-LK for Efficient Adaptive Object Tracking "链接:https://pan.baidu.com/s/1Hn-CVgiR7WV0jvaYBv5 ...
- Python+Selenium+PageObject
一.安装page_objects测试库 二.目录介绍 1.pages包:用于各界面元素定位,如BaseLoginPage.py 2.testcases包:用于编写各功能测试用例,如Login.py 3 ...
- 【托业】【跨栏】TEST05
22 23 21. 22 23 24 25 REVIEW TEST05
- Docker 私有仓库建立(加密和用户验证)
(一)生成证书1.mkdir /certs2.cd /certs 3.生成自签名证书 sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days ...
- 聚合函数对NULL统计
Table ID Amount Number 1 28.26 NULL 2 NULL NULL 3 NULL NULL SQL SELECT SUM(Amount),SUM(Number),COUNT ...
- 配置notepad++支持golang开发
1 下载golang安装包和配置环境变量 到官网下载golang安装包,下载地址:https://golang.org/dl/,我选择的go1.7.windows-amd64.zip. 配置环境变量: ...
- Go语言 切片长度和容量
package main import "fmt" func main() { s := []int{2, 3, 5, 7, 11, 13} printSlice(s) // Sl ...