未分类
482 词
来自 曙光 21 天打卡挑战 - Day3 继续学习贪心算法证明贪心算法可以有如下步骤: 证明贪心选择性质,即选择局部问题的最优解可以构建全局最优解(此处的“可以构建”指的是,一定存在一个最优解,使得局部最优解是这个最优解的一部分) 常用证明法:替换法。假设存在一个最优解,证明根据贪心策略选择的第一步可以替换掉该最优解的第一步,而不会使解变差。 证明最优子结构,即一个问题的最优解包含其子问题的最优解。用于保证对这个小一点的子问题再次应用贪心策略,可以导向最优解。 其他方法:交换论证、数学归纳法。 说实话,目前对贪心算法的证明理解没有到能用严格数学语言描述的程度。打算明天继续深入严格证明和特殊题目(临项交换、后悔法),希望能构建缜密的逻辑。 杂项几个 Linux 小知识: curl 指令。它可以向一个 url 发送 http 请求。常见的参数是 -fsSL tee 指令:将标准输入流同时导向一个文件和标准输出流 /dev/null: 黑洞文件,一般用于丢弃输出 C 艹 小知识: std::sort 对 std::pair 类型的数组排序时,先对...
未分类
250 词
来自 曙光 21 天打卡挑战 - Day2学习 cf&lc 刷题指南 与 贪心算法 感谢丁老师推荐的一篇高质量训练指南。 以往写贪心题只能瞎猜乱写碰运气,遂决定系统学习贪心算法证明,顺便刷点题。 一个问题可以使用贪心算法解决,即逐步局部最优解可以导向全局最优解,需要满足无后效性,即每一步的状态可只由上一步状态导出,而与之前决策的过程无关(与 dp 是类似的)。 常见证法: 反证法 归纳法 赛场上走投无路之时,也可通过对拍验证、先猜后证、找反例等初步验证,大胆尝试碰运气(纯赌狗 刷了《深基》上的几道练习题,重点证明,加深理解。
未分类
565 词
来自 曙光 21 天打卡挑战 - Day1 学习 FastAPI & SQLModel.FastAPI 是一个用于构建 Web 后端的 python 库,SQLModel 是配套的数据库操作库(使用 ORM) 大致过程: 先通读文档(说实话官方文档实在有点啰嗦,甚至从建表开始手把手教你 SQL),期间有啥不懂就问亲爱的 ds 老师(比如各种 Join 的区别); 然后 clone 下来官方 github 仓库 fastapi-fullstack-template,大致读了一遍项目结构,重点是理清多文件各模块的功能,其中主要有 routes/xxx.py: 负责分文件编写 api 端点 db.py: 建立数据库连接,和初始化数据库 deps.py: 提供 token 读取验证、数据库会话(session) 等,用于将依赖注入 api 端点函数 models.py: 保存 SQL 表的 python class 表示,和 api 请求与响应的模型(两者是通用的,得益于 SQLModel) crud.py: 封装一些常用的数据库读写方法,比如 create_us...
未分类
11 词
Hello World!