102263 - ArabellaCPC 2019(部分)解题报告

2023-11-03

link
A - Is It Easy ?
easy

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
const int N=1e5+5;
ll n,k;
 
int main(){
    cin>>n>>k;
    cout<<n*k;
    return 0;
}

B - Road to Arabella
当只能选择1的时候是能确定胜负局面的时候。假如 k = = n k==n k==n k = = n − 1 k==n-1 k==n1,则一开始就确定了胜负,n偶Kilani负,n奇Kilani胜。假如k<n-1,Kilani先手,可以选择一个数使m为偶数,且之后的回合都只能选1,必胜。

#include<bits/stdc++.h>
using namespace std;
int T;
int main(){
    scanf("%d",&T);
    while (T--)
    {
        int n,m;
        bool flag;
        scanf("%d%d",&n,&m);
        if(m>=n-1){
            if(n%2==0) flag=false;
            else flag=true;
        }
        else flag=true;
        if(flag)
            cout << "Kilani" << endl;
        else
            cout << "Ayoub"<<endl;
    }
}

C - Check The Text
用队列表示输入字符串,然后匹配即可。

#include<bits/stdc++.h>
using namespace std;
queue<string> qq;
deque<char> st;
int n,m;
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        string temp;
        cin>>temp;
        qq.push(temp);
    }
    scanf("%d",&m);
    bool cc=false;
    for(int i=0;i<m;i++){
        string temp;
        cin>>temp;
        if(temp.length()>1){
            if(temp[0]=='B'){
                if (!st.empty())
                    st.pop_back();
            }
            else if(temp[0]=='C'){
                cc=!cc;
            }
            else{
                st.push_back(' ');
            }
        }else{
            char c=temp[0];
            if(cc) c=c-32;
            st.push_back(c);
        }
    }
    string com="";
    string org="";
    while(!qq.empty()){
        org+=qq.front();
        qq.pop();
        if(!qq.empty())
            org+=' ';
    }
    while (!st.empty())
    {
        com+=st.front();
        st.pop_front();
    }
    bool res=true;
    if(org.size()!=com.size()) res=false;
    else{
        for(int k=0;k<org.size();k++){
            if(org[k]!=com[k]){
                res=false;
                break;
            }
        }
    }
    if (res)
        cout << "Correct" << endl;
    else
        cout << "Incorrect" << endl;
    return 0;
}

D - Meeting Bahosain
假如这个数列最终能相等,那么他们之间可以任意转化。假如能把a[0]变成a[1]……a[n-2]变成a[n-1],这个数列最终就能相等。假如能相等,每个元素都能表示成 a [ x ] = a [ x − 1 ] + k 1 ∗ b [ 0 ] + k 2 ∗ b [ 1 ] + … … k n − 1 ∗ b [ n − 1 ] a[x]=a[x-1]+k1*b[0]+k2*b[1]+……kn-1*b[n-1] a[x]=a[x1]+k1b[0]+k2b[1]+kn1b[n1] a [ x ] − a [ x − 1 ] = k ∗ g c d ( b ) a[x]-a[x-1]=k*gcd(b) a[x]a[x1]=kgcd(b)。则若a中所有元素的最大公约数若能被所有b中所有元素的最大公约数整除就可以转化。

#include <bits/stdc++.h>
using namespace std;
int n, m;
int main()
{
    scanf("%d%d", &n, &m);
    int g1, g2;
    for (int i = 0; i < n; i++)
    {
        int temp;
        scanf("%d", &temp);
        if (!i)
            g1 = temp;
        else
            g1 = __gcd(g1, temp);
    }
    for (int i = 0; i < m; i++)
    {
        int temp;
        scanf("%d", &temp);
        if (!i)
            g2 = temp;
        else
            g2 = __gcd(g2, temp);
    }
    if (g1 % g2  == 0||n==1)
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}

G - Card Game
对于选择的i,只有对手选择1~i-1时才能得分,所以期望是对于所有i,i*(i-1)/n的和。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    scanf("%d",&n);
    double ans=0;
    for(int i=1;i<=n;i++){
        ans=ans+i*1.0*(i-1)/n;
    }
    printf("%.6lf",ans);
    return 0;
}

H - Steaks

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n,m;
    cin>>n>>m;
    if(n<=2*m) printf("10\n");
    else{
        ll ans=(2*n)/(2*m);
        if ((2 * n) % (2 * m)) ans++;
        ans*=5;
        cout<<ans<<endl;
    }
    return 0;
} 

