CF521D Shop 贪心】的更多相关文章

题意: \(n\)个数,有\(m\)个操作,形如: 1,将\(x_i\)​改成\(val_i\)​ 2,将\(x_i\)加上\(val_i\)​ 3,将\(x_i\)​乘上\(val_i\) 其中第\(i\)个操作的编号为\(i\). 现在你可以从中选择最多\(k\)个操作(不能重复选),并按一定顺序执行,使得\(\prod_{i = 1}^{n}x_i\)最大. 第一行输出选择的操作个数,第二行按执行顺序输出方案. 题解: 如果只有3号操作,那么因为最后的答案是乘起来,而不是加起来,因此每个乘…
[CF521D]Shop 题目大意: 你有一个长度为\(k(k\le10^5)\)的数列\(A_{1\sim k}\),有\(n(n\le10^5)\)种操作,操作包含以下\(3\)种: 将\(A_x\)变成\(y\): 将\(A_x\)加上\(y\): 将\(A_x\)乘以\(y\). 定义这个数列的收益为各项之积,你可以从中选\(m\)个操作(每个操作至多选\(1\)次),使得收益最大,求任一操作的方案. 思路: 贪心,对于只有操作\(3\)的情况,显然从大到小贪心更优. 而操作\(2\)可…
「CF521D」 Shop 传送门 题目说是有三种操作,首先可以知道赋值操作是可以转化为加法操作的,即 \((1,b) \rightarrow (2,b-a_i)\) 然后加法对于一个数你肯定优先选择大的加上去,这样规定了加法顺序之后加法操作也能转变为乘法操作. 然后现在只有乘法操作了,直接从大到小排一遍即可. 值得注意的是,选择了前 \(m\) 大的乘法操作之后,操作顺序需要按照 赋值->加法->乘法 的顺序进行,若顺序不对显然会使应得的答案变小. 代码: /*---Author:Henry…
F. Shovels Shop time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output There are nn shovels in the nearby shop. The ii -th shovel costs aiai bourles. Misha has to buy exactly kk shovels. Each sho…
传送门 Luogu 解题思路 当只有第三类操作时,我们显然先进行val较大的操作,这是显然的. 那么就考虑把所有的操作都转变为第三类操作. 第一类操作,显然很容易变为第二类操作:单点维护最大的最终结果,然后改为加法就好了. 问题在于第二类操作如何转换. 其实也是贪心,我们对于同一个位置的第二类操作,优先进行val值较大的,把较小的分母留给较大的分子使得答案最优. 细节注意事项 实现起来有点繁琐. 参考代码 #include <algorithm> #include <iostream&g…
Codeforces 题目传送门 & 洛谷题目传送门 一道不算太难的贪心,可惜又没自己想出来,显然省选之后我的能力呈 \(y=-1145141919810192608179998244353x+c\) 的趋势下滑,其中 \(c\) 为我省选前的能力( 首先假设我们已经选出了这 \(k\) 个操作,考虑按照怎样的顺序执行这些操作,显然我们会先执行赋值操作,再加法操作,最后乘法操作,因为赋值操作早晚都是要进行的,按照贪心的思想显然在一开始就进行赋值操作最优,而对于序列中某个元素 \(x\),我们假设…
题目:http://codeforces.com/contest/1154/problem/F 题意:给你n个商品,然后还有m个特价活动,你买满x件就把你当前的x件中最便宜的y件价格免费,问你买k件花最少的钱是多少 思路:首先这个特价活动就像点外卖一样满多少减多少,你可以分几次来使用同一个优惠或者不同的优惠,然后我们我们分析三个点 1,那个特价活动中x>k的我们肯定都不会使用,因为那个时候已经买满了k件 2,我们肯定是买最便宜的k件来使用特价活动 3,我们其实可以当成分开几组来使用优惠,就像外卖…
Shopping 题目连接: http://codeforces.com/gym/100803/attachments Description Your friend will enjoy shopping. She will walk through a mall along a straight street, where N individual shops (numbered from 1 to N) are aligned at regular intervals. Each shop…
E. Ladies' Shop time limit per test 8 seconds memory limit per test 256 megabytes input standard input output standard output A ladies' shop has recently opened in the city of Ultima Thule. To get ready for the opening, the shop bought n bags. Each b…
Buy Sticks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 868    Accepted Submission(s): 392 Problem Description Imyourgod need 3 kinds of sticks which have different sizes: 20cm, 28cm and 32cm…