专栏首页Tanger的思源地ACM之7-25日中期比赛

ACM之7-25日中期比赛

1.A:奇数和数组

题目描述

给你一个由n个整数组成的数组a。 在一次移动中,您可以选择两个下标 1≤i,j≤n,i≠j并且设置ai:=aj。您可以执行这样的移动任意次数(可能是零次)。您可以在不同的操作中选择不同的下标。 操作:=是赋值的操作(即选择 i 和 j 并用 aj 替换 a i)。 你的任务是判断是否有可能得到一个元素之和为奇数(不能被2整除)的数组。

1.A:奇数和数组

题目描述

给你一个由n个整数组成的数组a。 在一次移动中,您可以选择两个下标 1≤i,j≤n,i≠j并且设置ai:=aj。您可以执行这样的移动任意次数(可能是零次)。您可以在不同的操作中选择不同的下标。 操作:=是赋值的操作(即选择 i 和 j 并用 aj 替换 a i)。 你的任务是判断是否有可能得到一个元素之和为奇数(不能被2整除)的数组。

输入

输入的第一行包含一个整数t(1≤t≤2000)——测试用例的数量。

接下来的2t行描述了测试用例。

测试用例的第一行包含一个整数n(1≤n≤2000)——a中的元素数。

测试用例的第二行包含n个整数a1,a2,…,an (1≤ai≤2000),其中ai是a的第I个元素 保证所有测试用例的n之和不超过2000 (∑n≤2000)。

输出

对于每个测试用例,如果能得到一个奇数元素和的数组,输出“YES”(不加引号),否则为“NO”。

样例输入

5
2
2 3
4
2 2 8 8
3
3 3 3
4
5 5 5 5
4
1 1 1 1

样例输出

YES
NO
YES
NO
NO

参考程序

2.B:暗箱操作

题目描述

有两个英语菜鸡lzh和xzy,每个人所能解决的问题都不一样,每个学期的英语考试到了,对于每一个英语题目都有一个相应的分数且每道题的相应分数p_i不能小于1,所有题目的分数总和最低的人就获得挂科重修再来一次,作为lzh好朋友的你,为了让lzh的英语考试分数比xzy高,你需要偷偷操控每题的分数p_i,但是如果p_i太大,lzh就会因为作弊被抓住,所以你要做的就是最小化所有英语题目中的最大分数p_i。

输入

第一行包含一个整数n(1<=n<=100)代表英语题目的数量

第二行有n个整数r1,r2 …,rn (0<=ri<=1).ri=1意味着lzh会i-题目,ri=0意味着它不会i- 题目

第三行有n个整数b1,b2, …,bn (0<=bi<=1).bi=1意味着xzy会i-题目,bi=0意味着它不会i- 题目

输出

如果你不能通过任何手段让lzh的分数大于xzy就输出-1 否则输出你在所有项目中修改分数的最大值

样例输入

5
1 1 1 0 0
0 1 1 1 1

样例输出

3

提示

对于样例来说,你只需要把第一道题的分数改为3,第二道题的分数改为1,第三道题的分数改为3,第四道题的分数改为1,第五题的分数改为1 那么lzh的得分就是3+1+3=7,而xzy的得分是1+3+1+1=6,lzh的分数就比xzy的高了

参考程序

3.C:简简单单A+B

题目描述

给出三个整数 A,B,N; 1<A,B,N<1e9

我们可以进行如下操作

操作 1:让A=A+B;

操作 2:让B=A+B;

问最少需要多少次操作 可以使max(A,B)严格大于N max(a,b)为(A,B中较大的那个)

输入

第一行一个整数T 代表测试组数

下面T行 1<T<100

每行三个整数 A,B,N 意义如题所示 1<A,B,N<1e9

输出

输出T行

每行一个整数 代表所需要的最少操作

样例输入

2
1 2 3
5 4 100

样例输出

2
7

参考程序

4.D:淘淘的暗号

题目描述

淘淘的暗号为一串由n个小写字母组成的字符串b,原文a生成b的方法为a中从左到右将每个长度为2的子串加入到b中,例如a串为’abcd’,那么子串从左到右的顺序为’ab’,’bc’,’cd’,则b为’abbccd’

输入

输入长为n(3<=n<=100000)的暗号b

输出

输出原文a

样例输入

abbaac

样例输出

abac

参考程序

#include<string.h>
#include<iostream>
using namespace std;
int main(){
    int n;
    char s[100001];
    gets(s);
    n=strlen(s);
    int i=0;
    while(i<=n-1){
        cout<<s[i]; 
        i+=2;
    }
    cout<<s[n-1];
    return 0;
} 

5.E:淘淘的序列

题目描述

对于一个长为n的数字序列中的每个数字ai,若当i为奇数时ai也为奇数,则称它为淘淘序列。同时,淘淘每次可以将序列中两个任意数字交换位置,求出淘淘需要多少次交换能将一个序列变为淘淘序列

注意 :i从0开始

输入

第一行输入一个整数n(1<=n<=100000),第二行输入n个整数ai(0<=i<=n-1)

输出

输出一个整数,代表淘淘最小需要做多少次交换操作能将给定序列变为淘淘序列,若不能变成淘淘序列输出-1

样例输入

4
3 2 7 6

样例输出

2

参考程序

6.F:打牌

题目描述

