小白入门赛8

小白入门赛8

1

#include<bits/stdc++.h>
using namespace std;int main(){puts("5060");return 0;
} 

2

只考虑两个字符串a,b的情况下,优先让 a + b a+b a+b b + a b+a b+a 中最小的放前面,据此排序

int n;
string s[200010];
void solve(){cin >> n;for(int i = 1; i <= n; i ++){cin >> s[i];}sort(s + 1, s + n + 1, [](string &a, string &b){return a + b < b + a;});for(int i = 1; i <= n; i ++){cout << s[i];}
}

3

平方个位数的循环如下 :

(x ^ p) % 10
循环节的最小公倍数是 4
x = 0 : 0
x = 1 : 一定是 1
x = 2, 2 4 8 6 ...
x = 3, 3 9 7 1 ...
x = 4, 4 6 ..
x = 5, 5
x = 6, 6
x = 7, 7 9 3 1 ...
x = 8, 8 4 2 6
x = 9, 9 1

循环次数的最小公倍数是 4

读入 x x x 时对 4 4 4 取模,读入 p p p 的时候对 4 4 4 取模,因为个位数每四个一循环,最后输出个位数是什么即可

void solve(){int x, res = 0;string p;cin >> x >> p;x %= 10;for(int i = 0; i < (int)p.size(); i ++){res = res * 10 + p[i] - '0';res %= 4;}res = (res == 0 ? 4 : res);int ans = 1;for(int i = 1; i <= res; i ++){ans = ans * x;}cout << ans % 10 << '\n';
}

4

发现只要假定 x 1 x_1 x1 的数值,其余值都可以递推求解,又因为 x 1 x_1 x1 的取模只有两种,所以每种都试一下

int n, a[200010], x[200010];
void solve(){cin >> n;for(int i = 1; i <= n; i ++){cin >> a[i];}x[0] = 0, x[n + 1] = 0;x[1] = 0;for(int i = 2; i <= n; i ++){x[i] = a[i - 1] - x[i - 1] - x[i - 2];if(x[i] < 0 || x[i] > 1){goto fg;}}if(x[n - 1] + x[n] == a[n]){for(int i = 1; i <= n; i ++){cout << x[i] << ' ';}return ;}fg:x[1] = 1;for(int i = 2; i <= n; i ++){x[i] = a[i - 1] - x[i - 1] - x[i - 2];}for(int i = 1; i <= n; i ++){cout << x[i] << ' ';}
}

5

分情况讨论,首先因为操作 2 2 2 的次数不限,因此先将 a a a 排序,那么中间的元素一定满足要求。

接下来只需要修改首尾元素使之合法即可。

定义位置 x x x 位于块代表 a x = a x − 1 a_x=a_{x-1} ax=ax1 a x = a x + 1 a_x=a_{x+1} ax=ax+1

  • n = 2, 只要不是 [x, x] 的形式,就要修改一次

  • n >= 2 的情况 :

    • 首尾元素都位于块,如 1 1 2 3 4 5 5, 这种情况不需要修改

    • 首尾元素只有一个位于块,如 1 1 2 3,这种情况下,一定要修改一个元素,答案的下界是 1 1 1 , 假设尾元素不位于块,我们令 a n = a n − 1 a_n=a_{n-1} an=an1 即可,这样首尾元素都位于块,答案为 1 1 1

    • 首尾元素都不位于块, 只要 1 1 1 位于块或者 n − 2 n-2 n2 位于块即可,如 1 2 3 4 4 5,

      将 5 改为 1, 在移动到 1 与 1 组成块接即。如果 1 1 1 n − 2 n-2 n2 都不位于块, 此时需要修改 2 2 2

