![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 51
AlexCookie
感谢互联网,让我在知识的海洋遨游,感谢广大网友,把所学知识分享,咱们一起进步!博主主分享:算法,计算机方向。
展开
-
【python蓝桥杯】等腰三角形
核心思路:1.将所有数以字符串保存在列表2.将各个数拆成单个字符3.一行一行填充(其中尾行单独填充)4.列表再转化为字符串,统一输出格式详细思路在代码注释:原创 2022-12-04 12:42:58 · 1690 阅读 · 2 评论 -
迷宫-蓝桥云课,python实现
X 星球的一处迷宫游乐场建在某个小山坡上。它是由 10 \times 1010×10 相互连通的小房间组成的。开始的时候,直升机把 100100 名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。X 星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。房间的地板上写着一个很大的字母。flag = [0, 4, 5, 8, 93, 99]即为能走出的位置。请你计算一下,最后,有多少玩家会走出迷宫,而不是在里边兜圈子?原创 2022-11-29 17:09:59 · 1128 阅读 · 0 评论 -
因数平方和,python蓝桥杯2022年第十三届省赛真题
【代码】因数平方和,python蓝桥杯2022年第十三届省赛真题。原创 2022-11-28 13:10:42 · 1141 阅读 · 1 评论 -
质因数个数,蓝桥杯研究生Python组
这样就不必要判断质数,因为遍历到的数一定是质数,如8,肯定在4之前就被2整除了,而2是最小约分一定是质数。#细节396 / 2 = 198 / 2 = 99 /3 = 33 / 3 = 11。然后ll = [2,2,3,3,11],再list(set(ll))得[2,3,11]#无论什么,只要大于等于2的实数,不关注1的情况下,最后都是质数相乘的形式。即有数值396,将其化为最小的约分相乘即2*2*3*3*11再保存到一个列表。原创 2022-11-27 21:07:42 · 1170 阅读 · 0 评论 -
数的拆分,python实现蓝桥杯2022年第十三届省赛真题
如99,约数有3、3、11,保存在mm中得mm = [3,3,11],然后有个列表kk = [3,11],具体操作kk=list(set(mm))#则说明mm.count[kk[0]] = mm.count[3]= 2,mm.count[kk[1]] = mm.count[11] = 1,#这里种类为2和1都行,如8=2*2*2,其约数种类是1即只有2,但其显然可以2*2*2*1*1,#情况这样考虑:如有8、72这两个数,则考虑 2^3 * 1^2,8*9 = 2*2*2*3*3。原创 2022-11-26 11:21:00 · 981 阅读 · 2 评论 -
不下降子序列,python省赛真题
开始比较,一直当前元素与上一个元素比较如[1, 4, 2, 8, 5],则1和4比较,4和2比较...当然:#如果剩下序列少于当前最长序列,则退出,说明就算剩下全是不下降序列也不能更新答案,没有继续的必要。#调整后,是与上一个数相等,如4和2比较后,2小于4,则调整2为4即[1, 4, 4, 8, 5],#由于此时,调整后与上一个key值一样,其实这条语句可以删掉,这为了更好理解。#不满足条件,且k次调整机会没有了,以i开始的一轮结束,退出。#让当前值,更新为下一个值比较的key值。原创 2022-11-25 18:47:59 · 209 阅读 · 0 评论 -
最优清零方案,python,蓝桥杯2022年第十三届省赛真题
如样例:[1,2,3,4] -->[0,1,3,4] -->[0,0,2,4]-->[0,0,1,3]-->[0,0,0,2]首先肯定选择2方案较快:选择连续 K 个大于 0 的整数,将它们各减去 1。由于经过了排序,所以只需要最后再判断一下最后一位数,是否有剩余就行了,即选择1方案:选择一个大于 0 的整数,将它减去 1;2. 选择连续 K 个大于 0 的整数,将它们各减去 1。由于是最优的方案,所以先将列表进行从小到大排序,1. 选择一个大于 0 的整数,将它减去 1;原创 2022-11-25 16:32:23 · 1063 阅读 · 1 评论 -
python蓝桥杯省赛真题,不下降子序列
最优不下降子序列,python蓝桥杯省赛真题原创 2022-11-25 14:56:46 · 130 阅读 · 1 评论 -
Python A 组 G 题,全排列的价值 (AC)
--其中f为全排列的价值,易知f(1) = 0,作为初始条件得到f(n) = f(2) = f(1)*2 + 2*1/2*g(1) = 1。---g(n-1):为(n-1)!原创 2022-11-24 21:01:19 · 388 阅读 · 0 评论 -
省赛真题-重新排序,蓝桥杯2022年第十三届
#num数组保存的是标记,如是[1,3]则num标记[0,1,0,0,-1,0],再进行[2,5],num=[0,1,1,0,-1,0],两轮走完后:num = [0, 1, 1, 0, -1, 0]#两轮合一,初始num=[0,1,1,0,-1,0],此时num[i] = num[i-1],使num=[0,1,1+1,0+2,-1+2,0+1]=[0,1,2,2,1,1]#同理[2,5],num=[0,0,1,0,0,0],运行后:num = [0,0,1,1,1,1]#实际上等于一个循环。原创 2022-11-23 13:49:17 · 664 阅读 · 0 评论 -
python,算法训练 分解质因数
2.如果这个[a,b]中值本身就是素数,说明不能被1和本身以外的数约,直接返回本身,即7=7。dfs(8/2)=dfs(4),即8 = 2*4,4 = 2*2,即8 = 2*2*2。1.先用一个数组将不大于b的所有质数保存如[3,10],数组为[2,3,5,7]4.如果是约数,则再考虑经过最小约数后的值,是否还可以再约数,是就再进行约。3.再写一个dfs函数,判断质数数组中的元素是否为[a,b]中值的约数。详情在后面代码中的注释,尽量细致的注释上去了。原创 2022-11-21 21:05:22 · 2247 阅读 · 0 评论 -
重复字符串【第十一届】【决赛】【研究生组】
如有abc bba adc 则在第一轮中f['a'] = 2,f['b'] = 1,第二轮中f['b'] = 2,f['d'] = 1,第三轮中f['c'] = 2,f['a'] = 1。#如有abc bba adc 则在第一轮中f['a'] = 2,f['b'] = 1,第二轮中f['b'] = 2,f['d'] = 1,第三轮。#把字符串分成k个长为lenth/k的串,并保存每个串的起始下标,如样例分成2个长为3的串。#建立一个标志数组初始为0,统计每个字串包含的字符种类,以及各个种类的数量,原创 2022-11-18 16:48:45 · 254 阅读 · 0 评论 -
python,循环小数【第十一届】【决赛】【研究生组】
有summ = 0.142857142857142857,说明分子和分母相除可以得到结果,只需要获取最简化的分子分母,即为最后结果。#构造一个和循环部分一样长的值,利用任意整数除以与这个整数位数相同且全由9组成的数,就能得到一个循环小数。#此时有:summ = m1/pow(10,p-1) + m2/t/pow(10,p-1)#由于要得到分子分母,先通分将m1和m2的分子分母之和分别用b,c表示。#然后分子,分母同时除最大公约数,即为最简分子,分母,并打印。#辗转相除法,求解分子分母的最大公约数。原创 2022-11-17 19:21:55 · 478 阅读 · 0 评论 -
python,修改数组【第十届】【省赛】【研究生组】
直接返回原值后arr[0] = 2,然后f[arr[0]] = find(arr[0] + 1),即f[2] = find(3),由于此时find(3)还没有,故式子其实是f[2] = 3,此时的索引从2变为3,这个3就是表示下一个数的索引位置。这表示下一次找2会直接索引到3。且此时f[2] = 3。arr[2],即:1再进来,比对f[arr[1]] == 1即看f[1] == 1,发现不一样则说明是多次进,则执行f[x] = find(f[x])即得f[1] = find(f[1])原创 2022-11-14 10:21:55 · 696 阅读 · 0 评论 -
python,字典修改key键值
python,字典修改key键值。原创 2022-11-12 23:01:08 · 1610 阅读 · 0 评论 -
python,成绩分析【第十一届】【省赛】【研究生组】
典型的对,python中容器(如列表,集合,字典,元组)的操作函数的sum(),max(),min()的使用。原创 2022-11-12 22:41:33 · 152 阅读 · 0 评论 -
python,回文日期【第十一届】【省赛】【研究生组】
1.将列表日期,转为为数值型数据,如x = [2,0,2,0,0,2,0,2] 转化为一个值为20200202的整数2.再进行数值大小的比较,确保选择的日期大于初始输入的日期(这里不能等于,因为要保证的是下一个回文日期),例如20211212 大于 20200202 显然成立,而20200201和20200202一个小于20200202一个又相等了,都不行3.在满足日期往后选择的基础上,筛选出回文日期。4.在筛选回文日期的途中,让上一个最小回文日期的值和当前比较,如果这个回文日期小于上一个,就更原创 2022-11-12 17:15:06 · 308 阅读 · 0 评论 -
python,子串分值和【第十一届】【省赛】【研究生组】
python,子串分值和【第十一届】【省赛】【研究生组】# 所以向左最多延伸到 'd',即下标 0;向右最多能延伸到 'b',即下标 2;# 因此第一个a存在的f值为:(1 - 0) * ( 2 - 1 + 1) = 2。#类似的第二个a存在的f值为:(3 - 1) * ( 5 - 3 + 1) = 6。# 第一个 'a' 的下标为 1,第二个 'a' 的下标为 3;# 以样例 dababc 为例,求第 2 个 'a' 的贡献度。转载 2022-11-11 00:41:38 · 310 阅读 · 0 评论 -
python实现历届真题 作物杂交【第十一届】【省赛】【研究生组】
蓝桥杯官网 试题 PREV-230 历届真题 作物杂交【第十一届】【决赛】【研究生组】【C++】【C】【Java】【Python】四种解法_mb618d1c8a55b34的技术博客_51CTO博客。转载 2022-11-10 14:11:00 · 289 阅读 · 0 评论 -
python,满分,砝码称重【第十二届】【省赛】【研究生组】
其中输入考虑1时,有dp[1][1] = dp[1 - 1][abs(1 - w[0])] = dp[1 - 1][abs(1 - 1)]= dp[0][0] = 1。其中输入考虑4时,有dp[2][4] = dp[2 - 1][abs(4 - w[1])] = dp[2 - 1][abs(4 - 4)]= dp[1][0] = 1。2.dp[i-1][abs(j-w[i-1])] or \#是重了吗?一、特别是第2个条件dp[i-1][abs(j-w[i-1])] 中的abs(j-w[i-1]),原创 2022-11-05 22:22:57 · 729 阅读 · 1 评论 -
Python实现,历届真题 异或数列【第十二届】【省赛】【研究生组】
历届真题 异或数列【第十二届】处理特殊情况 如1 0 或者 4 0 0 0 0等,则A,B都无法改变,直接equal。#最高位只有一个1,或者最高位1的数量为奇数且总的数量为奇数,则A先手,A win。#最高位1的数量为奇数且总的数量为偶数,则B后手,B win。#构建一个计数数组,方便后面看1的奇数、偶数。#最大的数,的二进制位数长度。#各二进制位上1的数量全是偶数,equal。#统计所有数的二进制对应位数的1的个数。#拆分出每一组查询数,分开处理。编码思路:(原代码在最后)#寻找1的数量为奇数的最高位。原创 2022-11-05 13:23:33 · 833 阅读 · 0 评论 -
python,双向排序【第十二届】【省赛】【研究生组】60 score,
【代码】python,60 score,双向排序【第十二届】【省赛】【研究生组】原创 2022-11-03 23:06:56 · 337 阅读 · 0 评论