sys和llf在打牌,他们觉得现有的玩法太简单,所以他们玩起了摸牌游戏 规则如下

有N张牌 两个人轮流摸牌 每次摸牌的数量只能是2的幂次 比如 1,2,4,8,16 …… 当轮到某人摸牌,此人若无牌可摸,败 llf先手摸牌 他们两人都会采取最优策略去摸牌

输入

第一行一个数T 代表测试组数

下面N行每行一个数N 意义如题所示

输出

输出T行

若先手赢 输出llfnb

否则输出sysnb

样例输入

4
1
3
4
12

样例输出

llfnb
sysnb
llfnb
sysnb

参考程序(我自己打的)

#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;
int main(){
    int t,i,ans=1;
    long long l;
    cin>>t;
    while(t--){
        ans=1;
        cin>>l;
            if(l%3==0)
                ans=0;
            if(ans==0)
            cout<<"sysnb"<<endl;
            else
            cout<<"llfnb"<<endl;
        }
            return 0;
    }

题解

根据案例不难清楚当牌的数量为3的倍数时,都是先手输,所以可知,该问题被简化成倍数问题,在比赛中这样的规律可能不易发觉,要认真审题

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ACM之7-25日作业题解

    一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。

    Tanger
  • 是男人就过8题!楼教主出题,请接招

    用户1737318
  • 浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解

    标程/题解GitHub:https://github.com/ZSTUCA-TEAM/zstuACM/tree/main/200

    用户7886150
  • AI 人才遭疯抢,Google 为 22 岁印度毕业生开出 1000w+ 年薪

    他就是仅有 22 岁的 Aditya Paliwal。2013 年到 2018 年,Aditya Paliwal 参加了为期五年的计算机综合 M.Tech 双学...

    IT派
  • 有哪些好的刷题网站?2017年最受欢迎的编程挑战网站

    编程几乎已经成为了人类所知每个行业的必要组成部分,如今有越来越多的人开始了他们的编程之旅。 ? 如果你正在在学习编程,那么我可以告诉你一个提高技能的好方法,那就...

    企鹅号小编
  • 塔秘 | 最受欢迎的编程难题网站列表汇总

    前言 编程几乎已经成为了人类所知每个行业的必要组成部分,如今有越来越多的人开始了他们的编程之旅。 ? 本文列举了一些非常受欢迎的编程难题网站列表,并且做了简单介...

    灯塔大数据
  • 累积八年真题!全网超详细蓝桥杯试题解析 | 寻找C站宝藏

    很多小伙伴私信我在软件开发中算法的知识应该怎么学习,对于算法的训练又应该去参加哪些比赛,有很多也问过我一些关于ACM和蓝桥杯的一些知识。

    灰小猿
  • 这位AI毕业生,Google得不到他,就拿百万抢他!

    他就是仅有 22 岁的 Aditya Paliwal。2013 年到 2018 年,Aditya Paliwal 参加了为期五年的计算机综合 M.Tech 双学...

    用户1737318
  • 北大主场夺金ACM-ICPC全球总决赛,总教练罗国杰分享背后“秘笈”

    昨天(4月19日)下午,第42届ACM-ICPC国际大学生程序设计竞赛全球总决赛,在北京大学邱德拔体育馆举行,这也是2005年上海、2010年哈尔滨之后,中国第...

    量子位
  • 22岁大学生获谷歌天价offer,年薪百万!

    导读:在印度各地的顶级工程学院中,通过院校的安排获得一个高薪的工作是十分常见的,但如果你能一个世界顶级科技企业的offer,而且年薪千万,你会有怎样的心情呢?

    华章科技
  • 刷了几千道算法题,这些我私藏的刷题网站都在这里了!

    遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活...

    帅地
  • ACMer刷了数千道算法题,私藏的刷题网站都在这里了!

    遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活...

    AI算法与图像处理
  • 刷了几千道算法题,这些我私藏的刷题网站都在这里了!

    遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活...

    编程文青李狗蛋
  • ACM一年记,总结报告(希望自己可以走得很远)

    一、 知识点梳理 (一) 先从工具STL说起: 容器学习了:stack,queue,priority_queue,set/multiset,map/mult...

    风骨散人Chiam
  • 一个关于仰望,崇拜和梦想的故事

    从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子。有太多的故事,想说的话,却一直没能有机会写...

    ACM算法日常
  • 论文主题、引用量、中国机构 & 华人学者,KDD 2020 关键数据抢先看!

    ACM SIGKDD(国际数据挖掘与知识发现大会,简称 KDD)是世界数据挖掘领域的最高级别的学术会议,由 ACM 的数据挖掘及知识发现专委会(SIGKDD)主...

    AI科技评论
  • 周末荐

    腾讯技术工程官方号
  • 算法八股,简历项目,在校小白如何冲击大厂?快上车,我有!

    上海 985 计算机专业大三在读,有 acm 经验,无牌子,有一些算法竞赛和数模小奖,写在简历上的都是课程项目。

    ACM算法日常
  • 22岁印度大学生获谷歌天价offer,击败6000人年薪百万

    【新智元导读】来自印度孟买22岁的Aditya Paliwal得到了谷歌在纽约的人工智能研究部门工作的offer,年薪1200万卢比,约合115.5万元人民币。...

    新智元

扫码关注云+社区

领取腾讯云代金券