int n, a[105];
int l(int p){return (p - 1 + n) % n;
}
int r(int p){return (p + 1) % n;
}
bool check(int i){return a[i] == a[l(i)] || a[i] == a[r(i)];
}
void solve(){cin >> n;for(int i = 0; i < n; i ++){cin >> a[i];}sort(a, a + n);if(n == 2){cout << (a[0] == a[1] ? 0 : 1) << '\n';}else if(check(0) && check(n - 1)){ // 首尾都位于块, 0 次操作cout << "0\n";}else if(!check(0) && !check(n - 1)){ // 首尾都是单独一个if(check(1) || check(n - 2)) cout << "1\n";else cout << "2\n";}else{cout << "1\n";}
}

6

枚举走到的下界分数与上界分数,只要 x x x 位于他们之间即可

理由 : 最小路径调整到最大路径的过程中,每次可以少走一个 − 1 -1 1 , 或者本来走 1 1 1 现在走 − 1 -1 1, 因此可以调整到中间的任意值

void solve(){int n, x;cin >> n >> x;vector<int> a(n + 5), f(n + 5), g(n + 5);for(int i = 1; i <= n; i ++){cin >> a[i];}  a[n + 1] = 0;f[1] = a[1], g[1] = a[1];f[2] = max(a[1] + a[2], a[2]), g[2] = min(a[1] + a[2], a[2]);for(int i = 3; i <= n + 1; i ++){f[i] = max(f[i - 2], f[i - 1]) + a[i];g[i] = min(g[i - 2], g[i - 1]) + a[i];}// cout << f[n + 1] << ' ' << g[n + 1] << '\n';cout << ((x >= g[n + 1] && x <= f[n + 1]) ? "Yes" : "No") << '\n';
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUG未解之谜01-指针引用之谜

在leetcode里面刷题出现的问题&#xff0c;当我在sortedArrayToBST里面给root赋予初始值NULL之后&#xff0c;问题得到解决&#xff01; 理论上root是未初始化的变量&#xff0c;然后我进入insert函数之后&#xff0c;root引用的内容也是未知值&#xff0c;因此无法给原来的二叉…

鸿蒙开发学习【地图位置服务组件】

简介 移动终端设备已经深入人们日常生活的方方面面&#xff0c;如查看所在城市的天气、新闻轶事、出行打车、旅行导航、运动记录。这些习以为常的活动&#xff0c;都离不开定位用户终端设备的位置。 当用户处于这些丰富的使用场景中时&#xff0c;系统的位置定位能力可以提供…

map 添加 访问 遍历

#include<iostream> #include<vector> #include<set> #include<map> using namespace std; int main() { //创建 map<string, int>m; //添加 m["hello"] 2; m["ijii"] 1; //访问 如果存在返回值,不…

[HackMyVM]靶场 Submissions

kali:192.168.56.104 靶机:192.168.56.131 端口扫描 # nmap 192.168.56.131 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-24 11:32 CST Nmap scan report for 192.168.56.131 Host is up (…

【Python】基础语法(一)

文章目录 1.注释2.关键字与标识符2.1关键字2.2标识符 3.变量4.数据类型4.1数字类型4.2类型转换函数4.3布尔类型 5.输入(input)与输出(print)5.1输入函数(input)5.2输出函数(print) 6.运算符6.1算术运算符6.2比较运算符6.3赋值运算符6.4逻辑运算符6.5运算符优先级 7.字符串7.1字…

JMH微基准测试框架学习笔记

一、简介 JMH&#xff08;Java Microbenchmark Harness&#xff09;是一个用于编写、构建和运行Java微基准测试的框架。它提供了丰富的注解和工具&#xff0c;用于精确控制测试的执行和结果测量&#xff0c;从而帮助我们深入了解代码的性能特性。 二、案例实战 在你的pom文件…

MySQL 排序的那些事儿

书接上回 上次发了几张图&#xff0c;给了几个MySQL Explain的场景&#xff0c;链接在这儿&#xff1a;你是不是MySQL老司机&#xff1f;来看看这些explain结果你能解释吗&#xff1f;MySQL 夺命6连问 我们依次来分析下这6个问题。 在分析之前&#xff0c;我们先来了解一下M…

【C++】学习记录--condition_variable 的使用

condition_variable使用步骤如下&#xff1a;创建一个condition_variable对象创建一个互斥锁mutex对象&#xff0c;用来保护共享资源的访问在需要等待条件变量的地方&#xff0c;使用unique_lock<mutec>对象锁定互斥锁并调用condition_variable::wait()、condition_varia…

大模型: 提示词工程(prompt engineering)

文章目录 一、什么是提示词工程二、提示词应用1、提示技巧一&#xff1a;表达清晰2、提示词技巧2&#xff1a;设置角色 一、什么是提示词工程 提示词工程主要是用于优化与大模型交互的提示或查询操作&#xff0c;其目的在于能够更加准确的获取提问者想要获取的答案&#xff0c…

16. 最接近的三数之和

16. 最接近的三数之和 中等 相关标签 相关企业 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例 1&#xff1a; 输入&#xff…

操作系统面经-用户态和内核态

字节实习生带你面试&#xff0c;后台私信可以获得面试必过大法&#xff01;&#xff01; 根据进程访问资源的特点&#xff0c;我们可以把进程在系统上的运行分为两个级别&#xff1a; 用户态(User Mode) : 用户态运行的进程可以直接读取用户程序的数据&#xff0c;拥有较低的…

实验7-2-8 找鞍点(PTA)

题目&#xff1a; 一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。 本题要求编写程序&#xff0c;求一个给定的n阶方阵的鞍点。 输入格式&#xff1a; 输入第一行给出一个正整数n&#xff08;1≤n≤6&#xff09;。随后n行&#xff0c;每行给出n个…

【蓝牙协议栈】【BLE】低功耗蓝牙配对绑定过程分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。

demo案例 Three.js 中的 OrbitControls 是一个用于控制相机围绕目标旋转以及缩放、平移等操作的控制器。下面是它的详细讲解&#xff1a; 构造函数: OrbitControls(object: Camera, domElement?: HTMLElement)object&#xff1a;THREE.Camera 实例&#xff0c;控制器将围绕…

4.5 RK3399项目开发实录-案例开发之外部存储设备 rootfs 挂载(wulianjishu666)

嵌入式单片机项目开发资料&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1pJq-exGYrKZJIBaNvcmVsA?pwd3zr4 3.6. 外部存储设备 rootfs 挂载 根文件系统除了可以使用在内部的 eMMC 中的&#xff0c;还可以使用外部存储设备的根文件系统&#xff0c;如 SD 卡&#xf…

JAVA 100道题(14)

14.使用LinkedList实现一个简单的堆栈&#xff08;Stack&#xff09;数据结构。 下面是一个简单的Java程序&#xff0c;使用LinkedList来实现一个堆栈&#xff08;Stack&#xff09;数据结构。在这个程序中&#xff0c;我们定义了一个MyStack类&#xff0c;它包含了一些基本的堆…

从零开始学习在VUE3中使用canvas(五):globalCompositeOperation(图形混合)

一、简介 通过设置混合模式来改变图像重叠区域的显示方式。 const ctx canvas.getContext("2d");ctx.globalCompositeOperation "source-over"; 二、属性介绍 source-over 这是默认的复合操作。将源图像绘制到目标图像上&#xff0c;保留目标图像的不透…

1011: 【C1】【循环】【for】财务管理

题目描述 Larry今年毕业并找到了一份工作。他赚很多钱&#xff0c;但似乎总是不够。Larry认为他需要控制他的投资以解决自己的财务问题。Larry拿到了自己的银行账户详单&#xff0c;想看看自己有多少钱。请帮助Larry写一个程序&#xff0c;通过过去12个月中每月的月末结余&…

IPV6协议之DHCPV6

目录 背景&#xff1a; 一、DHCPV6概述 DHCPv6 Client&#xff1a; DHCPv6 Relay&#xff1a; DHCPv6 Server&#xff1a; 二、DHCPV6工作原理 DHCPV6无状态自动分配 三、DHCP基础配置 服务端 四、DHCPV6地址更新时间&#xff08;DHCPV4租期&#xff09; 五、DHCPV6…

idea 开发serlvet篮球秩序册管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发

一、源码特点 idea开发 java servlet 篮球秩序册管理系统是一套完善的web设计系统mysql数据库 系统采用serlvetdaobean mvc 模式开发&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 servlet 篮…