首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
AcWing 4798. 打怪兽题解
】的更多相关文章
腾讯机试题 AcWing 603 打怪兽
题目链接:https://www.acwing.com/problem/content/605/ 题目大意: 略 分析: 用dp[i][j]表示用j元钱能在前i只怪兽上所能贿赂到的最大武力值. 有一种情况就是打到第i只怪兽所需的最低花费大于j,那么令dp[i][j] = -1. 那么dp[i + 1][j],也就是同样用j元钱能在前i + 1只怪兽上所能贿赂到的最大武力值是多少呢?有3种情况: 1:dp[i][j] = -1,显然dp[i + 1][j] = -1. 2:dp[i][j] < d…
[51nod1670] 打怪兽
lyk在玩一个叫做“打怪兽”的游戏.游戏的规则是这样的.lyk一开始会有一个初始的能量值.每次遇到一个怪兽,若lyk的能量值>=怪兽的能量值,那么怪兽将会被打败,lyk的能量值增加1,否则lyk死亡,游戏结束.若怪兽全部打完,游戏也将会结束.共有n个怪兽,由于lyk比较弱,它一开始只有0点能量值.n个怪兽排列随机,也就是说共有n!种可能,lyk想知道结束时它能量值的期望.由于小数点比较麻烦,所以你只需要输出期望*n!关于1000000007取模后的值就可以了! 例如有两个怪兽,能量值分别为{…
「题解」小 R 打怪兽 monster
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目描述 小 R 最近在玩一款游戏.在游戏中,小 R 要依次打 \(n\) 个怪兽,他需要打败至少 \(k\) 个怪兽才能通关.小 R 有两个属性值,分别是攻击力 \(A\) 和耐力 \(R\),每个怪兽也有两个属性值,分别是防御力 \(D\) 和生命值 \(H\)(不同的怪兽属性值可能不同).小 R 每攻击一次怪兽,可以让怪兽的生命值减少 \(\max(A-D,1)\)点,同时小 R 的耐力会减少 \(1\).怪兽不会攻击.若…
Acwing P288 休息时间 题解
Analysis 首先假设一天的第N小时与后一天的第一个小时不相连, 这种情况下DP转移比较好想 dp[i][j][0/1]dp[i][j][0/1]表示 考虑一天的前i个小时,已经休息了j小时,且第i个小时是否在休息 那么有状态转移方程: dp[i][j][0]=max(dp[i-1][j][0],dp[i-1][j][1]); dp[i][j][1]=max(dp[i-1][j-1][0],dp[i-1][j-1][1]+a[i]); 初始化为dp[1][0][0]=dp[1][1][1]=…
Acwing P274 移动服务 题解
每日一题 day21 打卡 Analysis DP的状态为已经完成的请求数量,通过指派一位服务员可以把”完成i - 1个请求的状态”转移到”完成i个请求的状态”那么我们可以知道转移从dp[i - 1] -> dp[i]dp[i][x][y][z] 代表为第i次选择的情况下,对应的1,2,3号服务员所对应的位置那么可以得知dp[i][arr[i]][y][z] = min(dp[i][arr[i]][y][z], dp[i - 1][x][y][z] + cost[x][arr[i]])dp[i]…
AcWing P173 矩阵距离 题解
Analysis 就是一个裸的广搜,每次从是1的点开始找就好啦~~~ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #define maxn 1010 using namespace std; inline int read() { ; ; char c=getchar(); ; )+(x<<)+c-'…
AcWing P165 小猫爬山 题解
Analysis 这道题是搜索,类似于小木棍,加一些剪枝. 第一个剪枝是如果当前的答案已经大于了我们已知的最小答案,不用说直接return返回即可. 第二个剪枝是我们可以将小猫的体重从大到小排序,这样我们的搜索树就会缩短许多. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 18+10 using namespace std; typ…
AcWing P164 可达性统计 题解
Analysis 这道题我一开始想到的是传递闭包,但是时间复杂度是n³,也开不下30000*30000的数组,所以我想到了拓扑+状态压缩(bitset),从后往前找,把能到达的点能到哪里用位运算赋到上一个中,最后调用.count()输出就好了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<…
AcWing P378 骑士放置 题解
Analysis 这道题跟前几道题差不多,依旧是匈牙利算法求二分图匹配,在连边的时候,要连两个矛盾的位置(即一个骑士和其控制的位置).然后就跑一遍匈牙利算法就好了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 110 using namespace std; inline int read() { ; ; char c=getch…
ACWing P372 棋盘覆盖 题解
Analysis 这是一个经典的二分图问题,我们将图进行奇偶染色,注意边界条件的判断.再跑一遍匈牙利算法就行了,跟上一题很像. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 110 using namespace std; inline int read() { ; ; char c=getchar(); ; )+(x<<…