Fifnmar

Fifnmar : 牛刀小试:程序设计能力实训 1041
5 年,6 月前

我在这道简单题中应用了一些标准库设施。 其中, inner_product 本来是 transfrom_reduce ,但我们 OJ 的 C++17 竟然没有!它支持不完全可还行。所以我换了。 template < typename F > inline void repeat ( uint32_t const times , F func ) { for ( uint32_t i = 0 ; i < times ; ...查看全文
Fifnmar : 尝试深入 STL <algorithm>
5 年,6 月前

我发现 algorithm 是 C++ 提供的一个非常好用的抽象。 我决定多多使用它,试试怎么样。 ...查看全文
Fifnmar : 3061.题解
5 年,7 月前

大体划分 解决问题的基本思路,是从抽象到具体、从整体到局部。现在,我们先思考:为了解决这个问题,可以大致把它分成几步: 输入 Morse Code 文本 切段,基本上每一段对应一个字符 翻译,查询 Morse -> Plaintext 字典,把切段翻译成明文。 输出 Plain text 文本。 这样看上去,只有中间两步需要我们细细考虑。 分析重点、细化决策 功能实现起来往往没有一开始想象得那么简单,因为我们可能遇到各种特殊要求。我们还应该对「边界情况」(Corn ...查看全文
Fifnmar : 整数上取整平方根
5 年,7 月前

今天早上一个同学跟我探讨了一个有趣的问题: 「只用整数,用二分法求出一个整数的平方根,如果结果不是整数则向上取整。」 因为想要的是 $\lceil \sqrt{n} \rceil$,所以二分的时候要考虑明白退出条件。 所求得的根 $m$ 应该满足这个要求: $$ (m - 1)^2 < n \le m^2 $$ 但实际写代码的时候请注意到乘法可能溢出,所以改写成这个样子: $$ \begin {cases} m - 1 < \frac{n}{m-1} \ m \ge \f ...查看全文
Fifnmar : [97. 邮件地址排序] 代码
5 年,7 月前

讨论区放不下,有点长了。但我得吐糟一下,为什么 OJ 会直接吞了我辛苦写的东西 Orz 刚看这道题的时候,我好奇为什么是道 Hard 难度的题。现在看应该是因为数据量吧。 #include <algorithm> #include <cassert> #include <cstdint> #include <iostream> #include <string> #include <vector> class Email { ...查看全文
Fifnmar : 程序能力实训 1052 代码 and 一点吐糟
5 年,7 月前

/*/////////////////////////////////////////////////////*/ #include "bits/stdc++.h" /* PreCondition: h is a head pointer of a linked-list PostCondition: return the head pointer of the sorted linked-list */ NODE * SortRationalList ( NODE * ...查看全文
Fifnmar : 「图算法」最短路径
5 年,7 月前

下面是对我学习这个部分的一点小总结 我觉得,我学习最短路径这个部分的时候有点忘记了我之前定下来的方针:「先知其所以然,再探究背后思想」。我之所以这么说,是因为我想,前辈想出这些经典的算法已经耗费了大量的精力,我直接学习它,然后再揣摩背后的思想,其性价比要优于先自己苦想、再看经典方法。学习图算法的时候,我总是觉得自己有一点想法,并试图实现(结果就是听取 WA 声一片),可以说浪费了很多时间(在这里卡了有一会儿了)。 当然,先行思考可以从失败中得到宝贵的教训;但即使没有先自己摸黑探索,学习经典算法的 ...查看全文