说实话题目真的不难,但是自己真的垃圾,
第一题签到过了
第二题脑子只想贪心,过了8个点,后来发现贪心有点问题。又想到了用小根堆。结果TLE。最后发现是二分
第三题想到了求环,想到了用并查集。没有想到联通块的大小就是环。

目录

  • A: AcWing 3577. 选择数字 【难度: 简单 / 知识点: 思维】
  • B: AcWing 3578. 最大中位数 【难度: 一般 / 知识点: 二分答案】
  • C: AcWing 3579. 数字移动 【难度: 中 / 知识点: 并查集】

A: AcWing 3577. 选择数字 【难度: 简单 / 知识点: 思维】


https://www.acwing.com/problem/content/3580/

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
typedef long long int LL;
const int N=1e5+10;
int a[110],b[110];
bool st[N];
int main(void)
{int m;cin>>m;for(int i=0;i<m;i++) cin>>a[i],st[a[i]]=true;;int n; cin>>n;for(int i=0;i<n;i++) cin>>b[i],st[b[i]]=true;for(int i=0;i<m;i++){for(int j=i;j<n;j++){if(!st[a[i]+b[j]]){cout<<a[i]<<" "<<b[j]<<endl;return 0;}} }return 0;
}

其实你会发现,每组数据求最大值,其组合的数据一定不会在这里的集合中出现。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
typedef long long int LL;
int main(void)
{int m;cin>>m;LL x,a=0,b=0;for(int i=0;i<m;i++) cin>>x,a=max(a,x);int n; cin>>n;for(int i=0;i<n;i++) cin>>x,b=max(b,x);cout<<a<<" "<<b<<endl;return 0;
}

B: AcWing 3578. 最大中位数 【难度: 一般 / 知识点: 二分答案】


