Category: 计算机

竞技编程的边际效应(Marginal Effect)递减

什么是竞技编程(Competitive Programming)? 竞技编程的英文是 Competitive Programming,是指在限定时间内通过编写程序解决一系列算法问题的比赛形式。比较知名的赛事有 ACM-ICPC、Codeforces、Google Kick Start 等。这类比赛不仅考验选手的算法功底和编程技巧,还需要良好的思维敏捷性和代码调试能力。 比如我二十多年前在高中参加的 ICPC,就是一种典型的竞技编程。当时我们使用的编程语言还是 Turbo Pascal,比赛时间是三个小时,要解决四道题。那时候只要程序能输出正确的结果就行了,根本不太在意代码的实现方式和写得是否优雅。 我家娃在做 LeetCode 的一道算法题时,由于算法不够高效,有两三个测试用例出现了超时。他索性“投机取巧”地加了一个 if 判断,针对那些特定的输入直接返回正确结果。这样做在 LeetCode 上是可行的——前提是你知道测试数据,并能手动处理特殊情况。 但在实际的比赛中,这种做法往往行不通。一方面你无法提前知道测试输入;另一方面题目设计者也会故意防止这种“硬编码逃课”手法,所以比赛更要求通用、稳健的算法方案。这也是竞技编程和普通刷题平台之间的一个重要区别。 🏆 ACM-ICPC(国际大学生程序设计竞赛) 由 ACM 发起,目前由 ICPC Foundation 主办。 …

废物利用: 树莓派4b藏在鞋柜里当个小型服务器

TLDR; 我现在有 27 台服务器,其中一些价格低廉甚至免费。例如,Oracle 会提供 2 台免费虚拟机,我家用的是一台 4b 的树莓派。我在小型虚拟机上运行微服务。我把树莓派放在鞋柜里,连接到路由器。我把 CPU 从 1.4 GHz 超频到 2.2 GHz,开了两个风扇,温度保持在 30 到 40 度之间。 树莓派4b:架设小型服务器用于跑微服务 我家里有三四台树莓派,大多都积灰吃灰了。其中有一台是那种键盘一体式的型号,类似小时候的小霸王学习机,几年前曾拿来给孩子做启蒙教育用。它的配置也是几台中最强的。其次是一台 Raspberry Pi 4B,配有四核 CPU 和 4GB 内存。 …

通过脚本让电脑实现模拟按键(一直在线功能): VBScript/JScript/PowerShell

本文详细讲诉了用脚本实现定时模拟计算机按键,用于保持系统一直在线的状态。脚本可以使用VBScript、JScript和Powershell。这三种脚本语言都是微软/Microsoft的,不过前两种已经要被淘汰了。 在 Windows 环境下,这三种脚本(PowerShell、VBScript 和 JScript)都通过 CreateObject 来调用 COM 对象 WScript.Shell,以实现模拟按键的功能。例如,可以每隔一分钟模拟按下 Scroll Lock 键一次,从而保持“在线”状态(Keep Alive)。Scroll Lock 键在某些键盘上可能不存在,其作用是切换滚动锁定状态,连续按两次不会对系统造成实际影响。 模拟按键:自动化任务脚本 有时候,你可能想模拟按键(键盘输入),例如为了自动化一些任务,相比查找 API 并写脚本,通过重复按键可能更简单。例如,你想打开任何聊天窗口并输入 “Hello!” 100 次,可以使用 PowerShell 编写一个脚本,它先暂停几秒钟,然后模拟按键。 你可以通过在 Windows 中使用 …

力扣刷题打卡2209天竟然断了, 哎

坚持6年的力扣刷题打卡作天断了。昨天开了一整天brainstorming 晚上陪媳妇过生日。然后就给忘了,还好的是力扣国服还没断。 2019年3月2日 我在美国通用电气午休的时候太无聊 拿起IPAD就刷了一题。 谁曾想:这一刷就是2209天。这六年时过境迁,很多事情物是人非。我也从美国通用电气GE(General Electric)到亚马逊 Amazon AWS 再到现在的微软剑桥研究院MSRC。 力扣每日一题打卡是可以补签的,只需要花70点积分就可以 Time Travel 回到本月补上一签。只不过那个墙是补不了的,没刷就是空的。 力扣美服是可以同步到国服的,但是目前是没有办法反过来把国服的刷题记录复制一份到美服的。可能,这就是注定的吧,肯定会有不完美的。还好我不是处女座,这么一点不完美不会逼疯我的,哈哈。我还是会继续刷题的。刷题努力提升自己,好处多多。 本文一共 348 个汉字, 你数一下对不对. 力扣刷题打卡2209天竟然断了, 哎. (AMP 移动加速版本) 赞赏我的几个理由. ¥ 打赏支持 扫描二维码,分享本文到微信朋友圈

如何使用 GDB 或 LLDB 调试器重复运行程序直到错误

如何使用 GDB 或 LLDB 调试器重复运行程序直到发生错误 在调试程序时,有时候我们希望一直运行程序直到遇到错误。GDB(GNU 调试器)和 LLDB(LLVM 调试器)都提供了自动化此过程的方法。 这在调试一些不稳定的程序非常有用,例如有时候写的一些单元测试可能随机崩溃SegFault。最近我在调试一个测试每跑1000次就有一次崩溃的时候就发现gdb/lldb调试器非常有用。 简介:GDB vs LLDB GDB(GNU 调试器)和 LLDB(LLVM 调试器)是用于低级别应用程序调试的强大工具。GDB 传统上用于由 GCC 编译的程序,而 LLDB 是 LLVM 项目的一部分,与 Clang 无缝配合。两者都提供强大的功能,但 GDB 在 Linux …

部署和运行 DeepSeek R1-8b 大型语言模型 (LLM) 的两个简单命令

视频:油管/Youtube | B站/小破站 | 微博视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 大型语言模型(LLMs)如 DeepSeek R1-8B 正在革新自然语言处理,使强大的 AI 驱动应用成为可能。然而,设置这些模型往往是一项艰巨的任务,需要复杂的配置。幸运的是,仅需两条简单的命令,您就可以使用 Ollama 在本地系统上轻松部署和运行 DeepSeek R1-8B——Ollama 是一个用于管理和运行开源 LLMs 的简化工具。 步骤 1:安装 Ollama …

如何轻松创建并托管你的 GitHub Pages 站点 (无服务器静态应用)

创建一个 GitHub Pages 站点是一个简单的过程,可以免费为你的个人、项目或组织创建网站/博客。按照此指南开始。 步骤 1:创建 GitHub 仓库 登录你的 GitHub 账户。 点击“新建”来创建仓库。 对于个人站点,命名为 .github.io。 对于项目站点,使用任何有效的名称。 步骤 2:添加你的站点文件 使用以下命令克隆仓库到本地机器: git clone https://github.com/<username>/<repository-name>.git 创建一个 index.html 文件,包含你想要的内容。这里是一个例子: <!DOCTYPE html> <title>我的 GitHub 页面</title> …