题目描述

退役之后,$liu\_runda$总会想起学$OI$的时候自己怎样被郭神虐爆……
$liu\_runda$学文化课的时候想要学$OI$,学$OI$的时候想要学文化课。为了解决矛盾,他决定以周为单位安排文化课和$OI$的学习。例如:学$1$周文化课,学$1$周$OI$,学$1$周文化课,学$2$周$OI$,学$2$周文化课……
距离他退役还有$N$周。他想合理安排这$N$周的学习内容使得自己的知识水平在$N$周之后尽量高。一个人的$OI$水平$LevelOI$和文化课水平$LevelWHK$的乘积等于知识水平$LevelZS$。具体来说,$LevelOI$和$LevelWHK$都是一个整数,而$LevelZS=LevelOI\times LevelWHK$。
在这$N$周之前,$liu\_runda$太颓了,故一开始他的$OI$水平为$0$,文化课水平为$0$。在第$i$周,如果他学习文化课,他的文化课水平提高$a_i$,$OI$水平降低$b_i$;如果他学习$OI$,他的$OI$水平提高$c_i$,文化课水平降低$d_i$。$OI$水平和文化课水平的最大值没有限制,但最低不会小于$0$。即,如果$OI$水平/文化课水平不足$x$的时候减少了$x$,那么将变为$0$而不是一个负数。
$liu\_runda$现在实在是太咸鱼了,求不出他能够达到的最高知识水平,于是造了个题出到联考里,要选手求出他能够达到的最高的知识水平$LevelZS$。


输入格式

第一行一个整数$N$。
接下来$N$行每行$4$个空格隔开的整数$a_i,b_i,c_i,d_i$。


输出格式

一行一个整数表示答案。


样例

样例输入

2
666 233 666 233
666 233 666 233

样例输出

288378


数据范围与提示

前$4$个测试点满足:对于第$i$个测试点,$N=i$。
第$5$个测试点满足:所有$b_i=0$,所有$d_i=0$,所有$a_i=1$,所有$c_i=1$。
第$6$个测试点满足:所有$b_i=1$,所有$d_i=1$,所有$a_i=0$,所有$c_i=0$。
全部数据,$1\leqslant N\leqslant 15,0\leqslant a_i,b_i,c_i,d_i\leqslant 1,000,000$。


题解

本身这道题这么简单,我都不想写题解了,但是作为我$AK$的第一套题的$T1$,我还是简单说一下吧。

题很简单,爆搜没什么说的,刚学一个月都能做出来。

但是考场上$56$个人还是有$9$个人没有$A$掉,甚为可惜。

发现其中有好多人选择了状压$DP$,然后没打对,有些人看错了$a,b,c,d$的顺序,有些人没有开$long\ long$,总之无非就是两种人:

  一种是把题想复杂的,这种情况一定要避免,想当年袁神$NOIPD1T1$200多行树套树直接心态炸裂,惨痛退役,在此惊醒各位一定不要做这种人,这样是最亏的,比别人努力,但是却不如别人收获的多。

  另一种则是把这道题想的太简单,根本就不去检查,这种情况也要避免,举个最简单的例子,日军侵华就是低估了中国人民的实力,我在考场上认真读了三遍这道题,就是为了确保细节,说实话我都觉得自己有点偏向第一种人了。

话不多说了。

时间复杂度:$\Theta(2^n)$。

期望得分:$100$分。

实际得分:$100$分。


代码时刻

#include<bits/stdc++.h>
using namespace std;
int n;
long long a[20],b[20],c[20],d[20];
long long ans;
void dfs(int x,long long w,long long o)
{
if(x>n)
{
ans=max(ans,w*o);
return;
}
dfs(x+1,w+a[x],max(o-b[x],0LL));
dfs(x+1,max(w-d[x],0LL),o+c[x]);
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%lld%lld%lld%lld",&a[i],&b[i],&c[i],&d[i]);
dfs(1,0,0);
cout<<ans<<endl;
return 0;
}

