哲学思考

PyTorch Lightning简约哲学

PyTorch已经足够简单易用,但是简单易用不等于方便快捷。特别是做大量实验的时候,很多东西都会变得复杂,代码也会变得庞大,这时候就容易出错。针对这个问题,就有了PyTorch Lightning。它可以重构你的PyTorch代码,抽出复杂重复部分,让你专注于核心的构建,让你的实验更快速更便捷地开展 ......
Lightning 哲学 PyTorch

关于 dp 套 dp 的一些思考--zhengjun

dp 套 dp 一般有三种形式: - 暴力搜出一种东西的状态,发现数量不大,建出自动机开始跑; - 有关字符串的匹配问题,例如 kmp 或 AC 自动机上; - 有关 LIS 问题的可以使用一种特殊的内层 dp 优化状态。 前两个没什么好讲的,讲一下第三个。 记 $f_i$ 为 $1\sim i$ ......
zhengjun dp

HHHOJ #1252. 「NOIP 2023 模拟赛 20230716 B」打怪兽 思考--zhengjun

赛时卡了很久,没想出来怎么做。 随便乱搞了个优先级队列,过拍直接走人,然后成为了唯一的 100 分,无语了。 完事后发现这样做确实是对的,而且好写,简单讲一下。 首先需要能够判断打两个怪 $i,j$ 的优先级: - $a_i\le b_i,a_j\le b_j$,则优先攻击 $a$ 较小的那个; - ......
模拟赛 怪兽 20230716 zhengjun HHHOJ

LOJ #6160. 「美团 CodeM 初赛 Round A」二分图染色 思考--zhengjun