I - Bashar and Hamada
排好序后。选两个时,一定选头尾两个,选第三个的时候选谁都一样,选第四个的时候的增量就相当于选第三个的时候的增量+第四个与第三个之差,所以三、四也要从头尾选。以此类推,每次都从头尾选。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int arr[300000];
int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        int temp;
        scanf("%d",&temp);
        arr[i]=temp;
    }
    sort(arr,arr+n);
    ll ans=arr[n-1]-arr[0];
    ll b1=ans;
    ll b2=2*ans;
    cout<<b1<<" ";
    if(n>2)
        cout<<b2<<" ";
    for(int i=4;i<=n;i++){
        ll rec = b2;
        if(i%2!=0){
            b2 = -b1 + 2*b2;
        }
        else{
            b2=-b1+2*b2+arr[n-i/2]-arr[i/2-1];
        }
        b1 = rec;
        cout<<b2<<" ";
    }
    cout<<endl;
    return 0;
}

J - Thanos Power
考虑每位数如何构成

  1. 直接加 步骤n
  2. 借位 前一位不是借位得到的 步骤10-n+1
  3. 借位 前一位是借位得到的 步骤10-n-1 (减掉上一位多减的步骤)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
    string s;
    cin>>s;
    ll a=s[0]-'0';
    ll b=10-s[0]+'0'+1;
    for(int i=1;i<s.length();i++){
        ll ta=a,tb=b;
        a=min(ta,tb)+s[i]-'0';
        b=min(10-s[i]+'0'+1+ta,10-s[i]+'0'-1+tb);
    }
    cout<<min(a,b)<<endl;
    return 0;
}

M - Two Operations

