首页 > 其他分享 >P9228 原神 题解

P9228 原神 题解

时间:2023-04-23 20:24:16浏览次数:44  
标签:原神 P9228 题解 ll 元素 附着 伤害 怪物 ri

题目传送门

题目大意

有一个魔法师,她可以用火元素攻击魔法把对附着冰元素的怪物的伤害 \(\times 2\),用冰元素攻击魔法把对附着火元素的怪物的伤害 \(+5\)。

每个怪物初始时没有附着任何元素,给出冰、火元素对每个怪物的初始伤害,魔法师可以任意安排攻击顺序,求最大总伤害。

解题思路

要求最大总伤害,所以可以把 \(a\) 和 \(b\) 数组从大到小排序,优先用前面的。

因为每个怪物初始时没有附着任何元素,所以要先给每个怪物附着元素,也就是说,每个怪物消耗两个不同的元素,所以最多元素攻击 \(\min(n,m)\) 次。

因为 \(a,b\) 数组已经排好了序,所以可以直接枚举,每次可以在当前的基础上选择 \(+a_i\) 或 \(+k\),所以可以直接选择 \(\max(a_i,k)\)。即:

\[\sum\limits_{i=1}^{\min(n,m)}\max(a_i,k) \]

最后不要忘记要把初始伤害加上。

代码

AC 记录

#include<bits/stdc++.h>
#define ri register int
#define ll long long
using namespace std;
ll n,m,k,ans=0;
ll a[1000005],b[1000005];
bool cmp(ll x,ll y){
	return x>y;
}
int main() {
	cin>>n>>m>>k;
	for(ri i=1;i<=n;i++)cin>>a[i];
	for(ri i=1;i<=m;i++)cin>>b[i];
	sort(a+1,a+n+1,cmp);
	sort(b+1,b+m+1,cmp);
	int sum=min(n,m);
	for(ri i=1;i<=sum;i++)
		ans+=max(a[i],k);
	for(ri i=1;i<=n;i++)ans+=a[i];
	for(ri i=1;i<=m;i++)ans+=b[i];
	cout<<ans;
	return 0;
}

标签:原神,P9228,题解,ll,元素,附着,伤害,怪物,ri
From: https://www.cnblogs.com/zzyblog0619/p/17347615.html

相关文章

  • CF题解
    E.RearrangeBrackets2100括号树gq!https://codeforces.com/contest/1821/problem/E题解:若我们把序列看作是一个由匹配括号组成的森林,外层括号是内层括号的父亲,则整个正则括号序列的cost可以看作是森林中所有点的深度之和,根节点深度为0,故每次操作可以看作是将某棵树的父节点......
  • 跨域问题解决、其他权限校验方法
    跨域问题解决浏览器出于安全的考虑,使用XMLHttpRequest对象发起HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。前后端分离项目前端项目和后端项目一般都不是同源的,所以肯定会存在......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写**更好的阅读体验:2023年团体程序设计天梯赛题解**L1-1最好的文档有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出......
  • Leetcode 88. 合并两个有序数组 Python题解
    来源:力扣(LeetCode)链接:https://leetcode.cn/problems/merge-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1.暴力法解题思路:由于题目要求原地合并,直接返回nums1数组。因此一个可行的方案是合并两个列表,然后对合并后的列表进行排序。用......
  • 2023年团体程序设计天梯赛 题解
    仅更新L1,L2随后写L1-1最好的文档点击查看本题有一位软件工程师说过一句很有道理的话:“Goodcodeisitsownbestdocumentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。输入格式:本题没有输入。输出格式:在一行中输出Goodcodeisitsownbest......
  • Leetcode 53. 最大子数组和 Python题解
    来源:力扣(LeetCode)链接:https://leetcode.cn/problems/maximum-subarray著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1.动态规划解题思路:对于当前元素nums[i]来说,最大的连续子数组可以为:nums[0:i]中的最大连续子数组加上nums[i]nums[i],此时nums[......
  • Leetcode 1.两数之和 Python题解
    来源:力扣(LeetCode)链接:https://leetcode.cn/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。1.暴力遍历法解题思路:遍历数组,对于当前的元素nums[i],如果result=taget-nums[i]在数组中,则返回这nums[i]和result的下标。如果已经查......
  • 第14届蓝桥杯C++B组省赛题解(更新中)
    目录A.日期统计题目内容思路代码答案B.01串的熵题目内容思路代码答案C.冶炼金属题目内容输入格式输出格式输入样例输出样例思路代码A.日期统计题目内容小蓝现在有一个长度为100的数组,数组中的每个元素的值都在0到9的范围之内。数组中的元素从左至右如下所示:5686......
  • 关于 HBuilderX 中内置终端无法输入的问题解决
    01.先安装内置终端插件;02.打开内置终端配置文件: D:\HBuilderX\plugins\builtincef3terminal\script\main.js03.将原来的Shell.exe改成cmd.exe,重启IDE即可; ......