<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://www.coderli.com/</id><title>OneCoder</title><subtitle>C++, GESP, NOI, Java, Python, Git, SVN, 算法, 架构, Jekyll, Log, 开源, MySQL, PostgreSQL, Hadoop, 大数据, 云计算</subtitle> <updated>2026-06-03T14:27:24+00:00</updated> <author> <name>OneCoder</name> <uri>https://www.coderli.com/</uri> </author><link rel="self" type="application/atom+xml" href="https://www.coderli.com/feed.xml"/><link rel="alternate" type="text/html" hreflang="zh-CN" href="https://www.coderli.com/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 OneCoder </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>【信奥业余科普】C++ 的奇妙之旅 | 28：规范比赛代码的钥匙——文件操作与输入输出重定向（freopen）</title><link href="https://www.coderli.com/cs-basics-28-cpp-file-io/" rel="alternate" type="text/html" title="【信奥业余科普】C++ 的奇妙之旅 | 28：规范比赛代码的钥匙——文件操作与输入输出重定向（freopen）" /><published>2026-06-03T00:00:00+00:00</published> <updated>2026-06-03T00:00:00+00:00</updated> <id>https://www.coderli.com/cs-basics-28-cpp-file-io/</id> <content src="https://www.coderli.com/cs-basics-28-cpp-file-io/" /> <author> <name>OneCoder</name> </author> <category term="信奥业余科普" /> <category term="C++的奇妙之旅" /> <summary>在前面的文章中，我们介绍了 C++ Standard Template Library (STL) 中的通用算法库 &amp;amp;lt;algorithm&amp;amp;gt;。掌握了这些常用算法后，我们已经能够写出非常高效的数据处理代码。 然而，在实际参加信奥竞赛（如 CSP-J/S、NOIP 等）时，仅仅写出逻辑正确的代码是不够的。信奥比赛有一条极其严格的硬性规定：程序必须通过文件进行数据的输入与输出。 如果你没有按照要求进行文件操作，或者把文件名拼写错了哪怕一个字母，测评机都将无法读取你的输出，最终导致该题直接判定为 0 分（俗称“爆零”）！ 今天，我们就来学习如何使用 C++ 中最简单、最常用的文件输入输出重定向函数 —— std::freopen，为你的比赛代码保驾护航。 往期回顾： 第一部分【计算机历史】系列文章合集（共8篇） 第二部分【C++的奇妙之旅】前27篇合集 ...</summary> </entry> <entry><title>【CSP】CSP-J 2023真题 | 公路 luogu-P9749 （适合GESP四级及以上考生练习）</title><link href="https://www.coderli.com/csp-j-2023-p9749-road/" rel="alternate" type="text/html" title="【CSP】CSP-J 2023真题 | 公路 luogu-P9749 （适合GESP四级及以上考生练习）" /><published>2026-06-02T01:10:00+00:00</published> <updated>2026-06-02T01:10:00+00:00</updated> <id>https://www.coderli.com/csp-j-2023-p9749-road/</id> <content src="https://www.coderli.com/csp-j-2023-p9749-road/" /> <author> <name>OneCoder</name> </author> <category term="CSP" /> <category term="J" /> <summary>CSP-J 2023真题“公路”是一道典型的贪心算法题。本题要求计算出在不同站点油价不同的情况下，从起点行驶到终点的最小花费。适合 GESP 四级及以上考生练习，难度⭐⭐，洛谷难度等级普及-。 P9749 [CSP-J 2023] 公路 题目要求 题目描述 小苞准备开着车沿着公路自驾。 公路上一共有 $n$ 个站点，编号为从 $1$ 到 $n$。其中站点 $i$ 与站点 $i + 1$ 的距离为 $v_i$ 公里。 公路上每个站点都可以加油，编号为 $i$ 的站点一升油的价格为 $a_i$ 元，且每个站点只出售整数升的油。 小苞想从站点 $1$ 开车到站点 $n$，一开始小苞在站点 $1$ 且车的油箱是空的。已知车的油箱足够大，可以装下任意多的油，且每升油可以让车前进 $d$ 公里。问小苞从站点 $1$ 开到站点 $n$，至少要花多少钱加油？ 输入格式 输入的第...</summary> </entry> <entry><title>【信奥业余科普】C++ 的奇妙之旅 | 27：高效处理数据的利器——常用算法库（algorithm）</title><link href="https://www.coderli.com/cs-basics-27-cpp-algorithm/" rel="alternate" type="text/html" title="【信奥业余科普】C++ 的奇妙之旅 | 27：高效处理数据的利器——常用算法库（algorithm）" /><published>2026-06-01T00:00:00+00:00</published> <updated>2026-06-01T00:00:00+00:00</updated> <id>https://www.coderli.com/cs-basics-27-cpp-algorithm/</id> <content src="https://www.coderli.com/cs-basics-27-cpp-algorithm/" /> <author> <name>OneCoder</name> </author> <category term="信奥业余科普" /> <category term="C++的奇妙之旅" /> <summary>在前面的文章中，我们介绍了 C++ STL 中的各种容器。在实际编写程序和参加竞赛时，仅存储数据是不够的，通常还需要对数据进行各种操作，例如： 将学生的成绩按照从高到低排序（sort）； 去掉数组中重复的数据（unique）； 在排好序的数据中用二分法快速查找某个数（lower_bound / upper_bound）； 将一串字符或数组的内容颠倒顺序（reverse）； 生成一组数据的所有排列方式（next_permutation）。 如果每次都手写循环和排序代码，不仅编写麻烦、容易出错，而且运行效率也可能不够高。 C++ STL 提供了通用算法库 &amp;amp;lt;algorithm&amp;amp;gt;，它包含了许多已经写好且经过优化的常用算法。我们只需调用一行函数，就能完成上述复杂的操作。本文将详细讲解这些常用算法的使用方法。 往期回顾： 第一部分【计算机...</summary> </entry> <entry><title>【CSP】CSP-J 2022真题 | 解密 luogu-P8814 （适合GESP四级及以上考生练习）</title><link href="https://www.coderli.com/csp-j-2022-p8814-decode/" rel="alternate" type="text/html" title="【CSP】CSP-J 2022真题 | 解密 luogu-P8814 （适合GESP四级及以上考生练习）" /><published>2026-05-31T01:10:00+00:00</published> <updated>2026-05-31T01:10:00+00:00</updated> <id>https://www.coderli.com/csp-j-2022-p8814-decode/</id> <content src="https://www.coderli.com/csp-j-2022-p8814-decode/" /> <author> <name>OneCoder</name> </author> <category term="CSP" /> <category term="J" /> <summary>CSP-J 2022真题-解密，是一道结合数学推导与数值运算的经典题目。本题可以通过将方程组转化为一元二次方程，利用求根公式在 $O(1)$ 的时间内求解；也可以利用单调性通过二分法进行求解。适合 GESP 四级及以上考生练习，难度⭐⭐，洛谷难度等级普及-。 P8814 [CSP-J 2022] 解密 题目要求 题目描述 给定一个正整数 $k$，有 $k$ 次询问，每次给定三个正整数 $n_i, e_i, d_i$，求两个正整数 $p_i, q_i$，使 $n_i = p_i \times q_i$、$e_i \times d_i = (p_i - 1)(q_i - 1) + 1$。 输入格式 第一行一个正整数 $k$，表示有 $k$ 次询问。 接下来 $k$ 行，第 $i$ 行三个正整数 $n_i, d_i, e_i$。 输出格式 输出 $k$ 行，每行两个正...</summary> </entry> <entry><title>【信奥业余科普】C++ 的奇妙之旅 | 26：高效的键值对——映射（map）与多重映射（multimap）</title><link href="https://www.coderli.com/cs-basics-26-cpp-map/" rel="alternate" type="text/html" title="【信奥业余科普】C++ 的奇妙之旅 | 26：高效的键值对——映射（map）与多重映射（multimap）" /><published>2026-05-31T00:00:00+00:00</published> <updated>2026-05-31T00:26:47+00:00</updated> <id>https://www.coderli.com/cs-basics-26-cpp-map/</id> <content src="https://www.coderli.com/cs-basics-26-cpp-map/" /> <author> <name>OneCoder</name> </author> <category term="信奥业余科普" /> <category term="C++的奇妙之旅" /> <summary>上一篇文章我们介绍了 set 和 multiset，它们通过底层的红黑树实现自动去重、自动排序，以及在 $O(\log n)$ 时间内进行查找的机制。 但是，set 只能存放单一的元素（也就是 键 Key）。在很多实际的信奥问题或开发场景中，我们需要的是一种“对应关系”。例如： 给你一个学生的名字（Key），你需要快速查出他的信奥成绩（Value）； 给你一个英文单词（Key），你需要快速查出它的中文释义（Value）； 给你一个身份证号（Key），你需要快速查出对应的个人信息（Value）。 这种“键（Key）到值（Value）”的对应关系，在计算机科学中被称为 “键值对（Key-Value Pair）”。 今天，我们来学习 C++ STL 中用于处理键值对的关联容器—— map（映射） 与 multimap（多重映射）。 往期回顾： 第一部分...</summary> </entry> </feed>
