自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 收藏
  • 关注

原创 XTU-OJ 1394-单调

n=∑ki=0ai⋅bi,b≥2,如果i>0时,ai>ai−1,那么我们称这个数n是在b进制下是单调的。比如6,在3进制下为20(3),所以6在3进制下是单调的。现在已知n,求最小的基b,使得n是单调的。第一行是一个整数T(1≤T≤10000),表示样例的个数。每行一个整数n,2≤n≤109。依次每行输出一个样例的结果。

2023-11-06 20:24:07 538

原创 XTU-OJ 1377-Factorization

0 ,即 prime[j] 是一个新的质因数时,vis++, (例如:i = 3 时,vis[3*2] = vis[3] = 1, 如果没有break掉,说明 i 以前没有2这个质因数,而这里 又有 i = 3*2,所以 vis[3*2] 要 ++(加上2这个因数))首先知道,欧筛是一个线性筛,所有数只需要遍历一遍,就能判断出它是否为质数,这里,我们还是把质数标记为1(第13行),因为它本身质因数分解就它自己,所以就是 f(n) = 1。的质因数,所以就令 f(i*n) = f(i)。

2023-11-06 20:01:55 1195

原创 XTU-OJ 1375-Fibonacci

小明非常喜欢Fibonacci数列,数列为 f1=1,f2=2,fn=fn−1+fn−2。小明想知道对于一个整数n,使得n=fi+fj+fk的组合有多少种?比如5=1+1+3 或者 5=1+2+2,有2种。注意 1+2+2 和 2+1+2 被认为是同一种。第一行是一个整数T(1≤T≤1000),表示样例的个数。每个样例是一个整数n(3≤n≤109)。依次每行输出一个样例的结果,为一个整数。

2023-11-06 19:22:39 496

原创 XTU-OJ 1373-Circle

每个样例是两行,每行三个整数,x,y,r(1≤x,y,r≤1000),分别表示一个圆的圆心坐标和半径。依次每行输出一个样例的结果,如果包含输出1,内切输出2,相交输出3,,外切输出4,想离输出5。第一行是一个整数T(1≤T≤1000),表示样例的个数。这就是初高中数学题, 不细讲啦。

2023-11-06 19:17:58 958 3

原创 XTU-OJ 1347-消消乐

4. 定义好两个方向的 左右边界(left、right),如果为相同小球就 left1-- 或 right2 ++,如果最后 right-left >= 2,就说明有三个及以上的相同小球,要给它消掉。输入数据保证是合法的操作。*3. 怎么判断是否要消除小球:就找交换后,连着的小球相同数是否大于等于3,交换后的小球,左边的就向左考虑,右边的向右考虑(这种没有同时向两边考虑的就要多处理一下,11、21行代码,要考虑交换的两个小球是否是一样的)每个样例的每行输出一个操作后彩球的状况,每个样例最后输出一个空行。

2023-11-03 16:26:10 1568

原创 XTU-OJ 1356-Maze

非也,你要想机器人是只会直行和右转的,如果它在一段路上走了个来回,那么它一定是迷路了,会一直陷入这段路中出不来的) 和 flag>4(连续转向四次,四周都是墙)每个样例第一行是三个整数,为n,m(1≤n,m≤100),d(1≤d≤4),n,m表示迷宫的行、列大小, d表示机器人一开始的方向,1∼4依次表示"上右下左"。一个n∗m格子的迷宫,'.'表示道路,'*'表示墙,'S'表示起点,'E'表示终点。一个机器人一开始在起点,如果在它的方向前是道路,每次能往前走一格;请问机器人从起点到终点最少走多少步?

2023-11-03 04:53:40 1319

原创 XTU-OJ 1353-Digit String

