- 0
- 0
- 约3.29千字
- 约 37页
- 2026-11-04 发布于重庆
- 举报
有一个栈,其中有n个数1~n按顺序依次进入栈顶,在某个时刻弹出。其中m个限制,形如数字A必须在数字B之前弹出。求方案总数,答案对大质数取模。n=300,m=90000。考虑没有限制的情况。令dp[l][r]表示仅仅只有l~r这些数字进出栈的情况。我们枚举最后出栈的数是x,那么有dp[l][r]=Σdp[l][x-1]*dp[x+1][r]。其实就是卡特兰数列啦。考虑一个限制A,B,表示A必须在B之前弹出。对于一个dp[l][r]若l=A=B=r,则A不能作为最后一个弹出,而其它都是可以的。为什么呢?当Ax=B时显然成立。当l=xA或Bx=r时对于一边是没有影响的,对于另一边在子dp中已经满足了A在B之前弹出。若l=B=A=r,则B+1~A不能作为最后一个出栈。若这些成为最后出栈的数,则B显然会比A先被弹出。枚举所有区间和x,判断是否可以转移。那么我们就有了一个n^3m的做法。令v[i][j][k]表示在dp[i][j]中k是否可以作为转移。注意到在每个限制中,不能取的数一定是连续的,因此我们对于每个限制可以枚举每个区间,用并查集维护,时间复杂度降为n^2mα(n)。观察一个限制A,B,对于它来说,有用的区间一定是l=min(A,B)且r=max(A,B)的,在二维平面中,这本质上构成了一个矩形。因此我们
您可能关注的文档
最近下载
- 机动车二级驾驶员理论考试试题及详细答案解析.docx VIP
- 2025年特许金融分析师自由现金流估值与人工智能应用专题试卷及解析.pdf VIP
- 帕瑞昔布钠合成路线图解1211607_publish2013812.pdf.pdf VIP
- 2026年定密责任人专项考试试题及答案.docx
- 2025年信息系统安全专家医疗健康数据隐私与访问权限控制专题试卷及解析.pdf VIP
- 2025年AWS认证AWSLicenseManager与AWSConfig集成实现合规性审计专题试卷及解析.pdf VIP
- 2025年金融风险管理师缺口分析系统设计与实施专题试卷及解析.pdf VIP
- 柴可夫斯基钢琴套曲《四季》的艺术特色与演奏技巧分析.docx VIP
- IATF16949产品交付控制程序(含附属表单).pdf VIP
- DB5227T050-2014 榉木育苗技术规程.pdf VIP
原创力文档

文档评论(0)