[link](https://loj.ac/p/6160) 思维+容斥计数。 首先的转化比较妙,二分图转化为 $n\times n$ 的网格图染色。 > 与网络流的转化方向相反,值得注意。 然后发现两种颜色(红、蓝)如果独立染色,同一个格子可能会重复染色。 考虑容斥,式子很好列,直接容斥即可。 $$ ......
初赛 zhengjun CodeM Round 6160

高并发的哲学原理(七)-- 最难以解决的单点:数据库以及它背后的存储

前面六篇文章,我们解决了 web 服务的百万 QPS 问题,从本文开始,我们将用三篇文章,尝试构建出百万 QPS 后端系统所需要的数据库。首先要明确,这里的数据库指的是关系型数据库,即满足 ACID 原则并用 SQL 语言进行操作的持久性(掉电数据不丢)数据库。当然,在追求高并发的过程中,我们将不可 ......
哲学 原理 背后 数据库 数据

高并发的哲学原理(八)-- 将 InnoDB 剥的一丝不挂:B+ 树与 Buffer Pool

前面几篇文章,我们大多数时候都在挥舞着架构大棒,对性能问题进行降维打击,但是本文不一样,本文要啃硬骨 ......
一丝不挂 哲学 原理 InnoDB Buffer

做题思考总结

# $ 做题总结 $ 每次做之前看一看。做题千万不要分心,不要做一下这道题就去干别的事。 OI思想:正反,抽象,等效,益少,独立 # 对于OI思想的一些思考与理解 独立:对于那些会改变的值,比如说数组之类的,显然他的下标的关联越少越好。比如f[k]和f[i-j]相比,肯定是前者更好,因为前者更为固定 ......

关于单元测试的一些思考

> 单元测试作为软件质量的重要一环,往往在整个开发流程中被大多数开发人员所忽略,本文旨在分析如何写好单元测试并探索一些测试驱动开发的应用。 ## 单元测试原则 在写单元测试前,先要明确什么是单元测试,单元测试的原则是什么?明确这些问题前不妨先参考一下前人总结的单元测试First原则。 在工作过程中经 ......
单元

P5044 [IOI2018] meetings 会议 思考--zhengjun

在 NFLS 模拟赛上遇到的,赛后订正过的。 隔了蛮长时间的,总结一下。 - 首先转化为笛卡尔树上后缀前缀的问题。 - 然后考虑如何转移,发现转移形如 $f(x)=\min\{f(x)+C,kx+b\}$ 的形式。 - 可以直接线段树维护每个点的最优直线,在 update 的时候: - 如果 $f( ......
meetings zhengjun 会议 P5044 5044

HHHOJ #1242. 「NOIP 2023 模拟赛 20230713 D」星海巡航 总结与思考--zhengjun

> 随机排列的最长上升子序列长度的期望是 $O(\sqrt{n})$。 这个结论知道最好,不知道也问题不大,赛时随一个跑一下也行。 警告: - 一直考虑正着做,产生了思维定式 - 正难则反啊,反着做发现只需考虑第一次覆盖的数就行了。 - 接下来的贪心也没想到:序列中不应该出现不在 $LIS$ 中的数 ......
模拟赛 20230713 zhengjun HHHOJ 1242

P8339 [AHOI2022] 钥匙 思考--zhengjun

很容易考虑到计算贡献。 > 该问题的关键在于——如何使得钥匙和宝箱的对应关系不算重 > Warning:有这样的二元对应关系,可以考虑一下转化为括号序列! 转化为括号序列之后,发现路径上括号串的对应关系能够预处理出来。 套个虚树和扫描线,就做完了。 ### 代码 ```cpp #include us ......
zhengjun 钥匙 P8339 8339 2022

HHHOJ #1238. 「NOIP 2023 模拟赛 20230712 D」但战斗还未结束 思考--zhengjun

赛时想写 60pts,结果 cxr 似乎少算了一点空间,导致我一直没把空间卡过去QWQ。 当时不会 dfs 求拓扑序,这里讲一下。 枚举所有非访问过的点依次 dfs,每次进行下列操作: - 找出 $v$ 的一个未访问过的入点 $u$,调用 `dfs(u)`; - 找不到 $u$ 的时候,把 $v$ ......
模拟赛 20230712 zhengjun HHHOJ 1238

对lua在Windows下无法执行非GBK编码字符串命令行的思考以及最终解决方案

[TOC] ​ 最终的实现是新增了一个lua的模块,这个模块能够在Windows下执行utf-8编码的字符串命令,未来可能会增加IO相关的函数。 ​ 其实这是一个老生常谈的问题了,Windows在中文环境下的代码页936也就是GBK编码,我们平时看到的ANSI编码的文本文件里面其实就是GBK编码。 ......
字符串 字符 编码 命令 解决方案

关于安卓逆向的学习思考

最近学了大约10天的安卓逆向,感觉有个稍微大概得了解,但是还不到解决我实际困难的程度 其实有点迷茫,无所适从 我感觉,还是把其中每个模块都好好学透,才能解决我的问题 学了啥,还是要做记录,才能见到进展 ......

关于对安全的思考

**这个世界从来没有绝对安全的系统,只能保证一个时间段或是一个技术下的安全,防的在好,某些安全技术在未来也有可能有致命漏洞。那么,在自己有限精力范围内选择一个可行方案,自己能做的只有加强安全检测和防护,以及数据备份。因为,所有方案都是在投入的时间精力(成本)和安全性之间做平衡。** ......

不断思考三个问题【职业】

随着工作年限的增长、对生活对生命认识的深入,应当不断思考三个问题: 1、我到底适不适合当一名程序员? 2、我到底应不应该一辈子以程序员为职业? 3、我对编程到底持有的是一种什么样的态度,是够用就好呢还是不断研究?最终,明确自己的职业规划,对自己的规划负责并为之努力。 ......
不断 三个 职业 问题

同一消费者组订阅关系不一致引发的思考

> RocketMQ 4.9.4 ### 现象 编写两个消费者,它们属于同一个消费者组,订阅同一个主题,但是不一样的tag。比如消费者1订阅tagA,消费者2订阅tagB。先让消费者1启动,启动完后借助`rocketmq-dashboard`查看此时消费者组的订阅关系是tagA,然后启动消费者2,稍 ......
消费者

关于小说的思考

所谓畅销,那自然不能高山流水,阳春白雪,毕竟 曲高和寡 要做到雅俗共赏,大众文化,俗文化 关于很多女人为什么喜欢言情小说,霸道总裁爱上傻白甜之类的 剧情一般 :女主傻白甜,一堆男人喜欢,对其宠爱有加 方便普通人代入与幻想 社会赋予很多女人的思想:有个优秀的男人宠爱自己,最好一堆优秀男人都看上了自己 ......
小说

关于文件创建时间的思考

好久以前,我注意到文件的创建时间很容易修改掉,比如复制文件,还有把文件从一个设备剪贴到另一个设备。 但是文件创建时间有时会有特殊意义,例如暗示着图片拍摄时间,所以我想有一段代码,可以维护文件创建时间不变。或者,可以根据一定的参照修改文件创建时间。比如,我可以对视频进行压缩方便存储,但是将原视频的创建 ......
文件 时间

一次线上问题的思考

> 在线上商城的一次功能迭代中,我们遇到了一个线上问题。虽然很快解决,但是觉得这个问题在软件设计开发中非常典型,对问题产生的原因以及如何避免类似问题的产生做一次复盘分析 ## 背景 商城的用户具有不同的会员等级,包括黄金会员、白银会员和普通会员。根据会员等级的不同,商品的价格策略也不同。具体来说,黄 ......
问题

碎碎念-教育问题思考-1

讲道理,郭嘉是不允许思考的,但是这些道理顶层都明白,只是没有办法突破。 jy问题本质就是社会资源分配问题。我个人大概分成3个阶段,分别是78-98,99-16,17-当今,划分依据是教育体系和社会体系的关联程度。 第一个阶段:78-98,这个阶段的教育资源是匮乏的,同时也是极度嫉妒不均的,但是由于信 ......
问题

NLP | 对遇到的问题的一些思考

1、一些成熟的库的封装,有其一系列的配套的模型,标记器,训练函数......。我们要是想使用对应的函数工具,我们首先要把自己的模型注册成人家的模型后,使用起来才不会有很多错。 所有尽量不要用各种封装的库进行拼接,可能会有很多坑。 2、数据处理是十分重要的,甚至占绝大部分时间。因为数据的质量对模型的性 ......
问题 NLP

使用第一性原理思维思考如何打造提高生产力的平台

数字化转型会带来大量的研发需求,如何更好更快的交付这些需求成为一个突出问题,该怎么打造一个平台去解决该问题?能不能用第一性原理思维去推导出发展方向? ......
第一性 生产力 思维 原理 平台

P8182 「EZEC-11」雪的魔法 / NOIP 模拟赛 20230706 D 思考--zhengjun

> 引用:这是一道非常棒的思维题,可以说没有用到任何高深的知识点,却极大地考验了做题人的思维能力和创造性。 本题分为两步。 - 根据线性规划对偶或贪心,转化题意。 - 对 $m$ 根号分治,然后分别进行分治。 > $m\le \sqrt{n}$分治比较好想,$m>\sqrt{n}$ 的根号分治比较难 ......
模拟赛 20230706 zhengjun 魔法 P8182

计算机系统设计-关于时钟和时序控制的思考

问题1:计算机系统中各种各样的时序系统如何同步的? 如上图,计算机系统是有组合逻辑电路和时序电路组成,时序电路会接时钟,所有的时序电路都会约定好在时钟的上升沿或者下降沿接受数据。 问题2: 时钟周期应该设置多长才合适? 要求时钟周期必须大于信号在线路中的传播延迟加上处理该信号的时序电路的处理延迟。 ......
时序 时钟 计算机 系统

归并排序思考记录与代码实现 --- 图画的真累

归并排序 把数组不断从中间拆分,然后对前后两段分别排序,再将排好序的两部分合并在一起 如下图数组排序。—— 分治思想:把大问题分解为小问题来解决,这通常会用到递归。 由代码可知,归并排序就是将数组不断地从中间切开,然后对每份切开的前后排进行排序 两种不用额外空间的算法,在最坏时间复杂度上升到了O(n ......
图画 代码

P5454 [THUPC2018] 城市地铁规划 引发的思考--zhengjun

有如下背包问题: - $n$ 种物品,体积为 $v_i$,价值为 $w_i$,不限量,要求选 $m$ 件物品,且总体积为 $V$,求总价值的最大(小)值。 解决方法: - 不妨令 $v_i$ 升序,首先先选 $m$ 个 $1$ 号物品,计算体积 $V_0=m\times v_1$,然后每选一件物品, ......
zhengjun 地铁 城市 P5454 THUPC

挽救中国低生育率的几点思考

1、我一直觉得中国解决低生育率的重点在农村,在大城市,你一鼓励别人生育,别人会说在大城市生育一娃的成本100万起步。但是在农村,可能有10万别人就愿意生了。 2、以前计划生育简单粗暴,只要政策严就能控制下来,现在鼓励生育需要精细化布局,真的是考验管理能力的时候了。 3、我觉得低结婚和丁克家庭是无法避 ......
生育率

一些高并发场景自己的思考

**每天提升自己,否则n年后你还是老样子!** [TOC] **同事分享的文档:** > 1. https://doc.weixin.qq.com/doc/w3_AbEAYwZdAOkvPOKpnjkQfaoUjEvGu?scode=ANAAyQcbAAgVJz11FrAbEAYwZdAOk **默 ......
场景

GadgetInspector学习思考

针对GadgetInspector的一些思考,感谢前辈们的文章。让整个过程学起来变的轻松起来。这里作为记录防止自己以前写过的东西过快忘记,此文是几月后写的所以写的过于简陋。如看到可以看看文章推荐中的进行学习or看下简陋的源码。 ## 文章 ASM学习(b站有视频教学) ``` https://lsi ......
GadgetInspector