[ZJOI]2008 生日聚会
2024-08-31 05:02:43
显然DP。
将题目转化下: 求由n个0、m个1组成,且满足任意子串0的数量和1的数量差绝对值不超过k的01串数量。n, m≤150,k≤20。
直接做没什么思路,,那我们尽量利用题目的时间和空间限制,以达到清晰、方便的方程转移。
由于题目n、m很小,可以考虑O(nm)带k的几次方的算法。
设f[a][b][l][h]表示当前序列中放了a个1,b个0,所有后缀中,男生减女生的差最大为l,女生减男生的差最大为h的方案数。
那么状态转移显然-> f[a][b][l][h] 可以向 f[a+1][b][l+1][max(h-1),0] 或 f[a][b+1][max(l-1)][h+1] 转移;最后答案统计f[n][m][l][h](枚举l,h)。
Code:
#include<bits/stdc++.h> using namespace std; ; ; ][]; int main(){ int n,m,k; cin>>n>>m>>k; f[][][][] = ; ;a<=n;++a) ;b<=m;++b) ;l<=k;++l) ;h<=k;++h) if(f[a][b][l][h]){ int cnt = f[a][b][l][h]; f[a+][b][l+][max(h-,)] += cnt;f[a+][b][l+][max(h-,)]%=mod; f[a][b+][max(l-,)][h+] += cnt;f[a][b+][max(l-,)][h+]%=mod; } ; ;i<=k;++i) ;j<=k;++j) ans = (ans + f[n][m][i][j])%mod; cout<<ans<<endl; }
最新文章
- dp、px、dpi、ppi
- time元素
- [CareerCup] 16.5 Semphore 信号旗
- 如何让linux定时任务crontab按秒执行
- 树莓派配置静态ip
- 算法分析 Analysis of Algorithms -------GeekforGeeker 翻译
- 如何用ABBYY把PDF如何转换成HTML
- 敏捷开发的价值观(转自MBAlib)
- 动画讲解 Eclipse 常用快捷键
- butterknife简化android开发
- java笔记之静态修饰附和单例设计模式
- jQuery EasyUI 1.3.4 离线API、Demo
- 计蒜客的一道题dfs
- jquery-防多店铺购物车结算全选,单选,及删除,价格计算
- C语言进阶--Day2
- Coding配合git使用时遇到的问题
- 2-SAT问题的小结
- 鸟哥的 Linux 私房菜Shell Scripts篇(二)
- Spring学习笔记三:Bean管理
- php.ini 中文版
热门文章
- [转]UE的职责
- 【Eclipse常见错误】-Cannot return from outside a function or method
- Eric Linux - 1 Basic concepts of linux
- Android自动化测试探索(三)Android SDK tools安装、aapt配置以及使用aapt获取apk包名
- ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理
- Tido 习题-二叉树-树状数组实现
- 高并发 Nginx+Lua OpenResty系列(4)——Lua 模块开发
- linux命令---grep命令使用
- Oracle Awr报告_生成
- Web自动化测试 二 ----- HTML