Educational Codeforces Round 116 (Rated for Div. 2)
文章目录
- E. Arena
E. Arena
题意:
现有 n n n位勇士,生命值在 1 ∼ x 1\sim x 1∼x ,每回合所有勇士减少 t − 1 t-1 t−1点生命值,其中 t t t是生命值为正的勇士数量。问:有多少种分配各勇士生命值的方法,可以使得最终所有勇士生命值均降为 0 0 0及以下。
思路:DP
状态表示:
设 d p [ i ] [ j ] dp[i][j] dp[i][j]表示 i i i个勇士,其中勇士血量最多为 j j j,经过若干次后所有勇士血量 ≤ 0 \le0 ≤0的方案数
状态转移:
如果 i − 1 > = j , d p [ i ] [ j ] = j i i-1>=j,dp[i][j]=j^i i−1>=j,dp[i][j]=ji
否则
- d p [ i ] [ j ] + = d p [ k ] [ j − i + 1 ] ∗ ( i − 1 ) i − k ∗ C ( i , k ) dp[i][j]+=dp[k][j-i+1]*(i-1)^{i-k}*C(i,k) dp[i][j]+=dp[k][j−i+1]∗(i−1)i−k∗C(i,k),枚举 k k k,表示第一次有 k k k个勇士死亡,这 k k k个勇士每个勇士的血量可以取 1 ∼ i − 1 1\sim i-1 1∼i−1,再乘于 C ( n , k ) C(n,k) C(n,k)表示从 n n n个勇士中取 k k k个
- d p [ i ] [ j ] + = ( i − 1 ) i dp[i][j]+=(i-1)^i dp[i][j]+=(i−1)i,表示 i i i个勇士全死的方案
答案: d p [ n ] [ x ] dp[n][x] dp[n][x]
#include <bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
const int N=510,M=2*N;
const int inf=0x3f3f3f3f;
const ll INF=0x3f3f3f3f3f3f3f3f;const ll mod=998244353;ll qpow(ll a,ll b){ll res=1;while(b){if(b&1) res=res*a%mod;b>>=1;a=a*a%mod;}return res%mod;
}ll C[N][N];
void init(){C[0][0]=1;rep(i,1,505){rep(j,0,i){if(!j) C[i][j]=1;else C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;}}
}ll dp[N][N]; //dp[i][j]表示i个勇士,最多血量为j
int n,x;void solve(){init();scanf("%d%d",&n,&x);rep(i,2,n)rep(j,1,x){if(i-1>=j) dp[i][j]=qpow(j,i);else{rep(k,2,i){(dp[i][j]+=dp[k][j-i+1]*qpow(i-1,i-k)%mod*C[i][k])%=mod;}(dp[i][j]+=qpow(i-1,i))%=mod;}}printf("%lld\n",dp[n][x]);
}signed main(){//int _;scanf("%d",&_);while(_--)solve();return 0;
}
Educational Codeforces Round 116 (Rated for Div. 2)相关推荐
- Educational Codeforces Round 116 (Rated for Div. 2) A B C
Educational Codeforces Round 116 (Rated for Div. 2) A B C A. AB Balance 题意:使得区间内ab的数量的ba的数量相同,每次操作只能 ...
- Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...
- Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...
- Educational Codeforces Round 37 (Rated for Div. 2) 1
Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...
- Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)
Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...
- Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...
- Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...
- Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
传送门 文章目录 题意: 思路: 题意: 给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数. n,m≤5e3n,m\le5e3n,m≤5e3 思 ...
- Educational Codeforces Round 111 (Rated for Div. 2) D. Excellent Arrays 组合数学
传送门 文章目录 题意: 思路: 题意: 给你一个数组aia_iai,定义一个数组是好的当且仅当对于所有iii都有ai!=ia_i!=iai!=i.定义f(a)f(a)f(a)表示数组aaa中i& ...
最新文章
- AIX系统日志学习笔记之一
- mysql查询表的列名主键_SQl查询数据库表名、表的列名、数据类型、主键
- Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!
- Nginx 作为web server 的优化要点
- Django几种缓存机制的配置和应用
- 使用shell脚本实现自动SSH互信功能
- Android复习13【广播:思维导图、音乐播放器】
- 麒麟810处理器_华为nova5跑分公布,麒麟810到底是什么水平?
- 自学Java和Java培训班的学习效果
- IOS学习笔记之十七 (NSDate、NSDateFormatter、NSCalendar、NSDateComponents、NSTimer)
- Java JVM总结
- PATB 1019. 数字黑洞 (20)
- activex 控件 过期_ie8/9下Activex控件无法加载的两种解决方法
- 如何查看AT24C02设备地址
- [2022-06-21 完美解决]MacBookPro 2020 M1 开启2k HIDPI
- 简述具有五层协议的网络体系结构各层的主要功能。
- 微信小程序之分包加载
- 老毛桃u盘装系统linux,老毛桃U盘装系统综合教程
- linux 服务器的性能考核指标QPS、TPS、RT、Load、PV、UV
- PyTorch基础-自定义数据集和数据加载器(2)
热门文章
- 围棋棋盘怎么编程python_python3 turtle 画围棋棋盘
- 那年我头脑发热,选择了自动化,后来我掉入计算机的世界无法自拔
- Windows系统键盘各键作用和快捷方式
- JeeSite新建报表
- 怀旧服最新开的服务器是哪个,魔兽世界怀旧服开服在即,给大家科普一下什么是RP服务器...
- RH358提供基于文件的网络存储--自动化调配基于文件的存储
- AKS (Azure Kubernetes Service)如何查看日志
- Unity枪击游戏之实现子弹伤害
- 小程序获取sessionkey_微信小程序登录并且获取sessionkey详解
- 不要二(欧几里得距离)