[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. 牛客网PAT练习场-有几个PAT

    题目地址:https://www.nowcoder.com/pat/6/problem/4066 题意:求pat->求pa->求p /** * *作者:YCute *时间:2019-12- ...

  2. day37:MySQL基本操作

    目录 part1:登录mysql的完整语法 part2:查询用户/设置密码/去除密码 part3:给ip/网段/所有ip设置账号密码 part4:查看权限 part5:添加权限/删除权限/删除用户 p ...

  3. Java BigDecimal使用指南

    提起BigDecimal,相信大家都使用过,之所以总结这篇呢,是因为最近发现项目中使用的不是太规范,在某些场景下甚至出现代码抛出异常的情况, 所以就总结了这篇,希望大家在使用时,可以少踩一些坑. 1. ...

  4. 贪心思想之区间贪心 关联洛谷P1803

    力扣上也有一道类似的题 几乎是一样 输出不同 → 力扣leetcode 435. 无重叠区间 区间贪心是比较经典的 就拿洛谷P1803来举例 题目大意 n个比赛 [开始时间,结束时间] 问一个人最多能 ...

  5. 通过WordCount解析Spark RDD内部源码机制

    一.Spark WordCount动手实践 我们通过Spark WordCount动手实践,编写单词计数代码:在wordcount.scala的基础上,从数据流动的视角深入分析Spark RDD的数据 ...

  6. CA定义以及功能说明

    当您访问以HTTPS开头的网站时,即表示正在使用CA.CA是Internet的重要组成部分.如果不存在CA,那么将无法安全在线购物以及使用网银在线业务等.什么是CA?CA具体是做什么的,又是如何确保您 ...

  7. 认证授权:IdentityServer4

    前言 上一篇文章<学习OIDC>介绍了OIDC协议,本篇开始我们就来具体来学习OIDC的具体实现IdentityServer4 学习. 一.IdentityServer4 是什么? Ide ...

  8. C#知识点:操作XML

    XML是什么就不用说了文本标记语言. 主要纪录如何对XML文件进行增删改查. Xml的操作类都存在System.xml命名空间下面. 应用型的直接上代码 using System; using Sys ...

  9. css3渐变色实现小功能 ------ css(linaer-gradient)

    由沿直线两种或多种颜色之间的渐进转换的图像.它的结果是数据类型的对象,这是一种特殊的类型. 与任何梯度一样,线性梯度没有内在维度 ; 即,它没有天然或优选的尺寸,也没有优选的比例.其具体尺寸将与其适用 ...

  10. C013:颠倒显示三位数

    代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int original; do{ printf(&q ...