Python解题
文章平均质量分 94
以初学者的视角、野路子的方法解读各种有趣谜题,希望能帮到你,共同进步!
请叫我问哥
乱拳打死老师傅
展开
-
CSDN周赛68期简要题解
有点纠结。一开始选择错误,直到看到原文中一句话:“我们可以将上面一组数字(指上文脉冲编码)做一个的变换(指后文增量编码)”,所以增量编码是无损的。此外该章节也提到 “取对数编码” “符合语音信息和图像信息的特点”,以及 “语音质量的差别几乎听不出来”,所以综合起来,感觉题干中 “近乎无损” 的说法应该是正确的,于是在交卷前改了答案。不难,MP3 / MP4 / JPG 都是影、音、像文件格式,根据原文的意思,必然用到压缩,而文本文件 TXT 在本节压根就没被提到。第二题的 “高频采样” 也是一样没提到过。原创 2023-08-03 11:40:52 · 393 阅读 · 0 评论 -
CSDN周赛66期图文题解 - 路灯亮度 & 池塘水量
本期非编程题考察更多是对原书的阅读理解,可能还是因为自己理解不够,翻了半天书,还是错了两道。失之我命,不多废话。本期编程题比较符合我的胃口,有陷阱,有技巧,窃以为是最近不少期里比较有意思的中等难度的题目了。美中不足的是两道题都没有给出数据范围,从而在判断时间复杂度及选择算法上存在一定的迷惑性。原创 2023-07-28 12:31:56 · 465 阅读 · 2 评论 -
CSDN周赛65期简要题解
最近几期周赛里,貌似 Python 又变成 C 站的亲儿子了。输入形式是列表还不过瘾,现在输出形式也要求是列表,而且是连一个逗号、空格、中括号都不能少的 Python 标准列表形式。虽然对 Python 来说是信手拈来,但总要考虑一下其他编程语言选手的感受吧。纵观这么多在线评测网站,同类型的题目至少会要求譬如“按行输出,每行数字之间空格隔开”这样,而像 C 站这样输入输出的格式这么随意的,还真是独一家。长此以往,越来越多的人也不愿意参与了。原创 2023-07-24 15:12:09 · 320 阅读 · 0 评论 -
CSDN周赛64期题解(含部分代码)
计算之魂》主题周赛如期回归。因为差不多每次都是新题,让人多了点期待。相信非编程题无需多言,答案都在书里。——翻书翻得快,满分无障碍。当然,如果提前读过此书就更好了。比如原书中把金块切了 2 刀,问题中扩展了一下,变成切 9 刀,如果提前理解过原书相应章节,套用这个思路模板就可以更快地找出正确答案。(注:答案是废话不多说,着重讲讲编程题。本期貌似只有我全部 AC 了(-_-||)。第一题 - 小球游戏。原创 2023-07-20 18:35:14 · 310 阅读 · 1 评论 -
CSDN周赛62期反馈及简要题解
比如,矩形(0,0, 2, 2)包含了 (0, 0),(0, 1),(1, 0),(1, 1) 这四个点。此处,我们使用曼哈顿距离即可。注意,这个判断不能加在内循环中,因为每走一步(而不是走完一次指令集),机器猫的位置相对上一次,都有可能更近或更远,并没有判断的意义。进一步分析,不难看出, y 的长度,实际上等于两个矩形顶部较矮(小)的那条边的高度,减去矩形底部较高(大)的那条边的高度。然鹅, 输入的八个数字实际上是分行录入的,一行一个数字,共八行,而且除了数字,并没有其他乱七八糟的等号、逗号等字符。原创 2023-07-13 13:39:11 · 523 阅读 · 0 评论 -
CSDN周赛60期简要题解
一转眼,周赛都举办了60期了?还以为可以“寿终正寝”了,结果61期又安排上了。打开一看,还是《计算之魂》主题的周赛,还是这种 4 (非编程) + 2 (编程) 的题型。可能目前就指望着《计算之魂》“主持大局”了,C 站的有生力量全扑在研发、开发各种各样酷炫的功能上去了吧。反正只管挖坑,已存在的问题视而不见,这样能搞好才怪。本期 4 道非选择题全都出自《计算之魂》的第 2 章、第 4 节。该节的标题写得明明白白:”两个字都写进标题了,结果其中一道选择题的答案却是又搁这儿玩文字游戏呢?原创 2023-06-29 18:38:29 · 353 阅读 · 0 评论 -
CSDN周赛59期简要题解
本期题目相对比较友好,而且在比赛报名界面还提示了非编程题考察的章节——诚不欺我:本期非编程题需要选手阅读的章节是”—选择和判断都考到了栈的数据结构,稍微有点基础知识找出正确答案并不难。而填空题也是最简单的二叉树的遍历问题。只不过一开始我还想回答“层序”,但填空后面紧跟着的“优先”二字,提示了我只能二选一,很显然,树的层序遍历就是广度优先遍历,填上“广度”二字即可。原创 2023-06-21 23:46:23 · 483 阅读 · 0 评论 -
CSDN周赛58期后记,及往期题目记录
值得一提的是,Python 字符串的 replace 方法可以指定转换次数,于是对于题目要求的“at”只转换一次,一个函数搞定。而从难度上看,这道“莫名其妙的键盘”反而却是最“难”的了,当然,这个“难”也是相对其他三道入门题而言。当然,丝滑的根本原因是题目比较水,尤其是最后一道“莫名其妙的键盘”,两周前的 56 期刚刚考过,当真是莫名其妙而又迫不及待地又考了一遍,是怕大家背得不够熟吗?虽然自己从第一期开始参加,但是前三期都没有做记录,所以前三期的内容不全,如果有路过知道的朋友可以补充。小鱼的航程(改进版)原创 2023-06-17 20:49:25 · 454 阅读 · 0 评论 -
小议CSDN周赛57期 - 凑数
因为 C 站的机制是,即使它错了,它也不会承认(印象里只承认且改过一次),再争辩只会把你拉黑,甚至限流也有可能,所以只能把我的观点放在博客里,不再专门去反馈了。其中,整数里原本没有的质数,就要加上(乘以),原本多出来的质数,就要减少(除以),最终使得所有数字包含的每个质数的个数都各自相同。虽然本例有点变态(出现了6位质数),但万变不离其宗,用我们前面介绍的方法进行分析,甚至通过肉眼就可以发现,这里有八个偶数,只有两个奇数,很显然将两个奇数乘以 2,要比将八个偶数除以 2,次数更少。原创 2023-06-11 17:53:09 · 829 阅读 · 0 评论 -
CSDN周赛56期 - 八阿哥依旧
之前54期被判作弊,申述无果,反被客服拉黑(水平不够,脾气够够的),让我彻底死心,从此粉转路。各种平台也不止C站一家,确实没有必要一棵树上吊shi。各位如果真心想通过竞赛提高自己的话,实在没必要来C站,整个娱人愚己。我这么说可不是恼羞成怒,看一看最新一期的周赛水平就知道。举办50多期了,半年多了,各种问题依然存在。原创 2023-06-02 14:42:17 · 299 阅读 · 1 评论 -
CSDN周赛55期 - 简单分析
上期周赛被判抄袭了。。。无语。我从第一期周赛一步步走来,所有题我都做过,我还需要抄袭?虽然第一时间去申诉,但貌似并没什么用。算了,C站的审核也就这样了,失望+寒心。本期还是《计算之魂》主题赛——不得不说,该系列比赛的编程题质量都还不错。本期两道编程题,至少对我来说,还是挺难的。前面选择题就不说了,本期问哥特意花了点时间翻书——我就不信找不到答案了。填空题再次出现,一个月后围观打脸。题目描述:从1开始,每次增加1、2或3,有( )种方法可以加到9。原创 2023-05-25 22:44:13 · 993 阅读 · 0 评论 -
CSDN周赛52期及53期浅析
这里面有个特例,就是如果计算下来最大公约数是 0 的话,(0没有公约数,所以不能通过求最大公约数来得到 0,但是只要相邻数字的差是 0,就可以认为该数列最大公差是 0 了),如果首尾数字不相等的话,必然构成不了等差数列,答案是 NaN。但实际上,从给的示例中就可以看出来,当球没有投进时,得分虽然清零了,但给出的数组里并没有记0,而是从下一个投进的球开始计分。得到最大公差后,要计算少了多少数字,就异常简单了:首尾相减,除去公差再加一,就得到这个数列的数字个数,减去给出数列的长度就是答案。原创 2023-05-18 22:58:41 · 561 阅读 · 1 评论 -
CSDN周赛第49期 - 也谈马拉车
C站的周赛已经很久没有新题了,已考过的题目我差不多都写过题解,若再重复写类似的文章,反而会降低博文质量分,而想要换个角度,却又难以找到动笔的欲望。所以虽然比赛发生在五一假期之前,但直到现在五一都过去了,我还没有想好该写什么。本期考题如下:1、隧道逃生 - 28期考过,题解2、小艺照镜子 - 7、31、34期考过3、大整数替换数位 - 37期考过,题解4、清理磁盘空间 - 23期考过,题解可以看到,关于最长回文子串。原创 2023-05-05 12:49:27 · 319 阅读 · 0 评论 -
Python在算法竞赛中的常见小技巧
Python作为目前最炙手可热的编程语言,伴随着人工智能及机器学习的发展,吸引了越来越多的专业或非专业人士。它灵活、优雅、易上手,一旦你习惯了它处女座般对格式(缩进)的要求,就很难再回到满屏花括号的年代。然而作为一款胶水一样的、无需编译的、动态的解释型语言,Python的缺点也是显而易见的——慢。通常情况下,运行速度要比编译型语言慢上3到10倍。使用Python来学习算法也有着它的优点:简洁、清晰、易懂。但目前的环境下似乎并不太适合使用Python参加正规的算法比赛。原创 2023-04-03 16:16:24 · 2523 阅读 · 3 评论 -
Python解题 - CSDN周赛第38期
又来拯救公主了。。。本期四道题还是都考过,而且后面两道问哥在以前写的题解里给出了详细的代码(当然是python版),直接复制粘贴就可以过了——尽管这样显得有失公允,考虑到以后还会出现重复的考题,所以现在问哥的题解基本不会给出完整的代码了。但是如果理解了思路,写出来应该不难。原创 2023-03-20 08:00:00 · 754 阅读 · 1 评论 -
Python解题 - CSDN周赛第37期
本期有新题,但是因为测试数据放水,并不难。而老题也是很容易可以找到答案。总的来说,难度不大,没有需要特别讲解的地方。原创 2023-03-16 16:58:13 · 540 阅读 · 0 评论 -
Python解题 - NOIP2005 青蛙过河
考虑到C站最近的竞赛都在重复以前的旧题,而此题也曾经出现在第9期的比赛里,且有一定难度,很有可能会被再次考到,所以问哥带大家一起复习一遍。另外问哥发现原贴下面的题解基本都是错的,忍不住想啰嗦几句,奉上此贴,带大家吃透这道题。原创 2023-03-15 20:06:59 · 1881 阅读 · 3 评论 -
Python解题 - CSDN周赛第36期
本期有点难度,系统也没有多少bug,算是最近 N 期周赛里质量较高的一期比赛了。原创 2023-03-12 15:08:47 · 380 阅读 · 3 评论 -
Python解题 - CSDN周赛第33期
本期四道题全考过,题解在网上也都搜得到。。。没有想法,顺手水一份题解吧。给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。输入描述:第一行输入整数n。(1原创 2023-03-02 19:50:47 · 584 阅读 · 0 评论 -
Python解题 - CSDN周赛第32期 - 运输石油(三维背包)
某石油公司需要向A、B两地运输石油。两地的需求量不同,而一辆车只能装载一定量的石油。经过计算A地需要a辆车,B地需要b辆车运输才能满足需求。现在一共有n辆车分布在各地,每辆车前往A、B两地运输石油均可以获得一定不等的利润。现在请你安排a辆车前往A地,b辆车前往B地运输石油,使得在满足A、B两地石油需求的前提下,获得最大的利润。每辆车只能前往一地运输石油。原创 2023-02-26 20:13:19 · 1034 阅读 · 3 评论 -
Python解题 - CSDN周赛第30期 - 天然气订单
天然气运输成本昂贵,危险性高,为了节省运输成本,提倡绿色环保,需要尽可能的优化订单配送,比如相同地区的天然气订单可以一次性配送。现需要向多个地区运输天然气。但是同一个地区可能有多个订单需求。当前仅只知道某些成对的订单是同一个地区的,同一个地区的天然气需要尽可能一次性配送从而降低运输成本,所以需要尽可能的将同一个地区的订单放在一起。订单的编号是1到n。原创 2023-02-20 09:00:00 · 881 阅读 · 0 评论 -
Python解题 - CSDN周赛第29期 - 争抢糖豆
小Q与小K都喜欢吃糖豆。 但是糖豆分两种,超甜糖豆和普通糖豆。 现在有w个超甜糖豆和b个普通糖豆。 小Q和小K开始吃糖豆,他们决定谁先吃到超甜糖豆谁就获胜。 小K每次吃的时候会捏碎一颗糖豆。 小Q先吃,小Q想知道自己获胜的概率。 如果两个人都吃不到超甜糖豆小K获胜。原创 2023-02-16 10:00:00 · 1002 阅读 · 2 评论 -
Python解题 - CSDN周赛第28期
小海豚喜欢打游戏,现在它在操纵游戏人物小C逃脱废弃的隧道,逃生装置在小C的前方 X 米远的位置。但是游戏机只有两个按钮:前进和后退,按前进,小C会前进 m 米,按后退,小C会后退 n 米。小海豚必须设法把小C送到逃生装置上,方能逃离隧道,请你帮帮小海豚,告诉它至少要操作多少次,才能通关。原创 2023-02-13 15:24:17 · 1045 阅读 · 0 评论 -
Python解题 - CSDN周赛第26期 - 任务分配
小明手头上有n个问题,每个问题都有一个数值,表示这个问题的难度;正好小明团队有n个人,每个人都有一个数值,表示这个人的能力。现在小明要把这n个问题分配给每个人,要求能力更高的人分配到更高难度的问题。原创 2023-02-06 10:00:00 · 960 阅读 · 0 评论 -
Python解题 - CSDN周赛第25期 - 水池注水
给定n*n水池。 向n*n水池中注水。 每行每列只能注水一个方格。 如果一个方格的四周有两个方格已经被水覆盖,则该方格也会被水覆盖。 小Q想知道自己有多少种方案可以使得自己的水池被完全覆盖。原创 2023-02-04 21:15:52 · 1200 阅读 · 4 评论 -
Python解题 - CSDN周赛第23期 - 树形背包与优化
很明显,本题就是这样一道依赖型背包问题。把要删除的总容量大小 m 看做是“背包”的总体积,而要删除的文件或文件夹就存在着制约关系:如果选择(删除)文件但是保留同文件夹下的其它文件,就不能选择(删除)该文件所在的文件夹;而相应地,如果选择(删除)某文件夹,就不能二次选择(删除)它所包含的文件或文件夹。原创 2023-01-15 19:08:21 · 825 阅读 · 2 评论 -
Python解题 - CSDN周赛第22期 - 取数字
又是大放水的一期,连我都可以10分钟解决战斗了。得益于Python,前面三题5分钟内就pass了,而最后一题也是之前刷过类似的。。。于是相应地,这期的题解也会简短一些。这次的好成绩代表不了实力,但也希望这样的好运气能一直保持。:)原创 2023-01-10 10:00:00 · 505 阅读 · 0 评论 -
Python解题 - CSDN周赛第21期 - 接雨水
给定n个柱面的高度,表示降雨某地n块区域的海拔高度。 计算降雨之后该地最大储水面积。解题的关键在于如何找到这些能够储水的“水坑”,然后将它们的体积加在一起。力扣上也提供了很多题解,问哥这里使用的是模拟的方法(好像没找到和我类似的思路?),模拟“降水”,然后减去左右两边流走的降水,剩下的就是积水了。原创 2023-01-06 10:00:00 · 558 阅读 · 1 评论 -
Python解题 - CSDN周赛第20期 - 逆波兰 / 后缀表达式
逆波兰表达式(Reverse Polish Notation, RPN),也叫后缀表达式,是纪念波兰逻辑学家Jan Lukasiewicz的成就,不知道是不是因为他的名字太难记了,世人使用他的国籍而不是名字来命名。该表达式最大的作用就是让计算机更容易操作人类的数学表达式,也不需使用括号来标记运算的优先级。原创 2023-01-04 10:00:00 · 636 阅读 · 0 评论 -
Python解题 - CSDN周赛第19期 - 醉酒的狱卒
本期题目依然难度不高,可惜状态不佳,未能取得满分,而且解题的思路也没能做到最简,直到赛后才想到还可以有另外的有趣的解法。我想这本身也是比赛的乐趣之一吧,不识庐山真面目,只缘身在此山中。原创 2023-01-02 10:00:00 · 886 阅读 · 2 评论 -
Python解题 - CSDN周赛第18期 - 又见背包
卧床一周,一觉醒来,恍如隔世,做什么事都提不起兴趣,也不知道这算不算后遗症。本期的题目还是比较简单的,也有几道做过的题。最后一道照搬过来的背包题也是比较经典的01背包了,整体感觉没有什么值得说的,于是也就一直没更新。原创 2023-01-01 15:57:21 · 761 阅读 · 0 评论 -
Python解题 - CSDN周赛第17期 - 拯救公主
在Flower Kingdom里,住着一位美丽的公主Ana,有一天Ana得了一种怪病,神医告知国王,在遥远的幽谷中有一种药能治愈Ana, 但是神医只有一份不完整的地图,地图的描述如下: 该地图的共有3行,第一行有m列,m为奇数,第二行有m+1列,第三行有m+2列; 每一行用一个字符串表示,只有【两种字符】;‘.'表示草地,可以从它上面通过,‘*’表示岩石,每一行最多一个‘*’;入口在左上角,由于在对角线方向上,因此即使对角线两边都有岩石,但是缝隙较大,人可以通过,故人可以向八个方向行走; 真实地图是由该地图原创 2022-12-22 17:24:27 · 874 阅读 · 2 评论 -
Python解题 - CSDN周赛第16期 - 流水还是积水?
在n*m的地图上,存在一个喷水点,如果相邻的位置低于有水的地方,水就能流到相邻的某位置(即该格子需要其上下左右的格子海拔都比自身高的封闭图形才可以积水)。已知各个格子的海拔高度,求积水的最大覆盖个格子数。原创 2022-12-19 17:15:53 · 520 阅读 · 0 评论 -
Python解题 - CSDN周赛第15期 - 客栈的咖啡
丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到 n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过 p 。 他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一家最低消费原创 2022-12-15 17:02:45 · 698 阅读 · 0 评论 -
Python解题 - CSDN周赛第14期 - 单词编码
编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码:把一些有规律的单词编成数字。字母表中共有26个字母{a,b,…,z},这些特殊的单词长度不超过6且字母按升序排列。把所有这样的长度相同的单词放在 一起,按字典顺序排列(a...z,ab...az,bc...bz....)一个单词的编码就对应着它在整个序列中的位置。你的任务就是对于所给的单词,求出它的编码,如果没有则输出0。原创 2022-12-12 10:00:00 · 1081 阅读 · 6 评论 -
Python解题 - 硬币的面值
小A有n枚硬币,现在要买一样不超过m元的商品,他不想被找零,同时又不想带太多的硬币,且硬币可以重复,现在已知这n枚硬币的面值,请问最少需要多少枚硬币就能组合成所有可能(即能组合成1-m任意之间的数字)的价格?第一行两个数:n、m。下一行,共n个数字,表示硬币的面值。一行一个数,表示最少需要多少硬币。如果无解请输出“No answer!!!”输入5 311 2 8 4 16输出5。原创 2022-12-08 18:47:52 · 1424 阅读 · 0 评论 -
Python解题 - CSDN周赛第12期 - 蚂蚁的烦恼
于是我们不妨换个思路,假设蚂蚁根据给出的通信关系组成一个个部落,而每个部落又相当于图里的一个节点,所以只需要再添加部落个数减一条边,就可以把节点全连通了,而只要节点之间连通,部落之间也就完全连通了。这时要注意的是,有可能有的蚂蚁不存在通信关系,所以单个蚂蚁就形成了自己的部落,这时也要参与到新的部落个数中来,所以最终的答案就是:部落个数+落单的蚂蚁个数-1原创 2022-12-05 10:01:04 · 773 阅读 · 0 评论 -
Python解题 - 括号上色(递归)
很多题解上来就要开四维数组,在C里也许没问题,但是Python因为开数组的话一定要初始化,四维数组的空间实在是太浪费了。而实际上,完全没有必要开四维数组,甚至连数组都不需要。但是开数组的这个思想代表了动态规划,也是此题解法的突破口,如果能读懂四维数组的解法,那用Python解出此题自然不难。原创 2022-12-04 10:00:00 · 1141 阅读 · 1 评论 -
Python解题 - CSDN周赛第11期 - 圆桌请客(脑筋急转弯)
有N个客人与足够多张的圆桌。主人安排每位客人坐在一个圆桌边,但是每位客人希望自己左右边上分别有一些空座位,不然会觉得害羞。注意,如果一个客人所在的圆桌只有他一个人,那么他左边的空座位数量就是他右边的空座位数量。试问主人需要准备多少个座位,才能让每个客人舒适的坐下。原创 2022-11-29 20:23:37 · 886 阅读 · 0 评论 -
Python解题 - CSDN周赛第9期
CSDN每日一练里的题目,也是数学里再熟悉不过的追赶题——速度快的追速度慢的,问两人(物)相遇的时候,速度快的跑了多少路。而每次追赶的时候,小艺都先跑了 t 时间的路,所以 vp*t 就是每次追赶时的初始距离,设 x 为饿龙追上小艺所花的时间,易得。的,你可以假设拿走的那一枚10分的硬币,是存在于“前面使用了四种硬币”里的某一枚(总的10分硬币的数量相同),这样,该情况就必然包含在了结果里。有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱(n原创 2022-11-13 19:01:43 · 648 阅读 · 0 评论