链接:https://ac.nowcoder.com/acm/contest/5803/B
来源:牛客网

题目描述
赛时提示:魔法值和财富值初始为0

帕秋莉掌握了一种金属性魔法

她决定去捡一些石头,施展点石成金魔法

帕秋莉将捡到的n块石头排成一排,并决定将一些石头点为黄金

对于第i块石头,如果将其变为黄金,会增加ai的财富,消耗bi的魔法(需要说明的是,就算魔法值不够,也可以操作,操作后魔法值归零)

否则,帕秋莉将会回复ci的魔法,但减少di的财富(财富值同理,可以无限制减少)
帕秋莉想知道,按照1-n的顺序以此操作每块石头,如何决策,可以使自己最后的收益值最大
只需要输出最大收益

收益值=财富值*魔法值

(提示:数值不会变为负数,即任何时候,如果数值小于了0,它会立即变为0)
输入描述:

第一行一个整数n
接下来n行,每行四个数,分别代表对应石头的a,b,c,d值

输出描述:

一个整数表示答案

示例1
输入
复制

2
1926 817 2003 627
1949 1001 1234 4321

输出
复制

1952898

备注:

对于20%的数据,1≤n≤2
对于100%的数据,1≤n≤15,0≤ai,bi,ci,di≤1,000,000

n个物品,两种方案

  • 方案1: 消耗魔法并获得金钱
  • 方案2: 消耗金钱并获得魔法
  • 每个物品必须执行其中一种方案

问如何执行方案可以得到最大的 ( 魔 法 ∗ 金 钱 ) (魔法*金钱) (魔法∗金钱)

n很小,可以暴搜
枚举每一种情况,用二进制位来表示选哪种方案

#ifdef debug
#include <time.h>
// #include "/home/majiao/mb.h"
#endif#include <iostream>
#include <algorithm>
#include <vector>
#include <string.h>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <math.h>#define MAXN ((int)1e5+7)
#define ll long long
#define int long long int
#define INF (0x7f7f7f7f)
#define fori(lef, rig) for(int i=lef; i<=rig; i++)
#define forj(lef, rig) for(int j=lef; j<=rig; j++)
#define fork(lef, rig) for(int k=lef; k<=rig; k++)
#define QAQ (0)using namespace std;#define show(x...) \do { \cout << "\033[31;1m " << #x << " -> "; \err(x); \} while (0)void err() { cout << "\033[39;0m" << endl; }
template<typename T, typename... A>
void err(T a, A... x) { cout << a << ' '; err(x...); }namespace FastIO{char print_f[105];void read() {}void print() { putchar('\n'); }template <typename T, typename... T2>inline void read(T &x, T2 &... oth) {x = 0;char ch = getchar();ll f = 1;while (!isdigit(ch)) {if (ch == '-') f *= -1;ch = getchar();}while (isdigit(ch)) {x = x * 10 + ch - 48;ch = getchar();}x *= f;read(oth...);}template <typename T, typename... T2>inline void print(T x, T2... oth) {ll p3=-1;if(x<0) putchar('-'), x=-x;do{print_f[++p3] = x%10 + 48;} while(x/=10);while(p3>=0) putchar(print_f[p3--]);putchar(' ');print(oth...);}
} // namespace FastIO
using FastIO::print;
using FastIO::read;int a[MAXN], b[MAXN], c[MAXN], d[MAXN];
int n, m, K;signed main() {#ifdef debugfreopen("test.txt", "r", stdin);clock_t stime = clock();
#endifread(n);for(int i=1; i<=n; i++)read(a[i], b[i], c[i], d[i]);int N = 1 << n, ans = 0;for(int i=0; i<N; i++) {/** sum获得的金钱,  mf当前魔法 */int tmp = i, k = 1/**当前物品*/, sum = 0, mf = 0;while(k <= n) { //if(tmp & 1) { //第一种方案sum += a[k];mf -= b[k];} else { //第二种方案sum -= d[k];mf += c[k];}sum = max(sum, 0ll); //题目中说负数会立马变成0mf = max(mf, 0ll);k ++;tmp >>= 1;}ans = max(ans, mf*sum);}printf("%lld\n", ans);#ifdef debugclock_t etime = clock();
//    printf("rum time: %lf 秒\n",(double) (etime-stime)/CLOCKS_PER_SEC);
#endifreturn 0;
}

