Codeforces Round #649 (Div.2)题解

news/2024/7/3 6:07:10

文章目录

    • A - XXXXX
    • B - Most socially-distanced subsequence
    • C - Ehab and Prefix MEXs

A - XXXXX

题意:这个题让你找从开头或者是结尾去掉最少几个数以后总和是不能整除给定的x
思路:如果这个序列总和可以整除给定的x的话,那么我们只要找到一个数可以不被x整除,把他从序列中取出,那么序列中剩余的总和也就不能被整除了。
分别从前从后开始搜索即可:

/*Keep on going Never give up*/
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
const int maxn = 1e5+10;
const int MaxN = 0x3f3f3f3f;
const int MinN = 0xc0c0c00c;
typedef long long ll;
const int mod = 100000000;
using namespace std;
int a[maxn];
int main()
{int t;cin>>t;while(t--){int n,k;cin>>n>>k;ll ans=0;for(int i=0;i<n;i++) scanf("%d",&a[i]),ans+=a[i];int pos1=n-1,pos2=0;if(ans%k==0){for(int i=0;i<n;i++){if(a[i]%k!=0&&a[i]!=0){pos1=i;break;}}for(int i=n-1;i>=0;i--){if(a[i]%k!=0&&a[i]!=0){pos2=i;break;}}//cout<<pos1<<" "<<pos2<<endl;int ans=min(pos1+1,n-pos2);if(ans==n) cout<<-1<<endl;elseprintf("%d\n",n-ans);}else cout<<n<<endl;}return 0;
}

B - Most socially-distanced subsequence

题意:让你从序列中找出某些元素,让其|a1-a2|+|a2-a3|+|a3-a4|+…+|an-1-an|的值最大化,输出你找出对的这些元素**(元素相对位置不可以变化)。**
题解:我们我们可以把这个序列中的所有元素抽象成一个函数图像,那么我们找出这个(函数)上的所有极值点即可,必定极大值和极小值是交替的。我们让他们彼此相减即可。

/*Keep on going Never give up*/
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
const int maxn = 1e5+10;
const int MaxN = 0x3f3f3f3f;
const int MinN = 0xc0c0c00c;
typedef long long ll;
const int mod = 100000000;
using namespace std;
int a[maxn];
int rem[maxn];
int main()
{int t;cin>>t;while(t--){int n;cin>>n;for(int i=0;i<n;i++) scanf("%d",&a[i]);int cnt=1;rem[0]=a[0];for(int i=1;i<n-1;i++){if(a[i]>a[i-1]&&a[i]>a[i+1]) rem[cnt++]=a[i];else if(a[i]<a[i-1]&&a[i]<a[i+1]) rem[cnt++]=a[i];}if(rem[cnt-1]!=a[n-1]) rem[cnt++]=a[n-1];int ans=0;//for(int i=0;i<cnt-1;i++) ans+=abs(rem[i]-rem[i+1]);printf("%d\n",cnt);for(int i=0;i<cnt;i++){printf("%d ",rem[i]);}printf("\n");}return 0;
}

C - Ehab and Prefix MEXs

在这里插入图片描述题意。。。不多哔哔了,描述不清
mex(S)的值为集合S中没有出现过的最小自然数。例如,mex({1,2}) = 0、mex({0,1,2,3}) = 4
题解:我们从哪里下手呢?
首先我们可以看到a[i]严格小于等于i
再者保证a是一个不下降序列

因为所有的数小于1e6所以我们不妨开一个数组来记录一下出现过的数字
用visited数组记录出现过的数字,若出现过标记为true,没有出现过则为false
类似于我图片上的样子
在这里插入图片描述
代码:

/*Keep on going Never give up*/
#pragma GCC optimize(3,"Ofast","inline")
#include <bits/stdc++.h>
const int maxn = 1e6+10;
const int MaxN = 0x3f3f3f3f;
const int MinN = 0xc0c0c00c;
typedef long long ll;
const int mod = 100000000;
using namespace std;int a[maxn];
bool visited[maxn];int main()
{int n;cin>>n;memset(visited,false,sizeof(visited));for(int i=1;i<=n;i++){scanf("%d",&a[i]);visited[a[i]]=true;}int pos=0;for(int i=1;i<=n;i++){if(a[i]!=a[i-1]&&i!=1) printf("%d ",a[i-1]);else{while(visited[pos]==true) pos++;printf("%d ",pos++);}}return 0;
}

http://lihuaxi.xjx100.cn/news/285792.html

相关文章

知乎13万赞!为何很多名校毕业生,都输在了人生后半程

作 者&#xff1a;skiptomylou图 片&#xff1a;站酷海洛来 源&#xff1a;知乎生活因何而变如果在截止目前的人生里&#xff0c;有什么事情是我认为我领悟到的最重要的&#xff0c;那就是&#xff1a;人的生活就像投资品价值一样&#xff0c;是存在均值回归的。那个均值&#…

远程推送IOS

2019独角兽企业重金招聘Python工程师标准>>> 一,IOS远程通知服务APNs 苹果的APNs(苹果推送通知服务Apple Push Notification server)允许设备和苹果的推送通知服务器保持链接,支持开发者推送消息到给用户设备对应的应用程序。 苹果的APNs基本原理是: 首先由应用注册…

poj2139(Flody算法)

题意&#xff1a;题目给出n,m。n代表母牛的数量&#xff0c;m代表接下来的行数。接下来的m行&#xff0c;首先给出一个x,表示x后面跟的数&#xff0c;也就是母牛的编号&#xff08;这里从1开始&#xff0c;当然从0开始也一样&#xff09;&#xff0c;表示这x头母牛之间存在关系…

简单介绍基于PostgreSql 别名区分大小写的问题

这篇文章主要介绍了基于PostgreSql 别名区分大小写的问题&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起跟随小编过来看看吧 PostgreSql是区分大小写的 如果别名的大小不一致就会提示错误&#xff1a; SELECT* FROM(SELECTcpi."product_item_id&q…

欧拉筛 筛法求素数 及其例题 时间复杂度O(n)

埃式筛法尽管不错&#xff0c;但是确实做了许多无用功&#xff0c;某个数可能会被重复的筛好几次&#xff0c;欧拉筛解决了这个方法&#xff0c;下面为代码&#xff1a; 注意理解if(i%prim[j]0) break; 大佬讲的不错的博客&#xff0c;我就不做复读机了。 点我传送 void ispir…

Windows 95被做成了App,可玩扫雷和纸牌

6 秒重温 Windows95 开机画面 作者 | 琥珀 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; “看到 Win95&#xff0c;再看到仙剑 DOS 的画面&#xff0c;突然有种想哭的感觉&#xff0c;小时候帮李逍遥实现了仗剑江湖的愿望&#xff0c;但自己却没有实现自己的愿望…

基于zabbix用Python写一个运维流量气象图

前言&#xff1a;同事问我&#xff0c;你写运维平台最先写哪一部分&#xff1f;好吧&#xff0c;还真把我问倒了&#xff0c;因为这是在问最应该放在放在第一位的东西~作为一个工作不足两年&#xff0c;运维不足一年的新手来说&#xff0c;还真不敢妄下评论&#xff0c;其实按照…

北京大学计算机女博士经常看什么资料?

今天&#xff0c;给大家推荐几个排名非常靠前的人工智能方向的公众号&#xff0c;不论从文章质量&#xff0c;还是阅读推广量&#xff0c;都是值得大家关注的。不需要您费力寻找&#xff0c;只要花几分钟进行阅读收藏&#xff01;&#xff01;AI有道一个值得关注的 AI 技术的公…