- 博客(17)
- 收藏
- 关注
原创 The 2nd Universal Cup. Stage 1: Qingdao A题
2.要得到最小分数,就是要尽可能把 1 切开。先假定 m 个 1 连在一起,那么就能切 n-m 刀,也就是切成 n-m+1 个部分。最好的切法是尽可能平均(如果不尽可能平均,就会出现更大的长度)。要尽可能平均地切,那就用除法,如果除不尽,就把结果加 1。给一个长度为 n 的 01 串(仅由 0 和 1 组成的字符串),其中有 m 个 1。1.要得到最大分数,只需使 m 个 1 全部相邻。则最大分数等于 m。请求出可能的最大分数和最小分数。
2023-09-02 22:06:19
431
1
原创 Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) 补题记录(B题)
这场比赛只做出 A ,果然掉大分咯……其实 B 题当时有猜过 k 为偶数时可能可以直接排序,可能当时累了困了,也没去写一下试一下,说不定碰几次就对了呢……这类题,没有涉及什么复杂算法,也不需要什么思维,也许只需要在纸上多去模拟、敢于敲代码尝试。有趣的一点是,代码实现的思路不是直接来自于题目(题目会给出很多无用的干扰信息,需要提取有用信息),而是基于手算归纳、猜想得到的推论。也许这个推论背后是严谨的数学证明,但能够归纳、猜想出来,就足够了!
2023-08-29 20:51:01
163
3
原创 Codeforces Round 894 (Div. 3) 补题记录(D题)
这是我打的第 7 场 CF 比赛,也是第一场没有初始分的比赛。其实差点忘了有比赛,好像是十点四十多分才打开,不过这并不影响我做不出 D ……下图是我的提交记录:A 和 B 做得还可以, C 题卡了很久。最后半个多小时在看 D ,但很可惜没能在比赛时间内做出来。看过别人的题解后,发现自己思路大体是对的,也想到了用二分,但是做了很多错饭……首先是代码多处细节错误,比如这个:还有数据范围过大或者过小的问题等等。解决了这些,也试了很多样例,交上去发现还是错的,对应第一张图的 WA 记录。
2023-08-27 13:45:01
84
原创 2023牛客暑期多校训练营8 J题 题解/复盘
3)通过 11 - 7 = 4 和 12 - 5 = 7,将第一组数列在 4 和 7 中间切开,分成两部分,前半部分倒过来接到数列后面,后半部分倒过来接到数列前面。构造一个从 1 到 n 的排列,该排列满足:对于排列中任意两个相邻的数 ,它们的和或差的绝对值是奇质数(除了 2 以外的质数)。第一组的数,模 3 等于 1 ,那么减去 7 ,就是先减去 1 ,变为 3 的倍数,再减去 2 个 3;第二组的数,模 3 等于 2 ,那么减去 5 ,就是先减去 2 ,变为 3 的倍数,再减去 1 个 3。
2023-08-24 16:23:44
217
2
原创 2023牛客暑期多校训练营4 补题(A、L)
例如,令s为n个0,str=t+s+t,然后从字符串str的下标为1处(第2个字符)开始查找字符串t。牛客多校的这几次比赛,一些题目的内核并不算太难,但是需要通过推导、手算等得到一些结论,将题目转化为相对简单的问题,而这个过程需要思维、数学,甚至灵感。那么我们换个方向想,用逆向思维,前面的操作无法影响到后面的操作,可以先存储所有操作,然后从后往前处理,处理过的行/列就不需要再处理,大大简化问题。给一个字符串t,找出一个长度为n的字符串s,使得字符串t只在字符串t+s+t中出现两次(开头和结尾各出现1次)。
2023-07-30 20:33:27
118
1
原创 拓扑排序(洛谷,SCAU OJ,牛客多校)
拓扑排序,就是将有向无环图(DAG)的所有顶点排成一个线性序列,该序列满足:对图中所有顶点,若从u到v有一条路径,则在序列中u在v的前面。
2023-07-28 21:42:13
321
1
原创 2023牛客暑期多校训练营2 I题-Link with Gomoku
两人在n行m列的棋盘上玩五子棋,但他们都不想赢。因此,他们想将棋盘下满,但不分出胜负(也就是双方都没有连续的五子出现)。规则:黑棋先落子,黑白棋交替落子。黑棋用字符’x'代表,白棋用字符'o'代表。设计程序,给出将棋盘下满且平局的落子方式。
2023-07-22 20:46:00
219
原创 SCAU OJ 8608 实现二叉排序树的各种算法(2)
用函数实现如下二叉排序树算法:(1) 插入新结点(2) 前序、中序、后序遍历二叉树(3) 中序遍历的非递归算法(4) 层次遍历二叉树(5) 在二叉树中查找给定关键字(函数返回值为成功1,失败0)(6) 交换各结点的左右子树(7) 求二叉树的深度(8) 叶子结点数。
2023-06-13 19:41:09
289
1
原创 SCAU OJ 8590 队列的应用——银行客户平均等待时间
一开始看到标题有“队列的应用”,我就自然地想用队列来解决,但是一直想不出来。仔细看了几遍题目描述后,我发现不用队列就可以解决问题。这题可以说是“纸老虎”了,一开始真把我唬住了,现在想想也就那样。
2023-06-07 23:28:45
381
1
原创 用74x163设计一个模100计数器
74163的状态可从0000依次跳到1111,也就是十进制的0到15,因此,一片74163可以实现模16计数器,两片则可以实现模256计数器。那么,要想实现模100计数器,就需要使用两片74163芯片。笔者想到了两种模100计数器的具体实现方式。一是使用8个数码管,以二进制的形式依次显示 0000 0000 - 01100011;二是使用2个数码管,以十进制的形式依次显示 00 - 99。方法一是上课讲的一般方法;而笔者认为方法二更简便,也利于观察。当然,两种方法都能实现计数目的,它们的原理也基本相同。
2023-05-21 20:22:16
6659
1
原创 用74194设计一个00011101序列信号发生器
本电路总体的设计方法,可以参照教材,“照葫芦画瓢”,可以说并不算太难。但是在模拟软件上连接电路时,出现了诸多问题,导致花费了大量时间和精力。第一,两个元件在连接过程中,看起来是接在一起了,实际上是断开的,如下图所示。这启示我们,尽量不要直接将两个元件相连,最好是分隔一定距离,再用导线连接,如下图。第二,电路运行结果与预期不符,且从电路设计中找不出问题时,要学会从电路的每一个部分去排查错误,可运用探针等工具来输出中间结果, 如下图黑色框内的探针。
2023-05-19 12:27:50
11855
1
原创 Multisim中74194的QA是最左端,QD是最右端
笔者在做数字电路与逻辑设计的实验时,检查了好几次,电路输出和预想的还是不一样。一筹莫展之际,笔者猜测:Multisim的QA,QB,QC,QD可能与教材的不一样——教材中QA是最右端,而Multisim中QA可能是最左端。假设QA是最左端,那么与QA相连的探针应该最先亮,然后QB、QC、QD再依次亮。如上图,S1=0,S0=1,74194进行右移功能。QA、QB、QC、QD分别与一个探针相连,以检测输出0或1(亮为1,灭为0)。以上仅为笔者个人拙见,如有错误之处,敬请斧正,同时也欢迎交流学习、共同进步。
2023-05-16 23:00:26
1563
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人