小明获得了一些密码的片段,包含0∼9,A∼F 这些字符,他猜这些是某个进制下的一个整数的数码串。小明想知道从2到16进制中,哪些进制下,这个数码串的对应的十进制整数值,等于n?看代码注释(其实不加第一个for循环也可以,直接从2进制查起,等进制转换的时候再处理字符,把它们转换成整数。每行输出一个样例的结果。如果存在多个解,输出最小的那个进制。如果没有满足的进制,输出"Impossible"。存在不超过1000个样例,每行一个样例。每行包括两部分,数码串(串长不超过31),整数n(1≤n≤109)

2023-11-03 04:34:45 1144 2

原创 XTU-OJ 1351-Palindrome

题目已经说了,可以无限次交换任意相邻的字符,那么所有的字符都可以交换到任何一个位置。所以我们就不用考虑 回文串的什么:从左向右读和从右向左读是一样的 性质。就考虑它们能否对称就行了(因为第一个和最后一个、第二个和倒数第二个 肯定是一样的字符啊)给你一个只含有英文小写字母的字符串,你可以无限次交换任意相邻的两个字符,请问是否能将字符串变为回文串。所谓“回文串”,就是字符串从左到右读,和从右到左读是一样的字符串。每行输出一个样例的结果,如果原串可以变成回文串,输出"Yes",否则输出"No"。

2023-11-03 04:29:20 988 2

原创 XTU-OJ 1336-Perfect Palindrome Number

一个10进制无前导0的整数a,如果a有偶数位,只含有0和1的数码,且从左到右和从右到左读都是一样的,那么我们称其为“完美回文数”。比如,1001,11这些都是完美回文数,而12,1010,1,101这些都不是“完美回文数”。在数据给的 1e5内,只有 11、1001、1111 三个数符合完美回文数的性质,所以只有这三个相加得到的数才是有 >0的解 的n。第一行是样例数T(1≤T≤1000)。以后每行一个样例,为一个整数n(1≤n≤105)每行输出一个样例的结果,如果n不能由完美回文数累加得到,输出0。

2023-11-03 04:22:45 1326

原创 XTU-OJ 1334-Least Common Multiple

那三个也是一样,先找到前两个数的最小公倍数,然后再拿该最小公倍数和第三个数匹配,找它们之间的最小公倍数。至于哪一个是最小的,我们暴力循环查找一遍就知道啦。每个样例的第一行是一个整数n(3≤n≤50),表示集合元素的个数。每个样例的第二行是n个整数a1,a2,…,an,1≤ai≤106。一个集合,任取3个不同的元素,求其最小公倍数中最小的值是多少?第二个样例,最小的公倍数为lcm(3,5,15)=15。第一个样例,最小的公倍数为lcm(2,3,5)=30。第一个样例,最小的公倍数为lcm(1,2,4)=4。

2023-11-03 04:12:47 820

原创 XTU-OJ 1329-连分式

连分式是形如下面的分式,已知a,b和迭代的次数n,求连分式的值。ab+ab+ab+⋯。

2023-11-03 03:59:28 667

原创 XTU-OJ 1275-Exam Schedule

Eric每次考试最头痛的就是安排考试时间,需要找合适的空闲时间安排考试真的是件很费神的事情。Eric希望你能帮他算一下能哪些时间可以考试,当然Eric并不想周末进行考试,所以你只需要计算周1到周5的时间就可以了。我们假设每天有11节课的时间,上午1到4节,下午5-8节,晚上9-11节。Eric已经拿到了参加考试的班级的课表,以及考试需要的时长。注意:考试只能安排在上午、下午、晚上时段,不能跨区间。

2023-10-30 16:28:23 854

原创 XTU-OJ 1279-Dual Prime

先用素数筛 找到范围内的所有素数, 然后遍历素数集合,得到 Dual Prime(双素数),最后前缀和相加,得到双素数 前缀和数组。如果一个合数x=p⋅q,p,q是素数且p≠q,我们称x是双素数。现给你一个区间[a,b],求区间内的的双素数个数。第一行是一个整数T(1≤T≤30000),为样例的数目。以后每行一个样例,为两个整数a,b(1≤a≤b≤106)素数筛法 + 遍历 + 前缀和。依次每行输出一个样例的结果。

2023-10-30 11:45:44 980 2

原创 XTU-OJ 1292-Co-string

从输入的字符串中,找到一段子串,要求子串符合co-string的条件,求符合条件的最长字串的长度。那就按题目思路走,从最大的n开始往下找,找到第一个符合条件的直接输出,这时就是最长的长度。如果一个长度为2n的字符串(a1,a2,a3,⋯,a2n),满足ai=ai+n,i=1,2,⋯,n,我们称这样的字符串为"co-string"。现在给你一个只含英文小写字母的字符串,请找出其最长的"co-string"子串的长度。依次,每行输出一个样例的结果,如果不存在"co-string"子串,输出0。

2023-10-30 11:26:57 1067 2

原创 XTU-OJ 1280-String Hash

对一个只含英文小写字母字符串进行Hash,一种比较简单的方法是把字符串看成一个26进制的数,a~z分别表示0~25,获得这个值后对某个素数p取模。但是因为a是0,所以"abc"和"bc"的Hash值肯定是一样的,为了解决这个问题,我们假定在字符串前加入字符b(即26进制数最高位为1)比如p=11,字符串"abc",相当于26进制数"1012",所以对应的十进制数为17604,所以哈希值为4。我们假定p=1000000007,请将给定的字符串给出对应的hash值。每行输出一个样例的结果。

2023-10-30 11:12:13 717

原创 XTU-OJ 1273-Set

每行输出一个样例的结果,如果可以使得元素全部相等输出"Yes",否则输出"No"能实现题目要求的,一定满足以下条件(这次不解释了,上上强度,但是一点也不难)第二行是{ai|i=1,2,⋯n},0≤ai≤1,000,000,000。3:元素种类等于4的,较小的两个数的差值,一定等于,较大的两个数的差值。对于包含整数多值集合A={a1,a2,⋯,an},执行以下两步操作。每个样例的第一行是一个整数n(1≤n≤100,000)。第一行是一个整数K(1≤K≤100),表示样例的个数。请问能否使得A的元素全部相等?

2023-10-30 11:01:02 1424 4

原创 XTU-OJ 1272-Robot

一个L指令,机器人就左移一格,一个R指令,机器人就右移一个。这是不是很简单,就是 L指令数 = R指令数, U指令数 = D指令数(左右抵消,上下抵消。机器人一开始站在原点,可以上下左右(分别用“UDLR”表示)移动,每次移动一步。Estrella想知道对于某个指令序列,如果把某一种指令全部替换成另一种指令,新的指令序列可以让机器人回到原点。知道如何回到原点,现在只是多加了个条件:把其中一个指令,更改为另一个指令。存在多个样例,每个样例一行,为一条指令序列,长度不超过200。

2023-10-30 10:47:38 1055

原创 XTU-OJ 1282-Harmonic Porgression

第一行是一个整数T(1≤T≤1100),表示样例的个数。每个样例占一行,为两个整数a,b(2≤a≤b≤100,b−a≤10)在数学知识上,相信大家应该都没问题。所以只要会写 gcd() 和 注意数据范围,就能很轻松的过了,就不详细讲了。,结果请使用分数表示,并保证分子与分母互质。每行输出一个样例的结果,格式为“分子/分母”

2023-10-30 10:35:44 1524 7

原创 XTU-OJ 1247-Robb‘s Problem

例如num[0][1] = 1代表 0!第一位数是1,num[2][1] = 2 代表 2!第一位数是2 , num[4][1] = 4、num[4][2] = 2 代表 4!第一位数是4、第二位数是2。思想,一个二维数组中,一列不再存1位数,而是4位数,甚至更多,这样就能很大的节省空间。减少循环量的同时,也是在减少计算量。一种简单的方法就是,用二维数组存下该阶乘的计算结果,一列存一位数,容易理解,但这样就需要耗费很大的空间。每行一个样例,为2个整数n,m,0≤n≤1000,1≤m≤log10n!

2023-10-28 05:52:24 1285 3

原创 XTU-OJ 1248-Alice and Bob

现在给你Alice和Bob投掷骰子的情况,判断一下胜负情况。

2023-10-28 05:32:34 1467 5

原创 XTU-OJ 1253-Robot

有N个任务需要Robot去完成,这个N个任务的地点在一个数轴上,坐标为1到n。每个任务需要先完成ai个任务才能开始去做。Robot可以在直线上左右移动,初始位置位于任务1的地点,方向朝向数轴正方向。请问Robot最少转换多少次方向可以完成所有的任务。

2023-10-28 05:26:33 1069

原创 XTU-OJ 1258-矩阵

编写一个程序,将1~n2按行依次填入n×n的矩阵,执行若干条行或者列的循环移动的指令,再将数字按行依次取出。

2023-10-28 05:18:11 891

原创 XTU-OJ 1268-鞍点

给一个矩阵An×m,其元素aij我们称其为鞍点,则满足它是第i行里最大值且第j列里最小值或者第i行里最小值且第j列里最大值。逐行逐列的考虑,在每一行时,找到该行的最大、最小值,然后判断最大值在此列中是否是最小值、 判断最小值在此列中是否是最大值。如果存在鞍点,则先输出一行,鞍点个数,。注意第 52 行,有个判断 最大值和最小值是否相等的,如果相等,要直接continue掉,因为可能会重复记录。最后计算,同一位置上的数,即使最大值又是最小值,则即为鞍点。最小值记1,最大值记2,两个相等记3。

2023-10-28 05:13:28 1176 3

原创 XTU-OJ 1255-勾股数

第一行是一个整数K,表示样例的个数。以后每行一个样例,为两个整数x,y,(1≤x,y≤10000)。每行输出一个样例的结果。如果不能构成勾股数,输出“None”,如果存在多个,输出最小的那个。利用 整型变量 除法向下取整 和 开方函数sqrt() 前后验证求解。勾股数是指满足a2+b2=c2的正整数,比如最有名的“勾三股四弦五”。现在给你两个正整数,请问是否存在另外一个正整数,使其成为“勾股数”?

2023-10-28 04:57:58 592

原创 XTU-OJ 1227-Robot

每个样例的第一行是一个整数N(1≤N≤1,000),表示指令的条数。以后的N行,每行一条指令。假设在一个XOY坐标的平面上,机器人一开始位于原点,面向Y轴正方向。机器人可以执行向左转,向右转,向后转,前进四个指令。用一个二维数组,储存(x,y) 坐标在每个方向(y轴正方向, x轴正方向,y轴负方向,x轴负方向) 的运算代值。然后利用 0,1,2,3分别代表 正向上、正向右、正向下、正向左的方向 (与数组的下标及储存值对应)。最后机器人要前进的时候,直接根据它所正对的方向,结合数组代值计算即可。

2023-10-26 04:59:47 3884 3

原创 XTU-OJ 1221-Binary

这里最需要注意的是,n的取值范围(这里也有考验你对 int 的取值范围的熟悉程度), 要知道 int 是4字节字符,一字节有八比特,所以有 32个比特,一个比特就是一个 0/1, 所以 一个int 由 长为32的 0/1串 表示,那么int的最大值是多少?这些问题都碰见很多次了,相信大家都有了一定的解题方法。比如,7的二进制为111,所以最长连续1数码的长度为3;13的二进制为1101,所以最长连续1数码的长度为2.给你一个非负整数n(0≤n≤232-1),求其二进制里面最长连续1数码的长度。

2023-10-26 04:38:36 992

原创 XTU-OJ 1214-A+B IV

小明喜欢做a+b的算术,但是他经常忘记把末位对齐,再进行加,所以,经常会算错。比如12+13,他把12左移了1位,结果变成了133。计算 A + B,A*10相当于 A左移一位, B*10相当于 A右移一位,以此类推,最后相加时的和能与题目给的一样,乘了多少个10,就是移了多少位。每行输出一个样例的结果,以b为标准,a如果往左移n位,输出n,如果往右移n位,输出-n。测试数据保证一定有解,如果存在多个解,输出左移的结果。以后每行一个样例,形如a+b=c, 1≤a,b≤1e4;

2023-10-26 04:30:58 839

原创 XTU-OJ 1191-Magic

6174是一个神奇的数字,你将一个4位数n(只要这4位数码不完全一样)所有数码按升序和降序分别得到A和B,取n=B-A,如果n不为6174的话,继续迭代上面的过程,直到n为6174。每行一个4位整数n,并且n的所有数码不完全相同。如果n=0表示输入结束,不需要处理。本题就是单纯的模拟题,详细请看代码,就不过多赘述了。请问需要迭代多少次才能达到6174?每行输出一个样例的结果。

2023-10-26 04:25:51 1102

原创 XTU-OJ 1187-Candy

WCB某天买了非常多的糖果并把它们分成N份,依次分别有1,2,3…,N个糖果。他想拿出其中的3份分给他的室友, 为了不让室友们闹意见,必须让这三份的糖果总数恰好能被三人均分。请问他一共有多少种不同的组合方案数?

2023-10-26 04:19:46 1663 3

原创 XTU-OJ 1178-Rectangle

每个样例占两行,每行是4个整数,表示一个矩形的对角线点的坐标,坐标值为0到1,000之间。3:如果 (c1,d1) 在对角线为 (a1,b1) 、(a2,b2) 的 矩形的内部,那么这两个矩形就是相交的,反之不然。2:把两个对角线的坐标大小排好序,让 (a1,b1) 是 最左下的点。1:把两个矩形的对角线都化成,左下—右上的对角线 (代码 23、24 行)给你两个平行于坐标轴的矩形,请判断两者是不是相交(面积有重合的部分)?每个样例输出一个结果,相交输出Yes,否则输出No。

2023-10-26 04:12:12 1150 5

原创 XTU-OJ 1172-因子和

质因数之和就等于 (a^0 + a^1 +····+ a^x) * (b^0 + b^1 +····+ b^x) * (c^0 + c^1 +····+ c^x) * ·····。一眼看见数据 n 最大能到 1e8,用暴力不知道是否会超时,这里就继续沿用 质因数分解 的思路来求解。任何数都可以分解成质因数的乘积: n = a^x * b^y * c^z * ·····每行一个整数n,1≤n≤100,000,000。如果n为0表示输入结束,不需要处理。给一个正整数n,请求n所有因子的累加和。

2023-10-25 01:28:59 1412 2

原创 XTU-OJ 1171-coins

一模一样的思路,点击超链接跳转到1131题解有较详细的解释,这里就不赘述了。(以后遇到这类问题首先考虑用递推、数学归纳法 来归纳求解)每行一个正整数n,n≤40。如果n为0,表示输入结束,不需要处理。一个均质硬币抛n次,求不存在连续2次为正面的方案数。本题就是用递推的方法求解。每行输出一个结果,为一个整数。

2023-10-25 01:07:47 954

原创 XTU-OJ 1170-ICPC

但是如果选择 边输入变统计的话,用的是 %c,而此时 scanf(" %c"), %c前面要空一个 空格, 这是为了让 scanf读入你的 换行或空格操作。现在给你三个人的每个知识点的水平情况,请计算一下这个队伍的水平。每个样例的第一行是一个整数N(3≤N≤100),表示所有知识点的个数。水平用A到E表示,一共5级,A最强,E最弱,依次递减。每个样例输出两行,第一行为一个字符串,一个队伍的各个知识点的水平情况。第二行是5个整数,表示5个级别知识点的个数,每个整数之间有一个空格。

2023-10-25 01:00:13 1001 2

原创 XTU-OJ 1150-n!进制

因为普通p进制的算法是 n = an*p^n + an-1*p^n-1 +·····+ a1*p + a0*1。进制 n = an*(n+1)!一个是指数求和的逆运算,一个是乘法求和的逆运算。但是注意,这个题又和普通的 p 进制转换不一样,普通 p 进制转换的方法: ai = n%p , n/=p。进制是指每i位的权值是(i+1)!使得 n(十进制) = an an-1 ······ a1 a0(p进制).每行一个10进制的整数n,0≤n≤3,628,799。

2023-10-25 00:39:49 1143

原创 XTU-OJ 1162-奇偶校验

1 Byte = 8bit ,默认的情况下 1 Byte = a7a6a5a4a3a2a1a0 = 00000000,(第8行)a7 存储奇偶校验位,a6~a0为奇偶校验位。对于一个BYTE(8BIT),我们使用0~6bit来存储数据,称为奇偶校验位,第7位存储奇偶校验位。如果数据位有偶数个1,那么第7位为0,否则为1。所以,先将 整数n 转化成 二进制数,统计 a6~a0 数字1的个数,然后与 a7 比较,题目可解。每行一个整数n(0≤n≤255),如果n为-1,表示输入结束,这个样例不需要处理。

2023-10-25 00:02:44 1285

原创 XTU-OJ 1075-求最小公倍数

各位程序员们 1024节 快乐!有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。如果x与y都为0,则输入结束。每行输出一个测试用例的结果,即x与y的最小公倍数。(最后一行有回车)

2023-10-24 23:16:09 417

原创 XTU-OJ 1215-A+B V

模拟手算加法,个位和个位对齐,十位和十位对齐......;先算“突出”来那一部分的,然后算需要 两两相加 的部分,这时就把 相加和 模10(取消进位),两步完成,直接交题。小明很喜欢做a+b,他但经常忘记进位,所以他算88+12=90,而不是100。现在你给了小明一些a+b的算式,请问他算出来会是什么?第一行是一个整数K,表示样例的个数。每个样例占一行,为两个整数a,b,0≤a,b≤1e9。每行输出一个样例的结果,不要输出前导0。

2023-10-19 14:46:09 1047 1

原创 XTU-OJ 1108-a+b

今天中午和小班的养辅碰到聊天说,有个别几个题讲的太快了,一些概念想法没理解到。题解我都是尽量用白话的形式写的,有些难懂的可能一下说不明白。还是那句话,欢迎大家评论留言,我都会尽量回复的。请计算a+b,但a和b是按不同的进制给出的。进制最小为2进制,最大为62进制,其中使用A-Z依次表示10到35,a-z表示36-61。请写出a+b的结果,结果按十进制输出。输入 第一行是一个整数N,表示有多少个测试样例,以后每行是一个样例,每行是4个部分,分别为a的值,a的进制,b的值,b的进制。

2023-10-19 14:34:34 655

原创 XTU-OJ 1141-平衡三进制2

当 x%3 == 0/1 时,就是普通的三进制,当 x%3 == 2时,记住我们要干嘛?在10进制中,当进行减法运算时,如果个位不够减时,我们会从十位借个1出来,这个1的值就是10。,当 当前位 为2时 加一 后需要进位,比如 12 + 1 = 13,3要进位,所以 12 + 1 = 20。先主动进一位,同时在本位减去一个1,这样就能表示2啦(主动进1就相当于+3,然后本位减1,+3-1就等于2)。)这就么一进位,然后再 减1,一加一减,就实现了 2 的表示。要做这题的平衡三进制,要先熟悉 普通的三进制。

2023-10-18 19:11:52 1127

原创 XTU-OJ 1328-数码和

按步骤来,先把十进制数 n 转换成 2->16 进制的数的 数码和。(n最大是 1e9,数码和最大也就100以内,我这里随便开了个长度 135,需要严谨点的可以自己去估一下)。记录出现的最大次数。一个10进制数n在2∼16进制下可以得到的不同的数码和,求在这些数码和中出现次数最多的数码和。每行先输出这个数码和的值,然后按进制的顺序输出出现这个数码和的进制,每个值之间用一个空格隔开。然后,按数码和值的升序依次输出最多次的数码和,每行输出一种。依次输出各样例的结果,每个样例输出的第一行是最多的次数。

2023-10-18 18:29:20 1013

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除