首页 > 其他分享 >SP9685 ZTC - Zombie’s Treasure Chest 题解

SP9685 ZTC - Zombie’s Treasure Chest 题解

时间:2024-10-21 11:23:07浏览次数:1  
标签:ch Treasure 题解 s1 SP9685 long times s2 define

洛谷题目传送门

双倍经验

简单题。

对于空间大小为 \(s1 \times s2\) 时,显然最多可得到的价值为 \(\max(s2 \times v1,s1 \times v2)\),剩下小于 \(s1 \times s2\) 的部分选一个占用空间大的枚举就好。

时间复杂度:\(O(T \lfloor \frac{m}{\max(s1,s2)} \rfloor)\),其中 \(m = n \bmod (s1 \times s2)\)。

数据范围较大,建议开 long long

Talk is cheap,show me you code.

#include<bits/stdc++.h>
#define il inline
#define swap(a,b) (a^=b^=a^=b)
#define max(a,b) (a>b?a:b)
#define int long long
using namespace std;
il int read()
{
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+(ch^48),ch=getchar();}
	return x*f;
}
void solve(int idx)
{
	int n=read(),s1=read(),v1=read(),s2=read(),v2=read();
	int res=n/(s1*s2)*max(s2*v1,s1*v2),ans=0;
	n%=s1*s2;
	if(s1<s2) swap(s1,s2),swap(v1,v2);
	for(int i=0;i*s1<=n;i++) ans=max(ans,i*v1+(n-i*s1)/s2*v2);
	printf("Case #%lld: %lld\n",idx,res+ans);
}
signed main()
{
	int T=read();
	for(int i=1;i<=T;i++) solve(i);
	return 0;
}

标签:ch,Treasure,题解,s1,SP9685,long,times,s2,define
From: https://www.cnblogs.com/lunjiahao/p/18489092

相关文章

  • 【题解】Solution Set - NOIP2024集训Day57 字符串
    【题解】SolutionSet-NOIP2024集训Day57字符串https://www.becoder.com.cn/contest/5653「CF213E」TwoPermutations「CF961F」k-substrings「CF580E」KefaandWatch「CF504E」MishaandLCPonTree......
  • Codeforces Round 979 div2 个人题解(A~E)
    CodeforcesRound979div2个人题解(A~E)Dashboard-CodeforcesRound979(Div.2)-Codeforces火车头#define_CRT_SECURE_NO_WARNINGS1#include<algorithm>#include<array>#include<bitset>#include<cmath>#include<cstdio>#inc......
  • P11211 随机数生成器 题解
    前置知识:原根,exCRT。首先\(t=1\)是容易的,直接相邻的除一下即可。否则考虑询问除连续的\(5\)个数,分别为\(a_0,a_1,\cdots,a_4\)。首先特判掉存在\(a_i=0\)的情况,此时直接枚举\(s\)即可。我们先求出\(p\)的一个原根\(g\),设离散对数\(\log(x)=y\)表示\(g^y\equiv......
  • 牛客周赛Round64-B题题解
    牛客周赛Round64-B题题解题目描述:小红拿到了一个正整数,请你帮小红将其表示为幂(a^b)的形式。输入描述:一个正整数2<=x<=10^5输出描述:`第一行输出x。接下来每一行输出一个幂的表达式。请按指数从小到大的顺序输出。示例1输入16输出16=16^1=4^2=2^4解题思路:......
  • 【秋招笔试-支持在线评测】10.19京东秋招(已改编)-三语言题解
    ......
  • 【秋招笔试-支持在线评测】10.19小米秋招(已改编)-研发岗题解
    ......
  • [20241024] T3 题解
    细节挺多的。题意有一个长度为\(n\)的数组\(a\)和一个长度为\(m\)的队列\(q\),初始时\(q\)中的元素和为\(0\)。对\(x=1,2,\cdots,n\)进行如下操作:如果队首元素\(q_1<a_x\),则\(q\)弹出队首,将\(a_x\)插入队尾。在操作结束后,定义数组\(a\)的权值为\(q\)......
  • 2024 ICPC Asia Taiwan Online Programming Contest题解记录
    比赛链接:https://codeforces.com/gym/105383/problemA.AnimalFarm找个最大pig,然后所有比他小的其他种类生物一直加就好了#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constllmod=1e9+7;llksm(llx,lly){ llans=1; while(y) { if(y&1)......
  • P10233 [yLCPC2024] A. dx 分计算 题解
    题目大意:题目传送门共\(T\)组测试数据,每组数据给定一个字符串\(s\)和\(Q\)次询问,按照特定的赋值方式,每次询问\(l\)到\(r\)间按这样的赋值方式的总和是多少。赋值方式如下:P可得3分p可得2分G可得1分其余字符不得分题目分析:前置知识:前缀和。(没有学过的可以先......
  • 题解:AT_abc376_c [ABC376C] Prepare Another Box
    很好的一道二分答案题。听说CSP考前写tj可以让rp+=inf?注:下文中\(w\)指物品重量序列,\(x\)指箱子容量序列。先问个问题:为什么我上来就敢肯定这是个二分答案题?或者说,单调性在哪儿?非常简单:如果一个盒子的容量越大,能装下的东西就更多(废话)。那么如果\(v\)不够用,可以扩......