https://www.acwing.com/problem/content/3581/
用排序后有单调性,故用二分答案,注意开long long .
这道和洛谷二分题单里的跳石头大同小异

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long int LL;
const int N=2*1e5+10;
LL a[N];
int n,k;
bool check(LL mid)
{LL res=0;for(int i=n/2;i<n;i++){if(a[i]<mid) res+=mid-a[i];//需要补}if(res<=k) return true;//补的数的和大于kelse return false;
}
int main(void)
{cin>>n>>k;for(int i=0;i<n;i++) cin>>a[i];sort(a,a+n);LL l=0,r=2*1e9;while(l<r){LL mid=l+r+1>>1;if(check(mid)) l=mid;else r=mid-1;}cout<<l<<endl;return 0;
}

C: AcWing 3579. 数字移动 【难度: 中 / 知识点: 并查集】

https://www.acwing.com/problem/content/3582/

不难看出这应该是一个图。
我们以
n=6 , 4 6 2 1 5 3为例

你会发现每一个都是一个环,而环的大小正好等于连通块的大小。
故直接套用并查集求连通块的模板。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
int p[N],cnt[N],a[N],n,t;
int find(int x)
{if(x!=p[x]) p[x]=find(p[x]);return p[x];
}
int main(void)
{cin>>t;while(t--){cin>>n;for(int i=1;i<=n;i++) cin>>a[i],p[i]=i,cnt[i]=1;for(int i=1;i<=n;i++){if(find(a[i])!=find(i)){cnt[find(i)]+=cnt[find(a[i])];p[find(a[i])]=find(i);}}for(int i=1;i<=n;i++) cout<<cnt[find(i)]<<" ";cout<<endl;}return 0;
}

Acwing第 1 场周赛【完结】相关推荐

  1. Acwing第72场周赛+Leetcode第314场周赛

    Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...

  2. AcWing——第55场周赛

    AcWing--第55场周赛 竞赛 - AcWing 4479. 最长子序列 - AcWing题库 给定一个长度为 n 的序列 a1,a2,-,an 和一个长度为 m 的序列 b1,b2,-,bm. ...

  3. Acwing 第 91 场周赛

    Powered by:NEFU AB-IN B站直播录像! Link 文章目录 Acwing 第 91 场周赛 A AcWing 4861. 构造数列 题意 思路 代码 B AcWing 4862. ...

  4. Acwing 第 95 场周赛

    Powered by:NEFU AB-IN Link 文章目录 Acwing 第 95 场周赛 A AcWing 4873. 简单计算 题意 思路 代码 B AcWing 4874. 约数 题意 思路 ...

  5. Acwing 第 89 场周赛

    Powered by:NEFU AB-IN B站直播录像! Link 文章目录 Acwing 第 89 场周赛 A AcWing 4803. 满足的数 题意 思路 代码 B AcWing 4804. ...

  6. Acwing第 29 场周赛【完结】

    TLE场 目录 4194. Pow[签到] 4195. 线段覆盖[离散化+差分] 4196. 最短路径[最短路] 4194. Pow[签到] https://www.acwing.com/proble ...

  7. Acwing第 21 场周赛【完结】

    这场比赛是有史以来,最拉的一场.开始太慌了,第一题没看数据范围直接开始写.wa了四发后,才发现可以暴力. 第二题超时的模拟,规律一直没有找出来.总之,状态及其不好掉了大分.无语. 目录 3997. 整 ...

  8. Acwing第 39 场周赛【完结】

    目录 4302. 元素分类[签到] 4303. 链表[链表] 4304. 字符串归类[并查集] 4302. 元素分类[签到] https://www.acwing.com/problem/conten ...

  9. Acwing第 38 场周赛【完结】

    目录 4299. 删点[签到] 4300. 两种操作[BFS] 4301. 截断数列[枚举] 4299. 删点[签到] https://www.acwing.com/problem/content/4 ...

  10. Acwing第 37 场周赛【完结】

    目录 4296. 合适数对[签到] 4297. 截断数组[双指针] 4298. 搭档[贪心] 4296. 合适数对[签到] https://www.acwing.com/problem/content ...

最新文章

  1. 万字长文带你入门 GCN
  2. Android UI开发第五篇——自定义列表
  3. sqlite命令行查看数据显示列头、java访问sqlite、java命令指定classpath
  4. VTK:合并选择用法实战
  5. 网站title实现切换
  6. nginx: [error] invalid PID number in /run/nginx.pid解决办法之一
  7. 情 人 节 快 乐
  8. 什么是 TCC分布式事务
  9. 怎么用php配合js编写动态页面_JavaScript_JavaScript教程:用JS脚本实现Web页面信息交互范例,要实现动态交互,必须掌握有 - phpStudy...
  10. 小米平板5有望8月发布:骁龙870+120Hz刷新率屏
  11. 【Mac】一些软件的图片和视频位置 QQ 微信
  12. 转:改变你思维模式书
  13. php解密抖音小程序用户手机号/字节跳动小程序thinkphp
  14. 如何看待用户反馈意见
  15. 番茄助手VA_X的安装
  16. 计算机研究生论文数学公式,研究生论文公式符号细则.doc
  17. pci总线定时协议_PCI总线标准协议(中文版)
  18. 【Base】ping-pong buffer
  19. 机器学习算法 10 —— HMM模型(马尔科夫链、前向后向算法、维特比算法解码、hmmlearn)
  20. simulink+FlightGear飞行器建模仿真

热门文章

  1. PHP学习之PHP的语法糖
  2. Nrf51822中设置128bit UUID service
  3. NAT的全然分析及其UDP穿透的全然解决方式
  4. winpcap编程 解析数据包
  5. Linux下unlink函数的使用
  6. ST17H26 SDK中宏定义注意事项
  7. class_create
  8. MATLAB之离散时间傅里叶变换DTFT
  9. 跨链(6)波卡Polkadot “系统框架”
  10. 《研磨设计模式》chap13 命令模式