牛客算法周周练8 「金」点石成金 暴力相关推荐

  1. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  2. 牛客网-小周的曲射炮

    牛客网-小周的曲射炮(公式推导) 题目描述 小周最近在玩一款二战游戏,他因而对曲射炮的轨迹产生了很大的兴趣,但是在尝试计算后,小周发现这个问题并不是那么简单,他因而来请教你这位计算机高手,请你来帮帮他 ...

  3. 牛客算法周周练11 A.切题之路 签到题

    链接:https://ac.nowcoder.com/acm/contest/6046/A 来源:牛客网 题目描述 众所周知,SD省有一个可爱的妹子,叫做rqy(rqy天下第一可爱!不接受反驳,抱走r ...

  4. 牛客算法周周练11A - 切题之路(阅读理解)

    链接:https://ac.nowcoder.com/acm/contest/6046/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  5. [牛客算法总结]:青蛙跳台阶

    标签: 递归.记忆化搜索.动态规划 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果). 数据范围:1 \leq n \l ...

  6. 牛客算法笔记 彩色宝石项链

    链接:https://www.nowcoder.com/questionTerminal/321bf2986bde4d799735dc9b493e0065 来源:牛客网有一条彩色宝石项链,是由很多种不 ...

  7. 2020年牛客算法入门课练习赛1

    第k小数 链接:https://ac.nowcoder.com/acm/contest/12144/A 来源:牛客网 题目描述 给你一个长度为n的序列,求序列中第k小数的多少. 输入描述: 多组输入, ...

  8. 【牛客OI周赛7-普及组ABCD 非官方题解】暴力,二分,KMP,尺取(STL或Hash)

    A: 链接:https://ac.nowcoder.com/acm/contest/372/A 来源:牛客网 某天,一只可爱的肥橘喵在路上走,突然遇到了一个怪人,那怪人自称PM6,"小肥喵, ...

  9. 牛客算法周周练4 题解

    比赛链接 文章目录 A [SDOI2016]齿轮 B Rinne Loves Xor C 阶乘 D 小石的签到题 E 装备合成 A [SDOI2016]齿轮 B Rinne Loves Xor C 阶 ...

最新文章

  1. 文思创新深圳招聘biztalk
  2. [转]使用CSS3 Grid布局实现内容优先
  3. vs.net 2003 错误:无法生成项目输出组“内容文件来自stuschool(活动)”
  4. Eclipse 控制console
  5. html中如何设计对话框,用纯css3和html制作泡沫对话框实现代码
  6. 阿里工程师太凶残了,竟把服务器泡在“水里”!
  7. python if elif else用法_python----if -- elif -- else 用法
  8. FullCalendar 的学习笔记(一)
  9. Microsoft Office Communications Server 2007排错日志
  10. [Objective-C]用Block实现链式编程
  11. 开发移动网页应用的一些技术指导
  12. PAYPAL使用虚拟信用卡验证的技巧
  13. 如何查询目标计算机的ip地址,基于Wireshark获取目标ip地址
  14. 帝国cms模板html文件夹,帝国cms的模板保存在哪里
  15. 面向AMD64的文件xxx与项目的目标平台x86不兼容
  16. ffmpeg 分辨率 压缩_说说压制和画质的视频,以及我用的ffmpeg参数
  17. Grown Up Digital: How the Net Generation is Changing Your World
  18. 地理坐标系与投影坐标系的区别以及投影变换与定义投影的区别
  19. es集群节点加入失败join validation on cluster state with a different cluster uuid...than local cluster uuid..
  20. VRRP和DHCP的设置

热门文章

  1. 《涨知识啦3-金属半导体接触系列》---肖特基接触形成原理
  2. 软件文档写作——项目建议书
  3. JSFL制作swf素材包
  4. iOS修改系统tableViewCell右边箭头( )颜色
  5. mac安装旺旺启动台找不到_第一次用 Mac?推荐你先了解这些…
  6. 魔龙之魂服务器无响应,魔龙之魂总是显示无法连接网络
  7. NB-IoT终端下的水表远程抄表解决方案
  8. 电表远程抄表系统在PLC工业设备上的应用---原理1
  9. 酒店用品批发拓客的10个经典方法
  10. rgb,444,422,420