文章目录

  • 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
否则

  1. 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个
  2. 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)相关推荐

  1. 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的数量相同,每次操作只能 ...

  2. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...

  3. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...

  4. Educational Codeforces Round 37 (Rated for Div. 2) 1

    Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...

  5. 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这个时候两 ...

  6. 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, ...

  7. Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs

    传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici​个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...

  8. Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环

    传送门 文章目录 题意: 思路: 题意: 给你一张图,你需要给这个图的边染色,保证如果有环那么这个环内边的颜色不全相同,输出染色方案和用的颜色个数. n,m≤5e3n,m\le5e3n,m≤5e3 思 ...

  9. 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& ...

最新文章

  1. AIX系统日志学习笔记之一
  2. mysql查询表的列名主键_SQl查询数据库表名、表的列名、数据类型、主键
  3. Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!
  4. Nginx 作为web server 的优化要点
  5. Django几种缓存机制的配置和应用
  6. 使用shell脚本实现自动SSH互信功能
  7. Android复习13【广播:思维导图、音乐播放器】
  8. 麒麟810处理器_华为nova5跑分公布,麒麟810到底是什么水平?
  9. 自学Java和Java培训班的学习效果
  10. IOS学习笔记之十七 (NSDate、NSDateFormatter、NSCalendar、NSDateComponents、NSTimer)
  11. Java JVM总结
  12. PATB 1019. 数字黑洞 (20)
  13. activex 控件 过期_ie8/9下Activex控件无法加载的两种解决方法
  14. 如何查看AT24C02设备地址
  15. [2022-06-21 完美解决]MacBookPro 2020 M1 开启2k HIDPI
  16. 简述具有五层协议的网络体系结构各层的主要功能。
  17. 微信小程序之分包加载
  18. 老毛桃u盘装系统linux,老毛桃U盘装系统综合教程
  19. linux 服务器的性能考核指标QPS、TPS、RT、Load、PV、UV
  20. PyTorch基础-自定义数据集和数据加载器(2)

热门文章

  1. 围棋棋盘怎么编程python_python3 turtle 画围棋棋盘
  2. 那年我头脑发热,选择了自动化,后来我掉入计算机的世界无法自拔
  3. Windows系统键盘各键作用和快捷方式
  4. JeeSite新建报表
  5. 怀旧服最新开的服务器是哪个,魔兽世界怀旧服开服在即,给大家科普一下什么是RP服务器...
  6. RH358提供基于文件的网络存储--自动化调配基于文件的存储
  7. AKS (Azure Kubernetes Service)如何查看日志
  8. Unity枪击游戏之实现子弹伤害
  9. 小程序获取sessionkey_微信小程序登录并且获取sessionkey详解
  10. 不要二(欧几里得距离)