Problem A - Ahahahahahahahaha

https://codeforces.com/contest/1407/problem/A

题意:

给定一个偶数数组(元素值 0,1),在删除一定的数组元素(最多 \(n / 2\) 个) 以后偶数位和 是否能等于 奇数位和。

在不改变原序列的情况下输出剩下的 k个数 \((n / 2 <= K <= n)\)

思路:

先统计 数组整体和 \(s\) , 如果 \(s > n / 2\) 即数组中一半以上是 \(1\),这种情况下只需删去 $ s % 2 $,奇数转偶数。具体可以参考以下代码

//Cpp
#include<bits/stdc++.h>
#define ll int long long
using namespace std;
int i, j, k;
string yn[2] = { "No\n","Yes\n" };
int main(){
int t; cin >> t; while (t--) {
int o = 0, e = 0, x = 0, n, s = 0; cin >> n;
int a[n];
for (i = 0; i < n; i++) {
cin >> a[i]; s += a[i];
}
if (s > n / 2)x++;
if (x)s -= s % 2;
else s = n - s;
cout << s << endl;
for (i = 0; i < s; i++)cout << x << " ";
cout << endl;
}
}
#python
for _ in " "*int(input()):
a=int(input())
z=list(map(int,input().split()))
s=z.count(0);k=a//2
s1=z.count(1)
if s>=s1:print(k);print('0 '*k)
else:print(k+k%2);print('1 '*(k+k%2))

Problem B - Big Vova

https://codeforces.com/contest/1407/problem/B

首先把a从大到小排序,因为最大的gcd肯定最大 所以直接输出a1,然后暴力找于a1gcd最大的元素并把它做上标记以此类推,on2找完所有元素,但是如果迭代中发现gcd==1了就可以跳出循环从大到小输出其数组元素就可以了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int gcd(int a,int b){
if(b==0) return a;
else return gcd(b,a%b);
}
void solve(){
int n;cin>>n;
int a[n];
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);
for(int i=0;i<n/2;i++) swap(a[i],a[n-i-1]);
int ans=a[0],y;
for(int i=1;i<n;i++){
int mxm_gcd=1,y=i;
for(int j=i;j<n;j++){
int x=mxm_gcd;
mxm_gcd=max(gcd(a[j],ans),mxm_gcd);
if(mxm_gcd>x) {
y=j;
}
}
swap(a[i],a[y]);
ans=gcd(ans,a[i]);
}
for(int i=0;i<n;i++) cout<<a[i]<<" ";
cout<<"\n";
} int main(){
int t;cin>>t;
while(t--) solve();
}

Codeforces Round #669 (Div. 2) A、B题题解的更多相关文章

  1. Codeforces Round #609 (Div. 2)前五题题解

    Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...

  2. Codeforces Round #599 (Div. 2)的简单题题解

    难题不会啊…… 我感觉写这个的原因就是因为……无聊要给大家翻译题面 A. Maximum Square 简单题意: 有$n$条长为$a_i$,宽为1的木板,现在你可以随便抽几个拼在一起,然后你要从这一 ...

  3. Codeforces Round #669 (Div. 2) C. Chocolate Bunny 题解(交互)

    题目链接 题目大意 有一个长度为n的全排列,你可以询问2n次,要你经过这个2n次的询问后,求出这个全排列 询问定义为:输入"? i j"输出\(p_{i} mod p_{j}\) ...

  4. Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) (前三题题解)

    这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你 ...

  5. BestCoder Round #11 (Div. 2) 前三题题解

    题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob ...

  6. Codeforces Round #669 (Div. 2)A-C题解

    A. Ahahahahahahahaha 题目:http://codeforces.com/contest/1407/problem/A 题解:最多进行n/2的操作次数,我们统计这n个数中1的个数,是 ...

  7. Codeforces Round #310 (Div. 2)--A(简单题)

    http://codeforces.com/problemset/problem/556/A 题意:给一个01字符串,把所有相邻的0和1去掉,问还剩下几个0和1. 题解:统计所有的0有多少个,1有多少 ...

  8. Codeforces Round #416 (Div. 2)(A,思维题,暴力,B,思维题,暴力)

    A. Vladik and Courtesy time limit per test:2 seconds memory limit per test:256 megabytes input:stand ...

  9. Codeforces Round #336 (Div. 2)-608A.水题 608B.前缀和

    A题和B题...   A. Saitama Destroys Hotel time limit per test 1 second memory limit per test 256 megabyte ...

  10. Codeforces Round #316 (Div. 2) (ABC题)

    A - Elections 题意: 每一场城市选举的结果,第一关键字是票数(降序),第二关键字是序号(升序),第一位获得胜利. 最后的选举结果,第一关键字是获胜城市数(降序),第二关键字是序号(升序) ...

