链接: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 模拟赛(四)的更多相关文章

  1. EZ 2018 03 30 NOIP2018 模拟赛(六)

    链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...

  2. EZ 2018 03 23 NOIP2018 模拟赛(五)

    链接:http://211.140.156.254:2333/contest/65 这次Rating重回Rank18,我是20的守门员(滑稽) 这次题目和数据普遍偏水,我T2打错了一个变量名竟然过了所 ...

  3. EZ 2018 03 09 NOIP2018 模拟赛(三)

    最近挺久没写比赛类的blog了 链接:http://211.140.156.254:2333/contest/59 这次的题目主要考验的是爆搜+打表的能力 其实如果你上来就把所有题目都看过一次就可以知 ...

  4. EZ 2018 06 17 NOIP2018 模拟赛(十九)

    这次的题目难得的水,但是由于许多哲学的原因,第二题题意表述很迷. 然后是真的猜题意了搞了. 不过这样都可以涨Rating我也是服了. Upt:链接莫名又消失了 A. 「NOIP2017模拟赛11.03 ...

  5. EZ 2018 06 10 NOIP2018 模拟赛(十八)

    好久没写blog&&比赛题解了,最近补一下 这次还是很狗的,T3想了很久最后竟然连并查集都忘写了,然后T2map莫名爆炸. Rating爆减......链接不解释 好了我们开始看题. ...

  6. EZ 2018 06 02 NOIP2018 模拟赛(十七)

    这次的比赛是真心比较狗,我TM的写了30min的树剖ZZ地直接memset超时了 话说我既然想到差分就应该去写差分的啊! 好了不过这次Rank还挺高的,终于要打进前10了当然是假的了. 好了下面开始讲 ...

  7. EZ 2018 05 20 NOIP2018 模拟赛(十五)

    这次的比赛充满着玄学的气息,玄学链接 首先讲一下为什么没有第十四场 其实今天早上9点时看到题目就叫了:原题! 没错,整套试卷都做过,我还写了题解 然后老叶就说换一套,但如果仅仅是这样就没什么 但等13 ...

  8. EZ 2018 04 06 NOIP2018 模拟赛(七)

    我是链接 这次是真的惨,码了将近2hours的可持久化线段树炸掉了! 而且本地拍了一万年也没发现哪里炸了. T1 压位的入门题,话说这道题能拿个99分就可以了(100分要FFT) 对于暴力,就是暴力找 ...

  9. EZ 2018 06 24 NOIP2018 模拟赛(二十)

    很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...

随机推荐

  1. window.event.returnvalue=false;不起作用

    遇到了这个问题,这儿也有人问了, http://bbs.csdn.net/topics/390691844,按着这边的说法,把它换成return false ,试了下果然有效.初学DOM,这两者的区别 ...

  2. Android--自定义半圆环型进度(带动画)

    package com.newair.ondrawtext; import android.animation.ValueAnimator; import android.annotation.Tar ...

  3. MySQL主从复制——主库已有数据的解决方案

    在上篇文章中我们介绍了基于Docker的Mysql主从搭建,一主多从的搭建过程就是重复了一主一从的从库配置过程,需要注意的是,要保证主从库my.cnf中server-id的唯一性.搭建完成后,可以在主 ...

  4. javascript获取网页各种高宽及位置总结

    screen对象 获取屏幕的高宽(分辨率) screen.width //屏幕的宽 screen.height //屏幕的高 screen.availWidth //屏幕可用宽度 屏幕的像素高度减去系 ...

  5. go语言练习:类型转换

    package main import "fmt" func main() { var a int var b uint var c float32 var d float64 a ...

  6. LeetCode题解之Contains Duplicate II

    1.题目描述 2.题目分析 使用哈希表 和分情况讨论的方法 3.代码 bool containsNearbyDuplicate(vector<int>& nums, int k) ...

  7. 在 Azure 中创建通用 VM 的托管映像

    可以从在存储帐户中存储为托管磁盘或非托管磁盘的通用 VM 中创建托管映像资源. 然后可以使用该映像创建多个 VM. 使用 Sysprep 通用化 Windows VM Sysprep 将删除所有个人帐 ...

  8. TCP的socket资源被耗尽的问题

    一. 故障现象 部分机顶盒用户出现大面积登录APP时,界面停留在登陆页面,无反应. 二. 现象初步分析 本次问题出现时,所有AAA出现了异常流量波动,在AAA异常流量段期间接到用户故障报障.此时主要表 ...

  9. Node.js环境搭建和学习(windwos环境)

    Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...

  10. C语言short int

    因为C语言中short int占2个字节,有16个二进制位,共可表示2^16种状态.因为它用来表示有符号数,而0也要占用一个状态.所以,16位的原码可以表示的数是-32767~+32767,它的0可以 ...