[Codeforces Round #672 (Div. 2) A - C1 ]

题目链接#

A. Cubes Sorting

思路:

“ If Wheatley needs more than \(\frac{n \cdot (n-1)}{2}-1\) exchange operations, he won't do this boring work.”

例如:5,4,3,2,1

我们需要移动4+3+2+1=10次,也就是\(\frac{n \cdot (n-1)}{2}\)次,所以当整个数列是严格的单调递减的,才刚好不符合

只要枚举出一对相邻的数是\(a[i-1]<=a[i]\)就可以了

#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long ll;
const int max_n=5e4;
ll a[max_n];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll T;
cin>>T;
while(T--)
{
ll n,ans=0;
cin>>n;
for(ll i=0;i<n;i++)
{
cin>>a[i];
}
bool pd=0;
for(ll i=1;i<n;i++)
if (a[i-1]<=a[i])
{
pd=1;
break;
}
if (pd)
cout<<"YES\n";
else
cout<<"NO\n";
}
return 0;
}

B. Rock and Lever

思路:

先暴力枚举一下吧。发现4~7与8~15是不符合的

再根据位运算,合理推测是二进制下相同位数才能满足。

example:

\(x=7,y=8\)

\(0111\) & $ 1000$=\(0\) \(<=\) \(0111\)^ $ 1000$=\(1111\)

反思一下:昨晚脑力不足,室友打游戏情况下好不容易找出的规律,结果开了个int的ans数组...第二个点就没过去。

第二天早早就醒了,突然知道哪错了,越想越气,上机!

改了下提交果然A掉了

\(QAQ\)

#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long ll;
ll ans[10000];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t;
cin>>t;
while(t--)
{
ll n,maxn=-INF,answer=0;
memset(ans,0,sizeof(ans));
cin>>n;
ll k=1;
for(ll i=0; i<n; i++)
{
ll x,k=0;
cin>>x;
while(x)
{
x/=2;
k++;
}
ans[k]++;
if (k>maxn)
maxn=k;
}
for(ll i=0;i<=maxn;i++)
{
if (ans[i]>1)
answer+=ans[i]*(ans[i]-1)/2; }
cout<<answer<<"\n";
}
return 0;
}

C. Pokémon Army (easy version)

思路:Pokémon?还是挺有趣的

简而言之,就是在一串数组里找一对一对的数字,满足\((a_{b_i}-a_{b_j}>0)\)

#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long ll;
const ll max_n=3e5+5;
ll a[max_n];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t;
cin>>t;
while(t--)
{
ll n,q,ans=0;
cin>>n>>q;
for(ll i=1;i<=n;i++)
cin>>a[i];
ll l=0,r=0; //l记录大的值,r记录小的值
for(ll i=1;i<=n;i++)
{
if (i==1)
l=a[i];
else
{
if (a[i-1]<a[i])
{
if (l&&r)
ans+=l-r;
l=a[i];
r=0;
}
else
r=a[i];
}
}
ans+=l;
cout<<ans<<"\n"; }
return 0;
}

Codeforces Round #672 (Div. 2) A - C1题解的更多相关文章

  1. Codeforces Round #612 (Div. 2) 前四题题解

    这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...

  2. Codeforces Round #198 (Div. 2)A,B题解

    Codeforces Round #198 (Div. 2) 昨天看到奋斗群的群赛,好奇的去做了一下, 大概花了3个小时Ak,我大概可以退役了吧 那下面来稍微总结一下 A. The Wall Iahu ...

  3. Codeforces Round #672 (Div. 2) C1. Pokémon Army (easy version) (DP)

    题意:给你一组数\(a\),构造一个它的子序列\(b\),然后再求\(b_1-b2+b3-b4...\),问构造后的结果最大是多少. 题解:线性DP.我们用\(dp1[i]\)来表示在\(i\)位置, ...

  4. Codeforces Round #672 (Div. 2) B. Rock and Lever题解(思维+位运算)

    题目链接 题目大意 给你一个长为n(n<=1e5)的数组,让你求有多少对a[i]和a[j] (i!=j)满足a[i]&a[j]>a[i]^a[j] 题目思路 这些有关位运算的题目肯 ...

  5. Codeforces Round #610 (Div. 2) A-E简要题解

    contest链接: https://codeforces.com/contest/1282 A. Temporarily unavailable 题意: 给一个区间L,R通有网络,有个点x,在x+r ...

  6. Codeforces Round #614 (Div. 2) A-E简要题解

    链接:https://codeforces.com/contest/1293 A. ConneR and the A.R.C. Markland-N 题意:略 思路:上下枚举1000次扫一遍,比较一下 ...

  7. Codeforces Round #611 (Div. 3) A-F简要题解

    contest链接:https://codeforces.com/contest/1283 A. Minutes Before the New Year 题意:给一个当前时间,输出离第二天差多少分钟 ...

  8. Codeforces Round #672 (Div. 2) D. Rescue Nibel!(排序)

    题目链接:https://codeforces.com/contest/1420/problem/D 前言 之前写过这场比赛的题解,不过感觉这一题还可以再单独拿出来好好捋一下思路. 题意 给出 $n$ ...

  9. Codeforces Round #672 (Div. 2)

    比赛链接:https://codeforces.com/contest/1420 A. Cubes Sorting 题意 给出一个大小为 $n$ 的数组 $a$,每次只可以交换相邻的两个元素,最多交换 ...

随机推荐

  1. 2020重新出发,MySql基础,MySql数据库备份与恢复

    @ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备 ...

  2. Vue企业级优雅实战02-准备工作03-提交 GIT 平台

    代码管理.版本管理是件老大难的事情,尤其多人开发中的代码冲突.突击功能时面临的 hotfix 等.本文只是简单说说如何将一套代码提交到两个 Git 平台(GitHub.GitEE)上.其他的 Git ...

  3. php利用快递100接口获取物流信息

    PHP使用CURL调用快递100接口查询运单信息 类代码如下: <?php/** * 快递100接口调用类 * @author 齐云海 * date: 2019/05/29 */ class E ...

  4. Oracle RAC与DG

    RAC RAC: real application clustersrac RAC: real application clustersrac 单节点数据库:数据文件和示例文件一一对应 实例损坏时数据 ...

  5. windows下TOMCAT对内存使用的设置

    1.打开TOMCAT目录 E:\备份\apache-tomcat-8.5.50-windows-x64\apache-tomcat-8.5.50\bin catalina.bat----------- ...

  6. Python之 最全 Conda、pip 管理环境和安装包、更换源、解决HttpError等一些列问题

    在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是环境管理与包管理.所以对虚拟环境进行创建.删除等操作需要使用conda命令. conda install 和 pip ...

  7. .net mvc web api上传图片/文件并重命名

    #region 上传图片 /// <summary> /// 上传图片到服务器 当error为0时成功,为1时失败 并从errmsg获取消息 /// </summary> // ...

  8. HKDAS产品技术架构图

  9. xargs命令学习,于阮一峰博客

    一.标准输入与管道命令 Unix 命令都带有参数,有些命令可以接受"标准输入"(stdin)作为参数. $ cat /etc/passwd | grep root 上面的代码使用了 ...

  10. 【Flutter 实战】菜单(Menu)功能

    老孟导读:今天介绍下Flutter中的菜单功能. PopupMenuButton 使用PopupMenuButton,点击时弹出菜单,用法如下: PopupMenuButton<String&g ...