当前位置: 首页 > news >正文

CF983(div2)(未补)

CF983(div2)

A. Circuit

题意:每盏灯有两个开关,每个开关有1个灯,一个开关打开灯就打开,两个开关打开灯就关闭,给定开关,求最少亮的灯泡和最多亮的灯泡

分析:如果开关的灯是奇数,那么至少有一个灯泡亮,否则没有灯泡亮。求最大的亮灯泡就是求开和关的匹配数

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){int n;cin>>n;int a[2*n+10];int c1=0,c0=0;for(int i=1;i<=2*n;i++){cin>>a[i];if(a[i]==1)c1++;else c0++;}if(c1%2==0)cout<<"0 ";else cout<<"1 ";cout<<min(c1,c0)<<endl;
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--)sol();return 0;
}
​

B - Medians

题意:给定一组数组,切割成m块,每次求出子数组的中位数,再将所有子数组的中位数求中位数,最后得到目标值k

分析:如果当前中位数在目标值的左边,就在左边找子数组,反之在右边

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;ll n,k;
void sol(){cin>>n>>k;ll s=(n+1)/2;//2if(n==1&&k==1){cout<<"1"<<endl;cout<<"1"<<endl;return;}if(k<=1||k>=n){cout<<"-1"<<endl;return;}if(s==k){cout<<n<<endl;for(int j=1;j<=n;j++)cout<<j<<" ";}else if(s>k){ll c=s-k;if(n-(2*c+1)<=0){cout<<"-1"<<endl;return;}cout<<n-(2*c+1)+1<<endl;for(int i=1;i<=n-(2*c+1)+1;i++){cout<<i<<" ";}}else{ll c=k-s;if(n-(2*c+1)<=0){cout<<"-1"<<endl;return;}cout<<n-(2*c+1)+1<<endl;cout<<1<<" ";for(int i=(2*c+1)+1;i<=n;i++){cout<<i<<" ";}}
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--)sol();return 0;
}
​

C - Trinity

题意:给定数组a,可以进行任意次操作:选择i和j,ai=aj,使得最后数组,任选三个数都可以组成三角形,两数大于第三数

分析:每次找区间内任选三个都可以组成三角形,用二分找右区间,即可算出没有在区间内的

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){int n;cin>>n;ll a[n+10];for(int i=1;i<=n;i++)cin>>a[i];sort(a+1,a+n+1);ll ans=0x3f3f3f3f3f3f3f;for(int i=1;i<=n;i++){ll l=i,r=n;while(l<r){ll mid=(l+r)/2;if(a[mid]>=a[i]+a[i+1])r=mid;else l=mid+1;}//不在区间的最小值 ll c;if(l==n){if(a[n]<a[i]+a[i+1]){//在区间 c=i-1;}else{c=i-1+1; }}else c=i-1+(n-l+1);ans=min(ans,c);}if(ans==0x3f3f3f3f3f3f3f)cout<<"0"<<endl;else cout<<ans<<endl;
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--)sol();return 0;
}
​

http://www.mrgr.cn/news/63811.html

相关文章:

  • 在VS中安装chatGPT
  • 语义分割——全卷积网络FCN
  • 014:无人机遥控器操作
  • 线上3D看车有何优势?
  • jdk,openjdk,oraclejdk
  • 在基于AWS EC2的云端k8s环境中 搭建开发基础设施
  • Ubuntu软件包管理机制
  • PyTorch实践-CNN-鸢尾花分类
  • 资深项目经理推荐的这五款国产项目管理软件值得收藏使用
  • Kotlin一之内置类型
  • 【数据结构】构造函数和析构函数
  • Linux 进程间通信——管道
  • 问答系统评估标准
  • 安装scrcpy-client模块av模块异常,环境问题解决方案
  • leetcode hot100【LeetCode 279. 完全平方数】java实现
  • Pandas JSON学习
  • 遥感辐射传输方程中的格林函数
  • PyTorch实践-CNN-手写数字识别
  • [Web安全 网络安全]-学习视频分享汇总(持续更新中)
  • 论文概览 |《Journal of Transport Geography》2024.10 Vol.120
  • Android文件选择器[超级轻量级FilePicker测试没有问题][挣扎解决自带文件管理器获取不到绝对地址问题而是返回msf%3A1000038197]
  • 二叉树的深搜
  • 防火墙技术应用
  • OpenWrt下安装Mosquitto
  • 深入解密 K 均值聚类:从理论基础到 Python 实践
  • 【Python-AI篇】seaborn