EZ 2018 03 16 NOIP2018 模拟赛(四)
链接:http://211.140.156.254:2333/contest/64
我去掉了一百多分!
这次的题目怎么说呢,特别水,但是就是出现了一些很逗的错误导致炸裂。
最好笑的是SB的不只我一个:
hl666:T1没写负数读优,100炸成40
yu‘ao:T1写了判负数的但最后忘记乘上去了,100炸35
cjj:T2输出没写lld写d爆0了
zi’tai:作死写了clock导致爆0
ye‘ke’he:把T2的CODE交到T1去了,真的逗比,T1爆0
然后全部掉了一百多分
T1 水题不解释。
每次贪心让所有比他强的人互相摩擦,如果有多的挑一个比他弱的摩擦。
然后自己挑一个弱的摩擦,如果无法实现证明他GG了。
注意这里的弱指:能力值小于等于这个人(随机=获胜)
吐槽一下所有样例不开负数读优都能过(还是自己菜)
CODE
#include<cstdio>
using namespace std;
int n,t,x,h,l,i;
inline void read(int &x)
{
x=; char ch=getchar(); int flag=;
while (ch<''||ch>'') { if (ch=='-') flag=-; ch=getchar(); }
while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
x*=flag;
}
int main()
{
//freopen("A.in","r",stdin); freopen("A.out","w",stdout);
read(n); read(t);
for (i=;i<n;++i)
{
read(x);
if (x<=t) ++l; else ++h;
}
for (i=;(<<i)<=n;++i)
{
if (l==){ printf("%d",i); return ; }
h/=; l=(l-)/;
}
return ;
}
T2 一道贪心+DP的好题。
乍一看是个背包,由于数据很大不可能直接上模板,但有一个性质:体积只有1,2,3,而且当体积相同时取价值最大的一定更优
因此,考虑85分的暴力:预处理出所有的费用的前缀和。再枚举体积为3,为2的物品。大致是O(n^2)的。
所以这里可以用三分优化(不是二分,因为这是个单峰函数,并没有单调性)来选体积为2的物品,就可以A了
但这里还有另外一种做法,令f[i]表示当体积为i时,选择了多少体积为1的和体积为2的。
转移就很简单了(具体看代码)
然后我们再枚举3的个数,照样用前缀和即可,复杂度为O(m),其实是更优异的一种算法
CODE
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N=,M=;
struct dp
{
LL v;
int s1,s2;
}f[M];
int a[][N],num[],n,m,opt,x;
LL sum[N];
inline char tc()
{
static char fl[],*A=fl,*B=fl;
return A==B&&(B=(A=fl)+fread(fl,,,stdin),A==B)?EOF:*A++;
}
inline void read(int &x)
{
x=; char ch=tc();
while (ch<''||ch>'') ch=tc();
while (ch>=''&&ch<='') x=x*+ch-'',ch=tc();
}
inline bool comp(int a,int b)
{
return a>b;
}
int main()
{
//freopen("B.in","r",stdin); freopen("B.out","w",stdout);
register int i;
read(n); read(m);
for (i=;i<=n;++i)
{
read(opt); read(x);
a[opt][++num[opt]]=x;
}
for (i=;i<=;++i)
sort(a[i]+,a[i]+num[i]+,comp);
for (i=;i<=num[];++i)
sum[i]=sum[i-]+a[][i];
for (i=;i<=m;++i)
{
f[i]=f[i-];
if (f[i].v<f[i-].v+a[][f[i-].s1+])
{
f[i].v=f[i-].v+a[][f[i-].s1+];
f[i].s1=f[i-].s1+;
f[i].s2=f[i-].s2;
}
if (i>=&&f[i].v<f[i-].v+a[][f[i-].s2+])
{
f[i].v=f[i-].v+a[][f[i-].s2+];
f[i].s1=f[i-].s1;
f[i].s2=f[i-].s2+;
}
}
LL ans=;
for (i=;i<=num[];++i)
{
if (i*>m) break;
ans=sum[i]+f[m-i*].v>ans?sum[i]+f[m-i*].v:ans;
}
printf("%lld",ans);
return ;
}
T3 难度很高,还是第一次打提交答案题。一道THUWC 2017的题目
你肯定是在逗我吧!(水王属性附体)
然后第一个点爆搜,其他全部乱写(至少每个点至少都有一到两分),最终水了27分。
接下来又到了看Solution的时间
似乎NPC啊 那就只能对着一个一个点看咯
case1 暴搜吧 case2 剪剪枝也就过去了
case3 只有一个背包 那就直接跑dp
case4 case5 所有物品体积一样 那就跑费用流
case6 体积基本一样 有一个小的扰动值 大胆猜测不会对答案有影响 还是跑费用流
case7 只有一个物品体积不一样 枚举然后费用流
case 8 9 10 有点看不懂啊 直接random_shuffle然后跑贪心吧
好了,主要还是T1炸了,不然水个前5没什么问题
EZ 2018 03 16 NOIP2018 模拟赛(四)的更多相关文章
- EZ 2018 03 30 NOIP2018 模拟赛(六)
链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...
- EZ 2018 03 23 NOIP2018 模拟赛(五)
链接:http://211.140.156.254:2333/contest/65 这次Rating重回Rank18,我是20的守门员(滑稽) 这次题目和数据普遍偏水,我T2打错了一个变量名竟然过了所 ...
- EZ 2018 03 09 NOIP2018 模拟赛(三)
最近挺久没写比赛类的blog了 链接:http://211.140.156.254:2333/contest/59 这次的题目主要考验的是爆搜+打表的能力 其实如果你上来就把所有题目都看过一次就可以知 ...
- EZ 2018 06 17 NOIP2018 模拟赛(十九)
这次的题目难得的水,但是由于许多哲学的原因,第二题题意表述很迷. 然后是真的猜题意了搞了. 不过这样都可以涨Rating我也是服了. Upt:链接莫名又消失了 A. 「NOIP2017模拟赛11.03 ...
- EZ 2018 06 10 NOIP2018 模拟赛(十八)
好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...
- EZ 2018 06 02 NOIP2018 模拟赛(十七)
这次的比赛是真心比较狗,我TM的写了30min的树剖ZZ地直接memset超时了 话说我既然想到差分就应该去写差分的啊! 好了不过这次Rank还挺高的,终于要打进前10了当然是假的了. 好了下面开始讲 ...
- EZ 2018 05 20 NOIP2018 模拟赛(十五)
这次的比赛充满着玄学的气息,玄学链接 首先讲一下为什么没有第十四场 其实今天早上9点时看到题目就叫了:原题! 没错,整套试卷都做过,我还写了题解 然后老叶就说换一套,但如果仅仅是这样就没什么 但等13 ...
- EZ 2018 04 06 NOIP2018 模拟赛(七)
我是链接 这次是真的惨,码了将近2hours的可持久化线段树炸掉了! 而且本地拍了一万年也没发现哪里炸了. T1 压位的入门题,话说这道题能拿个99分就可以了(100分要FFT) 对于暴力,就是暴力找 ...
- EZ 2018 06 24 NOIP2018 模拟赛(二十)
很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...
随机推荐
- Android--自定义半圆环型进度(带动画)
package com.newair.ondrawtext; import android.animation.ValueAnimator; import android.annotation.Tar ...
- DOS中的ECHO命令详解
1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”. 2. 显示当前ECHO ...
- nginx 配置 非80 的其他 端口
如果nginx的监听端口不是默认的80端口,改为其他非80端口后,后端服务tomcat中的request.getServerPort()方法无法获得正确的端口号,仍然返回到80端口.在response ...
- mysql中InnoDB表为什么要建议用自增列做主键
InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关 ...
- django -- Celery实现异步任务
1. 环境 python==2.7 djang==1.11.2 # 1.8, 1.9, 1.10应该都没问题 celery-with-redis==3.0 # 需要用到redis作为中间人服务(Bro ...
- mysql数据库中导入txt文本数据的方法
安装好MySQL和Navicat 8 for MySQL 通过Navicat 8 for MySQL创建数据库test. 2 在数据库test上创建测试数据表student(主键ID,姓名,年龄,学 ...
- Google常用脚本
1.Tampermonkey 可下载常用脚本:https://greasyfork.org/zh-CN 2.常用FQSetupVPN 3.百度药丸屏蔽广告 4.百度文档可粘贴,下载 5.VIP视频可看
- 【PyCharm疑问】在pycharm中带有中文时,有时会导致程序判断错误,是何原因?
1.会导致程序打印false错误的代码如下: # -*- coding:utf-8 -*- import os import sys from uiautomator import device as ...
- Python代码小片段
1.前面变量值的改变不影响后面变量的调用 index=1 index,a=2,index+1 print(a,index) #2 2 2.类的继承(子类实例如何调用父类同名方法) class a: d ...
- 【转】PHP----JS相互调用
JS调用PHP 1.取值: 执行html,得到一个弹窗,提示:I from PHP <script type="text/javascript" src="http ...