因为睡过了只好vp。

  A:阅读理解。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N
int x,y,z,t1,t2,t3;
int main()
{
cin>>x>>y>>z>>t1>>t2>>t3;
if (abs(y-x)*t1>=t3*+t2*(abs(x-z)+abs(y-x))) cout<<"YES";
else cout<<"NO";
return ;
}

  B:一个数可以作为mex当且仅当所有比它小的自然数都已出现。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
int n,a[N],mx;
int main()
{
n=read();
for (int i=;i<=n;i++) a[i]=read();
mx=-;
for (int i=;i<=n;i++)
{
if (a[i]>mx+) {cout<<i;return ;}
mx=max(mx,a[i]);
}
cout<<-;
return ;
}

  C:li=ri=0的人一定是最大值,给他们记录答案后将其去掉并更新其他人的li和ri即可。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1010
int n,a[N],b[N],ans[N],cnt=;
int main()
{
n=read();
for (int i=;i<=n;i++) a[i]=read();
for (int i=;i<=n;i++) b[i]=read();
for (int i=;i<=n;i++)
{
bool flag=;
for (int j=;j<=n;j++)
if (a[j]==&&b[j]==) flag=,cnt++,ans[j]=n-i+,a[j]=b[j]=n+;
if (!flag) {cout<<"NO";return ;}
if (cnt==n) break;
int tot=;
for (int j=;j<=n;j++)
if (a[j]==n+&&b[j]==n+) tot++;
else if (a[j]<tot) {cout<<"NO";return ;}
else a[j]-=tot;
tot=;
for (int j=n;j>=;j--)
if (a[j]==n+&&b[j]==n+) tot++;
else if (b[j]<tot) {cout<<"NO";return ;}
else b[j]-=tot;
for (int j=;j<=n;j++)
if (a[j]==n+&&b[j]==n+) a[j]=b[j]=n+;
}
cout<<"YES\n";
for (int i=;i<=n;i++) cout<<ans[i]<<' ';
return ;
}

  D:注意到对某个位置的数取反会使所有包含他的区间的异或和取反。区间异或和显然可以转化为两个前缀的异或和。这样就可以发现我们对于每一个前缀和都可以任意决定是否取反了。花了1h没救了。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 200010
int n,m,a[N];
map<int,int> f;
long long ans;
int main()
{
n=read(),m=read();f[]++;
for (int i=;i<=n;i++)
{
a[i]=a[i-]^read();
if (a[i]<(<<m-)) f[a[i]]++;
else f[((<<m)-)^a[i]]++;
}
for (int i=;i<=n;i++) if (a[i]>=(<<m-)) a[i]^=((<<m)-);
ans=1ll*n*(n+)>>;
sort(a,a+n+);int t=unique(a,a+n+)-a-;
for (int i=;i<=t;i++)
{
int x=f[a[i]],p=x/,q=(x+)/;
ans-=1ll*p*(p-)/,ans-=1ll*q*(q-)/;
}
cout<<ans;
return ;
}

  result:rank 426

Mail.Ru Cup 2018 Round 1 virtual participate记的更多相关文章

  1. Mail.Ru Cup 2018 Round 3 B. Divide Candies

    题目链接 分析一下题意可以得到题目要求的是满足下面这个 公式的不同的i,ji,ji,j的方案数; 即(i2+j2)mod&ThinSpace;&ThinSpace; m=0 (n ≤  ...

  2. Mail.Ru Cup 2018 Round 3

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

  3. Mail.Ru Cup 2018 Round 2

    A:阅读理解. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...

  4. [codeforces Mail.Ru Cup 2018 Round 3][B Divide Candies ][思维+数学]

    https://codeforces.com/contest/1056/problem/B 题意:输入n,m    求((a*a)+(b*b))%m==0的(a,b)种数(1<=a,b<= ...

  5. [codeforces Mail.Ru Cup 2018 Round 1 D][ xor 操作]

    http://codeforces.com/contest/1054/problem/D 题目大意:一个序列a1 a2...an,可以对若干个元素进行取反,使所得的新序列异或和为0的区间个数最多. 题 ...

  6. Mail.Ru Cup 2018 Round 2 Solution

    A. Metro Solved. 题意: 有两条铁轨,都是单向的,一条是从左往右,一条是从右往左,Bob要从第一条轨道的第一个位置出发,Alice的位置处于第s个位置,有火车会行驶在铁轨上,一共有n个 ...

  7. Mail.Ru Cup 2018 Round 3 Solution

    A. Determine Line Water. #include <bits/stdc++.h> using namespace std; ]; int main() { while ( ...

  8. Mail.Ru Cup 2018 Round 1

    A. Elevator or Stairs? 签. #include <bits/stdc++.h> using namespace std; ]; int main() { while ...

  9. Mail.Ru Cup 2018 Round 2C(__gcd)

    #include<bits/stdc++.h>using namespace std;long long mx(long long l1,long long r1,long long l2 ...

随机推荐

  1. Xuan.UWP.Framework(2)

    上一章主要介绍了Xuan.UWP.Framework.ImageLib的基本用法,这一章具体来看些Xuan.UWP.Framework.ImageLib的使用. 一.首先看下Xuan.UWP.Fram ...

  2. Qt-Qml-隐藏标题栏-程序依附任务栏

    最近换工作,直接欢动qml这边来了,以后可能会有更多关于qml的文章 今天第一个,qml下面怎么隐藏标题栏 第一种方法是在使用QQuickView加载qml文件的话,这里就可以使用QQuickView ...

  3. Windows10系统,安装appium之坑

    本文主要讲述如何在 Windows10 系统上通过 npm 命令行安装 appium 应该有很多小伙伴在使用cnpm安装appium时遇到过各种报错,比如这样: 相信很多的小伙伴都会遇到这样的报错,导 ...

  4. 【SpringCloud】 第十篇: 高可用的服务注册中心

    前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...

  5. TensorFlow入门之MNIST最佳实践-深度学习

    在上一篇<TensorFlow入门之MNIST样例代码分析>中,我们讲解了如果来用一个三层全连接网络实现手写数字识别.但是在实际运用中我们需要更有效率,更加灵活的代码.在TensorFlo ...

  6. [转载]Tensorflow中reduction_indices 的用法

    Tensorflow中reduction_indices 的用法 默认时None 压缩成一维

  7. 【转载】图解Java常用数据结构(一)

    图解Java常用数据结构(一)  作者:大道方圆 原文:https://www.cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, 系统化看了下Jav ...

  8. Too many open files错误与解决方法

    致前辈:该问题的解决思路给了我很大的启发,文章作者Lis, Linux资深技术专家. 问题现象:这是一个基于Java的web应用系统,在后台添加数据时提示无法添加,于是登陆服务器查看Tomcat 日志 ...

  9. POJ 3084 Panic Room(最大流最小割)

    Description You are the lead programmer for the Securitron 9042, the latest and greatest in home sec ...

  10. Notes of the scrum meeting before publishing(12.17)

    meeting time:18:30~20:30p.m.,December 17th,2013 meeting place:3号公寓一层 attendees: 顾育豪                  ...