rp++

[CSP-S模拟测试]:周(week)(搜索)的更多相关文章

  1. [CSP-S模拟测试]:chess(搜索+最短路)

    题目描述 $pig$在下象棋的时候特别喜欢用马,他总是计算着自己的马还需要几步才能吃掉对方的帅,以及方案数的个数,当然$pig$很笨,所以他只能求助于你.我们假设在$n\times m$的棋盘上,$p ...

  2. [CSP-S模拟测试]:联盟(搜索+树的直径)

    题目描述 $G$国周边的$n$个小国家构成一个联盟以抵御$G$国入侵,为互相支援,他们建立了$n−1$条双向通路,使得任意两个国家可以经过通路相互到达.当一个国家受到攻击时,所有其它国家都会沿着最短路 ...

  3. [CSP-S模拟测试]:beauty(搜索)

    题目描述 距离产生美.一棵包含$n$个点的树,有$2k$个不同的关键点,我们现在需要将这些点两两配对,对于一种形如:$$(u_1,v_1),(u_2,v_2),...,(u_k,v_k)$$的配对方案 ...

  4. 【阿里云产品公测】PTS压力测试WP站搜索

    [阿里云产品公测]PTS压力测试WP站搜索 作者:阿里云用户cnsjw PTS性能测试服务是一个非常非常强大的压力测试工具.可以模拟百人同时访问网站的情况,并监测ECS和RDS的各项指标,生成非常详细 ...

  5. 模拟测试—moq:简单一两句

    在Xunit的基础上,说话模拟测试. 假如我们有这样一个控制器里面有这样一个方法,如图 我们在对Bar测试得时候,如果测试未通过,错误有可能来至于Bar,也有可能错误来至于serverde Foo方法 ...

  6. [考试反思]1003csp-s模拟测试58:沉淀

    稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...

  7. csp-s模拟测试98

    csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...

  8. csp-s模拟测试95

    csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...

  9. csp-s模拟测试86

    csp-s模拟测试86 分屋前的最后一次考试,我早就放弃了自己. 02:02:46 70 02:02:57 03:16:08 100 03:16:08 $T1$忘了按位计算,达哥按位计算的$T1$当时 ...

随机推荐

  1. MVC 源码系列之控制器激活(二)之GetControllerType和GetcontrollerInstance

    GetControllerType和GetcontrollerInstance GetControllerType protected internal virtual Type GetControl ...

  2. js数组,运算符

  3. Generative Model vs Discriminative Model

    In this post, we are going to compare the two types of machine learning models-generative model and ...

  4. 工具 - MSF

    #ms17- use auxiliary/scanner/smb/smb_ms17_010 - exploit use exploit/windows/smb/ms17_010_eternalblue ...

  5. SpringBoot 参数检查 Controller中检查参数是否合法

    springboot 验证 默认使用的是hibernate validator ,不用额外增加引用包,springboot已经内置包含. 设置pom相关依赖 <?xml version=&quo ...

  6. SpringBoot(四) -- SpringBoot与Web开发

    一.发开前准备 1.创建一个SpringBoot应用,引入我们需要的模块 2.SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置,就能运行起来 3.编写业务代码 二.静态资 ...

  7. 旧接口注册LED字符驱动设备(静态映射)

    #include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...

  8. 音频视频的播放的进度调整(以.net为例)

    Background:对于音视频在线播放,一些小应用是靠nginx处理访问视频.音频文件的请求,对外应用的一般会托管至各种云上使用相关的服务.前者存在巨大的安全隐患,后者会有一定的成本.有的时候还是需 ...

  9. Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer

    原文:Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...

  10. 解决GitHub push项目——Push failed: Unable to access 'https://********.git/': Failed to connect to 127.0.0.1 port 1080: Connection refused

    解决方法: 第一步:在git中设置http代理 git config --global http.proxy 第二步:在git中取消http代理 git config --global --unset ...