- 博客(96)
- 收藏
- 关注
原创 xtu oj 奇偶数位
一个整数𝑛=𝑎𝑘,𝑎𝑘−1,⋯,𝑎1―,取它的奇数位和偶数位组成两个新的数𝑚0和𝑚1,新的𝑛=𝑚0×𝑚1。不断迭代这个过程,直到𝑛成为1位数。比如𝑛=123, 13×2=26, 6×2=12, 2×1=2,一共迭代了3次。思路:每次将n将每一位数存入数组奇数位和偶数位一次组合,直到n只有1位停止。第一行是一个整数𝑇 (1≤𝑇≤10000),表示样例的个数。每行输出一个样例的结果,为一个整数,即迭代的次数。每个样例占一行,为一个整数𝑛 (1≤𝑛≤109)现在给你一个𝑛,请计算这个过程需要迭代多少次?
2024-10-31 23:09:09 213
原创 xtu oj 数字
一个正整数𝑛,其数码和为𝑚,如果𝑚能整除𝑛,那么我们称这个整数是“合理”的。现在给你一个𝑛,请求不大于𝑛的最大的“合理”数。第一行是一个整数𝑇 (1≤𝑇≤10000),表示样例的个数。以后每行一个整数𝑛 (1≤𝑛≤109)。依次每行输出一个样例的结果。
2024-10-31 23:05:52 221
原创 xtu oj 2021
依次输出样例的结果𝑏。如果存在多个结果,那么输出最小的𝑏;如果不存在这样的进制,输出0。一个数字串,请问是否存在𝑏进制(𝑏为不小于2的整数),使得其值十进制为2021?每行一个只含数字的字符串,长度不超过100个字符。存在不超过1500个测试样例。
2024-10-31 23:02:03 163
原创 xtu oj Min Base II
一个十进制数𝑛(10) 转成 𝑏 进制数 𝑎𝑘,𝑎𝑘−1,…,𝑎0―(𝑏),𝑏≥2,0≤𝑎𝑖<𝑏(𝑖=0,1,…,𝑘)且无前导0,那么 𝑛=∑𝑖=0𝑘𝑎𝑖𝑏𝑖。我们想求最小的基数𝑏,使得所有系数𝑎𝑖。第一行输出一个整数𝑇(1≤𝑇≤10000),表示样例的个数。以后每行一个样例,为一个十进制非负整数𝑛(0≤𝑛≤1018)每行输出一个样例的结果。
2024-10-31 23:00:00 217
原创 xtu oj 相同的数码
一个整数𝑛在𝑏进制下的,无前导0的数码为𝑎𝑘𝑎𝑘−1…𝑎0―,如果这些数码都是相同的,我们称𝑛在𝑏进制下数码相同。请求2∼100进制下,最小的𝑏进制使得𝑛是数码相同的。依次每行输出一个样例的结果,为一个整数𝑏。如果没有𝑏(2≤𝑏≤100)使得𝑛在𝑏进制下数码相同,输出0。第一行是一个整数𝑇(1≤𝑇≤20000),表示样例的个数。思路:数组存储每个进制下的值,遍历数组每一位比较。每个样例是一个整数𝑛(1≤𝑛≤109)。
2024-10-31 22:57:24 240
原创 xtu oj 回文数
回文数是指一个没有前导0的数,从左到右的数码和从右到左的数码是一样的。比如说10进制下的"121",这就是一个回文数。我们将这个概念扩展到𝑏b进制,𝑛=∑𝑖=0𝑘𝑎𝑖⋅𝑏𝑖n=∑i=0kai⋅bi,其中0≤𝑎𝑖<𝑏,2≤𝑏,𝑎𝑘>00≤ai<b,2≤b,ak>0,如果数列𝑎𝑘,𝑎𝑘−1,…,𝑎0ak,ak−1,…,a0构成一个回文序列,那么就称𝑛n在𝑏b进制下是回文数。比如,55在22进制下是101(2)101(2),所以55在22进制下是回文数。
2024-10-31 22:51:54 204
原创 xtu oj Digit String
小明获得了一些密码的片段,包含0∼9,𝐴∼𝐹0∼9,A∼F 这些字符,他猜这些是某个进制下的一个整数的数码串。小明想知道从2到16进制中,哪些进制下,这个数码串的对应的十进制整数值,等于𝑛n?
2024-10-31 22:37:50 165
原创 xtu oj 数码和
一个10进制数𝑛n在2∼162∼16进制下可以得到的不同的数码和,求在这些数码和中出现次数最多的数码和。比如20,进制数码数码和其中数码和2和4分别出现了3次,为最多出现次数。
2024-10-31 22:32:59 149
原创 xtu oj 平衡三进制2
平衡三进制分别使用字符'-','0','1'表示-1,0,1。下表表示从0到10的十进制数对应的平衡三进制的值。现在给你一个十进制整数,请将其转成对应的平衡三进制的串。
2024-10-31 22:21:46 174
原创 xtu 冰墩墩和冰壶
黄方也有两个壶,分别在(1,0),(0,2)。以后每行一个冰壶的信息,为三个部分,第一个是一个字符,表示冰壶的颜色(R表示红色,Y表示黄色),后面是两个整数(数值的绝对值不超过1000),表示冰壶的坐标。思路:计算每个队伍壶离圆心距离使用距离公式,分别和另一个队伍的距离相比,小于对方队伍所有壶离圆心距离则得分加1,记录每个队伍壶离圆心距离小于另一个队伍壶离圆心最小距离则得分加1。结果为一行,分为两个部分,如果没有让对方得分,输出“Win”和分数,否则输出”Lose”和对方得分的分数,两者之间相隔一个空格。
2024-10-27 22:53:46 399
原创 xtu oj 六边形
你可以按顺时钟或者逆时针方向,循环移动外圈或者内圈六边形里数字,但是不能在内外圈之间移动里面的数字。任取一个六边形和其周围围绕的六个六边形,可以构成的一个“小花”图形,我们想知道所有这样的“小花”中的数字累加和最小是多少?无论怎么旋转内外圈,中央的那个子六边形的累计和都是1+2+3+4+5+6+7=28,这个是最小的。以后每个样例占1行,为19个非负整数,每个数的值不超过1000,为对应编号格子中的数字。第一行输入一个整数𝑇 (1≤𝑇≤1000),表示样例的个数。每行输出一个样例的结果,为一个整数。
2024-10-27 22:44:46 394
原创 Magic Square
幻方是一种很古老的数学游戏,其中三阶幻方是在一个九宫格中填入数字1∼9,使得三行三列以及两个对角线的数字和相等。现在给你一个填好数字的九宫格,请问是不是满足三阶幻方的条件。第一行是一个整数𝑇(1≤𝑇≤1000),表示样例的个数。以后每行一个样例,每行为9个整数,为1∼9,且每个整数只出现一次,表示按行优先顺序依次填入九宫格。每行输出一个样例的结果,如果满足三阶幻方的条件,输出“Yes”,否则输出“No”。
2024-10-27 22:32:34 206
原创 Rotate Again
第一行是一个整数𝑇(1≤𝑇≤1000),表示样例的个数。每个样例占4行,每行4个整数,所有元素在[1,1000]范围内。我们想得到一个2×2的子矩阵,使得这个子矩阵4个元素的累加和最大。请问最大子矩阵的元素累加和是多少?一个4×4的矩阵,我们可以把矩阵看成内外两圈,我们可以把外圈按顺时钟或者逆时钟转动,通过一次循环得到外侧连续3个或者2个最大值时,注意加入。第一个样例,逆时钟旋转1格,得到最大子矩阵为。第二个样例,逆时钟旋转5格,得到最大子矩阵为。每行输出一个样例的结果。
2024-10-27 22:28:20 415
原创 xtu oj锐角三角形
每个样例占2行,第一行是一个整数𝑛,3≤𝑛≤100,表示边数。第二行是𝑛个整数𝑎𝑖,1≤𝑎𝑖≤10000,表示边的长度。𝑛条边,任选3条边,能组成多少个锐角三角形(选的边不同就认为是不同的三角形)?第一个是一个整数𝑇(1≤𝑇≤1000),表示样例的个数。依次每行输出一个样例的结果。
2024-10-27 22:19:05 253
原创 题目:Perfect Palindrome Number
一个1010进制无前导00的整数𝑎a,如果𝑎a有偶数位,只含有00和11的数码,且从左到右和从右到左读都是一样的,那么我们称其为“完美回文数”。比如,1001,111001,11这些都是完美回文数,而12,1010,1,10112,1010,1,101这些都不是“完美回文数”。第一行是样例数𝑇(1≤𝑇≤1000)T(1≤T≤1000)。以后每行一个样例,为一个整数𝑛(1≤𝑛≤105)n(1≤n≤105)每行输出一个样例的结果,如果𝑛n不能由完美回文数累加得到,输出0。
2024-10-27 22:09:20 131
原创 xtu oj逆序数
给你一个序列x1,x2,…,xn,如果数对< xi,xj >,其中i< j,而xi> xj我们称之为逆序数对。一个序列的逆序数对的数目,称为这个序列的逆序数。比如说序列 3 1 2 ,逆序数对为 <3,1>和<3,2>,所以这个序列的逆序数为2。现在给你一个数字序列,请求其逆序数。每个样例为两行,第一行为一个整数n(n≤1,000),表示序列中数字的个数,如果n为0,则表示输入结束,不需要处理。第二行是n个整数xi,0≤xi≤100,000。输入数据保证序列中没有相同整数。每行输出一个整数,表示其序列数。
2024-10-27 22:00:49 250
原创 变量和基本类型
为了支持分离式编译,C++将声明和定义区分开。声明使得名字为程序所知。定义负责创建与名字关联的实体。只声明而不定义: 在变量名前添加关键字 extern,如extern int i;。但如果包含了初始值,就变成了定义:extern double pi = 3.14;变量只能被定义一次,但是可以多次声明。定义只出现在一个文件中,其他文件使用该变量时需要对其声明。赋值语句永远改变的是左侧的对象。void*指针可以存放任意对象的地址。因无类型,仅操作内存空间,对所存对象无法访问。
2024-10-19 22:14:22 633
原创 第一章 开始
1、如果每次读入一个字符都直接处理,由于从磁盘文件中读取一个字符需要大量硬件活动,在读取量较大时,这是很耗时间的(硬盘的读写速度远小于内存和CPU)。:类的类型一般存储在头文件中,标准库的头文件使用<>,非标准库的头文件使用""。(manipulator)的特殊值,效果是结束当前行,并将设备关联的缓冲区(buffer)中的内容刷到设备中。输入多个字符串时,忽略任何前导的空白符(空格,制表符,换行),从字符开始读取,遇到下一个空白符就停止读取。记住>>和<<返回的结果都是左操作数,也就是输入流和输出流本身。
2024-10-19 21:52:17 282
原创 命令行程序简介
而有的编程语言,如 Shell、JavaScript、Python、PHP等,需要一边执行一边翻译,不会生成任何可执行文件,用户必须拿到源码才能运行程序。我们平时所说的 Shell,有时候是指连接用户和内核的这个程序,有时候又是指 Shell 编程。定义:Windows Terminal是微软的新终端应用程序,它提供了一个集成的环境,支持CMD、PowerShell和WSL。图形界面和命令行要达到的目的是一样的,都是让用户控制计算机都,需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行。
2024-07-19 15:33:13 376
原创 linux及vim基础命令
linux系统组成:内核kernel,shell,文件系统,应用程序shell:用户界面,外部命令和内部命令ls:显示所有文件cdpwd:显示文件路径mkdir:创建文件cp:拷贝rm:删除sudo安装软件:APT管理软件(高级包管理工具)Dpkg查看硬件命令:系统:uname -a//内核操作系统cpulspcpuLshw 详细硬件知识Free -h (内存使用)df -h磁盘分区使用情况。
2024-07-19 15:21:42 386
原创 leetcode 142 环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,返回链表开始入环的第一个节点。来表示链表尾连接到链表中的位置(,仅仅是为了标识链表的实际情况。返回索引为 1 的链表节点。返回索引为 0 的链表节点。给定一个链表的头节点。如果链表无环,则返回。,则在该链表中没有环。
2024-04-29 20:39:54 312
原创 leetcode 86 分隔链表
设置两个链表双指针分别存放小于x及大于等于x的结点,每个链表设置头结点和可遍历指向尾部的指针,设置指针遍历原始链表,判断所指向的值和指定值的大小,分别放入2个结点的后面,得到2个子链表后连接在一起。注意:每次放入分链表一个结点后要断开原链表的next结点,避免形成环。两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。
2024-04-29 00:27:41 289
原创 leetcode 21. 合并两个有序链表
分别遍历两个分链表,通过循环比较2指针的值,将较小的接入合并的链表p的后面,直到ptr1或者ptr2中任意一个为空时结束循环,将不为空的链表直接接入其后。新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。
2024-04-29 00:11:06 471
原创 AcWing 798. 差分矩阵
输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。
2024-03-18 20:52:34 396
原创 AcWing 797. 差分
输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r]之间的每个数加上 c。请你输出进行完所有操作后的序列。
2024-03-18 20:46:45 484
原创 AcWing 796. 子矩阵的和
输入一个 n行 m 列的整数矩阵,再输入 q� 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。
2024-03-18 20:40:16 467
原创 AcWing 795. 前缀和
输入一个长度为 n 的整数序列。接下来再输入 m个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l个数到第 r 个数的和。
2024-03-18 20:33:10 470
原创 AcWing 794. 高精度除法
int t = 0;//记录上一位的余数i++)//除法去除前置0int i = 0;if (c[i]!= 0)break;elsei++;j<c.size();int b;return 0;
2024-03-18 20:29:28 344
原创 AcWing 789. 数的范围 -二分法
给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 00 开始计数)。如果数组中不存在该元素,则返回-1 -1。
2024-03-12 20:25:15 366
原创 快速排序思路代码
再数组中取中间位置的值为比较的基准值,用2变量做指针分别从数组左右遍历数组,使得基准值左边是数小于等于基准数,右边的数大于基准数,分别向左右2边递归排序,终止条件是递归后仅有单个数即(l==r)基准值用q[l]超时(不清楚原因)
2024-03-09 16:48:35 420
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人