随机推荐

  1. Centos 7在线安装JDK1.8+Tomcat+MySQL8.0+Nginx

    一.安装JDK 注: 以下命令环境在Xshell中进行. 温馨提示: 在线安装方式需要有网速的前提,有的软件下载需要大量时间. 1.查询出系统自带的OpenJDK及版本 rpm -qa | grep ...

  2. MySQL笔记01: MySQL入门_1.3 MySQL启动停止与登录

    1.3 MySQL启动停止与登录 1.3.1 MySQL启动与停止 MySQL数据库分为客户端和服务器端,只有服务器端服务开启以后,才可以通过客户端登录MySQL服务端. 首先,以管理员身份运行&qu ...

  3. [NOI online2022普及C]字符串

    题目描述 Kri 非常喜欢字符串,所以他准备找 \(t\) 组字符串研究. 第 \(i\) 次研究中,Kri 准备了两个字符串 \(S\) 和\(R\) ,其中 \(S\) 长度为 \(n\),且只由 ...

  4. ubuntu 20.04系统上安装teleport开源堡垒机

    ubuntu 20.04安装部署teleport堡垒机 简介:Teleport是一款简单易用的开源堡垒机系统,具有小巧.易用的特点,支持 RDP/SSH/SFTP/Telnet 协议的远程连接和审计管 ...

  5. SSM整合 tomcat报错: <严重 [RMI TCP Connection(22)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到>

    前提:学了一个暑假 从Javaweb -> mybits ->spring -> spring-mvc 打算跟着网上ssm整合项目做一个项目 在完成最后一步spring对spring ...

  6. 这些 git 高级命令你知道几个

    大家好,我是 dom 哥.今天给大家分享几个 git 的高级应用. git 是目前最流行的版本控制工具.git 玩的 6 不 6,轻则影响自己的开发幸福指数 ,重则影响下班时间 .本文介绍一些日常开发 ...

  7. 【scikit-learn基础】--『监督学习』之 逻辑回归分类

    逻辑回归这个算法的名称有一定的误导性.虽然它的名称中有"回归",当它在机器学习中不是回归算法,而是分类算法.因为采用了与回归类似的思想来解决分类问题,所以它的名称才会是逻辑回归. ...

  8. electron入门之通知Notification(二)

    electron入门到入土,从渲染线程中创建新窗口.2022-03-21入门版本17.1.2 electron重要概念,只有一个主线程,其他都是渲染进程或者叫子线程,他们不能直接相互操作,可以通过ip ...

  9. nginx在代理到upstream时转换http1.1为http1.0,长连接转为短连接

    nginx在代理到upstream时的默认行为 最近准备用openresty替换nginx,替换的效果当然是需要保证效果和nginx一致,不然可能就会导致线上在用的服务出现问题. 替换成openres ...

  10. PyTorch项目源码学习(1)

    PyTorch PyTorch是一个开源的深度学习框架,项目地址 https://github.com/pytorch/pytorch 在学术工作中的使用频率较高.其主体由C++开发,PyTorch是 ...