#include<bits/stdc++.h>
using namespace std;
string s;
int arr[26];
int main(){
    ios::sync_with_stdio;
    cin>>s;
    memset(arr,26,0);
    for(int i=0;i<s.length();i++){
        arr[s[i]-'a']++;
    }
    for (int i = 0; i < 25; i++)
    {
        if(arr[i]==0) continue;
        arr[i + 1] +=arr[i]/2;
        if (arr[i] % 2 != 0) arr[i] = 1;
        else arr[i]=0;
    }
    for(int i=0;i<arr[25];i++){
        cout<<'z';
    }
    for(int i=24;i>=0;i--){
        if(arr[i]==0) continue;
        else cout<<char(i+'a');
    }
    cout<<endl;
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

102263 - ArabellaCPC 2019(部分)解题报告 的相关文章

  • Python3 获取本机所有IP地址

    版权声明 更多最新原创文章请访问 最新原创主页 更多最全原创文章请访问 更多原创主页 先上代码 coding utf 8 Time 2018 2 10 18 24 Author 蛇崽 Email 643435675 QQ com File
  • vue2下npm安装国际化i18n包报错

    如题 我项目是vue2 在terminal控制台输入以下指令安装时报错 npm install vue i18n save 原因 在vue2环境下 默认安装 npm install vue i18n 的版本是 vue i18n 9 2 2
  • 【OpenCV图像处理】1.22 像素值映射

    相关理论 什么是像素重映射 简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去 形成一张新的图像 g x y
  • 电子商务计算机考试,电子商务师考试电子商务训练试题

    电子商务师考试电子商务训练试题 导语 电子商务师是指利用计算机技术 网络技术 通过专业的网络商务平台等现代信息技术 帮助商家与顾客或商家与商家之间从事各类商务活动或相关工作的人员 跟着小编一起来看看相关试题吧 1 确定事物之间异同的形式逻辑
  • Ingress配置跨域(服务包含websocket)

    nginx ingress默认是支持websocket 不需要添加配置 如果websocket的端口与当前服务不一致 则需要在rules中配置对应的路径 具体本文不体现 跨域主要配置有 nginx ingress kubernetes io
  • 【Java】maven-shaded-plugin超详细详解

    一 总体介绍 maven shaded plugin提供了两大基本功能 将依赖的jar包打包到当前jar包 常规打包是不会将所依赖的jar包打进来的 对依赖的jar包进行重命名 用于类的隔离 创建一个Shaded JAR maven sha
  • Opencv 入门(三)

    文章目录 图像梯度 Sobel算子 Scharr 算子 Laplacian算子 Canny边缘检测 图像金字塔 高斯金字塔 拉普拉斯金字塔 轮廓检测 画图函数 轮廓特征 面积 周长 轮廓近似 多边形 边界矩形 外接圆 图像梯度 Sobel算
  • 来做一个麦克纳姆轮吧!!

    想玩全向小车么 想搭建一个移动底盘么 想满足中二病的创造欲么 想 那么为什么不自己做一个麦克纳姆轮呢 自己动手丰衣足食 0 准备材料 3D打印机一台 打印耗材 直径2mm 长度60mm的铁轴 这种玩具模型里用的小铁轴刚好可以用来当麦克纳姆轮
  • 03-雾化

    const fog new THREE Fog color near far color 颜色 用于设置雾的颜色 以十六进制表示 near 近平面 处于这个距离之内的物体将被完全雾化 far 远平面 处于这个距离之外的物体将不受雾化影响
  • Java枚举类常量写法

    在写代码的过程中我们常常需要定义一些常量 以下代码是使用枚举类型定义常量的实例 有需要大家可以进行参考 public class MyConstant public enum StatusEnum CREATED 0 状态0 ASSIGNE
  • python趣味编程-盒子追逐者游戏

    在上一期我们用Python实现了一个奥赛罗游戏的游戏 这一期我们继续使用Python实现一个简单的盒子追逐追逐者游戏 让我们开始今天的旅程吧 在Python自由源代码中使用Turtle的盒子追逐者游戏 在Python中使用Turtle的盒子
  • 我使用Java one longin组件进行ADFS连接,但是logout endpoint有问题

    很抱歉 看起来你遇到了使用 Java OneLogin 组件连接 ADFS 时的注销端点问题 这可能是由于 ADFS 设置不正确或 Java OneLogin 组件的配置问题造成的 建议您检查相关文档 并确保 ADFS 和 Java One
  • 龙书(附录A):一个完整的编译器前端(学习记录)

    龙书 完整的编译器前端下载地址 ps 我设置的不要下载积分 如果还是不能下载的话请评论区留言 https download csdn net download Zheng lan 16779204 百度网盘下载 链接 https pan b
  • java8之Stream-Collect操作

    文章目录 collect Collector in Action 收集器 Collectors 常用规约操作 规约到一个单独的值 把数据装进一个list中 将数据收集到一个Set中 把数据收集到一个Map中 Using other coll
  • 《人工智能》之《非经典推理》习题解析

    教材 人工智能及其应用 蔡自兴等 2016m清华大学出版社 第5版 参考书 对应同系列博客 人工智能 之 非经典推理 人工智能 之 非经典推理 习题解析 1 非经典逻辑 非经典推理与经典逻辑 经典推理有何不同 2 什么是不确定性推理 为什么
  • fastapi之tortoise-orm

    目录 概述 fastapi引入 创建对应数据模型 创建Model 设置数据库字段field 字段介绍 自定义字段 设置Meta Model模型方法 查询 Q对象查询 字段过滤 预取 F表达式 功能和聚合 事务 根据Model生成Schema
  • Faster RCNN 源码解读(1) -- 文件结构分析

    基本介绍 Faster RCNN 在目标检测及其相关领域得到了广泛的运用 其原型RCNN是将CNN引入到目标检测的开山之作 此外基于region proposal是一种十分值得学习的思想 因此将在后续的系列章节中 基于源码 对Faster
  • vue + element实现前端excel上传解析

    前言 最近有个新需求 需要前端解析excel文件并且展示到页面让用户确认无误后进行上传 1 安装插件 首先安装xlsx插件 我这里安装的是0 14 1 npm install xlsx save 2 html部分代码 这里使用element
  • 海州高级中学2021高考成绩查询,2020年新海高中、海州高中高考成绩及三年前录取情况对比...

    高考分数出来以后 各所高中喜报频传 今天我们来梳理一下连云港市区四所四星级高中 她们三年前的中考录取情况和今年的高考成绩数据 这四所四星级高中分别为江苏省新海高级中学 以下简称 新海高中 连云港高级中学 以下简称连云港高中 江苏省海州高级中
  • 《网络设备安装与管理》实训2(配置二层交换机、三层交换机)

    网络设备安装与管理 实训2 一 实习项目 配置交换机 包括二层交换机 三层交换机 实现不同VLAN之间的通讯 二 实习目的 1 理解多层交换机的路由原理 实现不同VLAN间通讯 采用三层交换机以及路由器设备来解决 在三层交换机上 创建各个V

随机推荐

  • python绘制好几个子图_python – 在matplotlib中绘制一条关联多个子图之间区域的线...

    我是一名地质学家 有一堆不同深度的钻孔 我粗略地设定了子图的数量 宽度和高度 以根据钻孔的数量和这些钻孔中的样本数量而变化 在每个钻孔中都有一个我想要突出显示的区域 我用axhspan完成了这个区域 我想做的是在钻孔 子图 之间进行关联 绘
  • SpringBoot下的定时任务调度@Scheduled,Java原生定时任务

    SpringBoot下的定时任务调度 Scheduled Java原生定时任务 一 概述 定时任务调度 一句话概括就是 基于给定的时间点 给定的时间间隔 自动执行的任务 方法 二 java生态下的定时任务实现方式 Spring 3 0以后自
  • 二分查找法

    include using namespace std include int main vector v1 1 3 4 6 10 13 14 15 17 21 容器v1 int target cin gt gt target int lo
  • 教妹学Java(十二):一文搞懂Java的所有关键字

    大家好 我是沉默王二 一个和黄家驹一样身高 和刘德华一样颜值的程序员 本篇文章通过我和三妹对话的形式来谈一谈 Java 中的关键字 教妹学 Java 没见过这么有趣的标题吧 语不惊人死不休 没错 本篇文章的标题就是这么酷炫 接受不了的同学就
  • 腾讯云服务器Ubuntu、Centos7配置为代理服务器,使用tinyproxy

    1 安装tinyproxy 1 1Ubuntu系统 apt get install tinyproxy 1 2Centos7系统 yum y install tinyproxy 2 修改tinyproxy配置 vi etc tinyprox
  • vue项目打包发布与dist瘦身

    提示 学习笔记 文章目录 前言 一 打包发布 概念介绍 目标 讲解 小结 二 打包发布 publicPath 目标 讲解 小结 三 打包发布 减少包体积 整体分析 目标 讲解 小结 四 打包发布 减少包体积 排除第三方 目标 讲解 小结 五
  • mxnet的C/C++接口编译

    mxnet的C C 接口编译 Python的版本的mxnet版本用来训练 验证及测试算法效果还比较方便 但是实际部署则需要C C 接口 因此需要编译相应接口以方便部署 一 编译环境之windows10 编译出动态库libmxnet dll
  • redis相关原理及面试官由浅到深必问的15大问题(高级)

    0 redis是什么 redis是nosql 也是个巨大的map 单线程 但是可处理1秒10w的并发 数据都在内存中 使用java对redis进行操作类似jdbc接口标准对mysql 有各类实现他的实现类 我们常用的是druid 其中对re
  • Jenkins自动化部署框架(一)邮箱设置和git介绍

    下载安装完成后 填写密码 安装推荐插件 新建管理员账户 开始使用 系统设置配置邮箱参数 选择一个项目 配置 构建后操作 Git介绍 特点 1 Git是分布式管理 服务器和客户端都有版本控制能力 都能进行代码的提交 合并 2 Git会在根目录
  • nginx部署vue项目刷新404

    测试3 location root usr local openresty nginx html test3 index index html index htm try files uri uri index html 解决页面刷新404
  • IT项目管理——07.项目成本管理

    作业1 作业2 作业3 a 成本偏差CV EV AC 10000 进度偏差SV EV PV 20000 成本绩效指数CPI EV AC 1 11 进度绩效指数SPI EV PV 0 83 b 进度绩效指数小于1 落后于进度 正的成本偏差 完
  • 04JVM_语法糖

    一 编译期处理 语法糖java编译器把 java源码编译为 class字节码的过程中 自动生成和转换的一些代码 添加的class字节码 减轻程序员的负担 1 默认构造器 默认构造器没有写任何的构造方法 但经过编译器编译成字节码过程中 会加上
  • 图像采样方法

    最邻近插值 Nearest Neighbour Resampling 这种插值方法根据源图像和目标图像之间的相对位置来将目标图像上像素确定为相对源图像上相对位置的像素值 对于任意一幅源图像来说 假设放大后目标图像的宽为Dw高为Dh 任意目标
  • 计算机网络——应用层の选择题整理

    网络应用模型 1 下面关于客户 服务器模型的描述 存在错误 a 客户端必须提前知道服务器的地址 而服务器不需要提前知道客户端的地址 b 客户端主要实现如何显示信息与收集用户的输入 而服务端主要实现数据的处理 c 浏览器显示的内容来自服务器
  • Tensorflow深度学习之二十:CIFAR-10数据集介绍

    一 CIFAR 10 CIFAR 10数据集由10类32x32的彩色图片组成 一共包含60000张图片 每一类包含6000图片 其中50000张图片作为训练集 10000张图片作为测试集 CIFAR 10数据集被划分成了5个训练的batch
  • matlab神经网络Narxnet非线性自回归神经网络

    Narxnet 非线性自回归神经网络 用法 narxnet inputDelays feedbackDelays hiddenSizes trainFcn inputDelays 输入延时 Row vector of increasing
  • 统计学习方法- 感知机

    感知机是二分类的线性分类模型 其输入为实例的特征向量 输出为实例的类别 取 1和 1二值 1 感知模型 定义 2 感知机学习策略 数据集的线性可分性 感知机学习策略是假设空间中选取使损失函数最小的模型参数w b即感知模型 3 感知机学习算法
  • android activity 切换流程

    一般来说 Android程序主压迫由下列4部分组成 Activity Broadcast Intent Receiver Service Content Provider 本文重点讲解Activity这部分内容 1 Activity基本介绍
  • Go入门教程

    什么是Go语言 Go 又称 Golang 是 Google 的 Robert Griesemer Rob Pike 及 Ken Thompson 开发的一种静态强类型 编译型语言 Go 语言语法与 C 相近 但功能上有 内存安全 GC 垃圾
  • 102263 - ArabellaCPC 2019(部分)解题报告

    link A Is It Easy easy include