该博客已退役
该博客已退役 由于 Hexo 博客和 Butterfly 主题的局限性,我将不再维护此博客和其中的博文。但是他们不会被删除或者迁移。 我的博客已经搬迁到新的平台,采用了全新的 Firefly 主题。如果你想继续关注我的动态和文章,请访问我的新博客:FrankWkd’s Blog (Firefly)。 旧博客中的内容将不再更新,建议大家前往新博客获取最新的内容和资讯。感谢大家一直以来的支持与关注! 新的博客采用了 Astro 框架和 Firefly 主题,提供了更好的性能和用户体验。之后的博文都会在新的博客发布。同时,新的博客支持更完整的 RSS 和 LateX 渲染。 关于此博客 博客搭建于 2025 年 2 月,使用 Hexo 静态站点生成器和 Butterfly 主题。 此间共发布了 47 篇博文,总字数 10.58w。 退役与 2025.10.19 , 历时 8 个月零 11 天。 博客访问量累计 1.2w+ 次. 本博客所在的子域名可能被删除,仓库地址:Github@FrankWkd-Pro/FrankWkd-Pro.github.io;访问地址:https://fra...
【题解】洛谷P731[NOI1999] 生日蛋糕+数据加强版
前言:阅读理解+剪枝+头脑风暴 ##### Designed By FrankWkd **遵循GNU GPL2.0开源协议。** ## 该代码可以通过[T148457 生日蛋糕加强版](https://www.luogu.com.cn/problem/T148457) 和 [P1731 [NOI1999] 生日蛋糕](https://www.luogu.com.cn/problem/P1731).  ---- # P1731 [NOI1999] 生日蛋糕 ## 题目背景 [数据加强版 link](https://www.luogu.com.cn/problem/T148457) ## 题目描述 7 月 17 日是 Mr.W 的生日,ACM-THU 为此要制作一个体积为 $N\pi$ 的 $M$ 层生日蛋糕,每层都是一个圆柱体。 设从下往上数第 $i$($1 \leq i \leq M$...
对数换底公式的严谨推导
对数的两个基本性质:幂法则与换底公式的推导 1. 对数的幂法则 定理表述 loga(bc)=c⋅logab\log_a (b^c) = c \cdot \log_a b loga(bc)=c⋅logab 其中 a,b>0a, b > 0a,b>0,a≠1a \neq 1a=1,c∈Rc \in \mathbb{R}c∈R。 推导过程 步骤 1:设变量 令 x=logabx = \log_a bx=logab 根据对数定义: ax=ba^x = b ax=b 步骤 2:两边取 ccc 次幂 (ax)c=bc(a^x)^c = b^c (ax)c=bc 利用指数法则 (ax)c=axc(a^x)^c = a^{xc}(ax)c=axc: axc=bca^{xc} = b^c axc=bc 步骤 3:再用对数定义 由 axc=bca^{xc} = b^caxc=bc 可得: xc=loga(bc)xc = \log_a (b^c) xc=loga(bc) 步骤 4:代回 xxx 因为 x=logabx = \log_a bx=logab,所以:...
我的歌单备份
世界古典钢琴名曲 外文流行 Chinese pop Chinese Classic
扫描线学习笔记
扫描线 摘自洛谷 扫描线算法是一种求矩形的面积并和周长并的好方法。其思想是由一条假想的线从图形的下方扫向上方(或者左方扫到右方,都可以),那么通过分析扫描线被图形截得的线段就能获得所要的结果。该过程可以用线段树进行加速(文字 from @NCC79601) 接下来,我将把扫描线分成面积并和周长并两个部分,尽量用非常通俗的语言和较为细致的步骤进行讲解 一、面积并 P5490 【模板】扫描线 这一道题,就是面积并的模板题 既然是要我们求这几个矩形的覆盖面积,我们就来看一下,要是我们要求下面这个图形的覆盖面积,我们应该怎么做? 注意看,这里是有一部分的面积是重合的。所以说,我们要求的面积其实就是下面这个图: 这个图形是一个不规则的图形,用什么方法求呢? 在初中数学中,我们求不规则图形的最普遍也是最简单的方法是什么?是割补法。所以,我们可以把这个图形进行割补: 这样子,我们就可以求出每一块分割后的图形面积来求出整个图形的总覆盖面积 我们可以用图象来模拟一下整个扫描线大概是怎么操作的,这里给出的是从左往右的模拟: (以上图象均 from @Gu_Pigeon ) 观察上面这张 ...
Bitset 学习笔记 + 做题记录(补充动态规划)
一、bitset bitset 是 C++ 标准库 <bitset> 中的一个模板类,用于表示和操作固定大小的二进制位序列(bit sequence)。它本质上是一个大小不可变的、高效的位数组,专门用于处理二进制位操作(严格意义上不属于 STL),相比于手动使用整数或数组来操作位,bitset 提供了更简洁、高效且安全的接口。 特点: 固定大小:在定义时必须指定位数 NNN,如 bitset<32> 表示 32 位。 高效存储:每个位只占用 1 bit(而非 1 byte),内存使用非常紧凑。 适用于需要高效处理二进制、状态压缩等场景。 例子: 12345678910111213141516#include <bits/stdc++.h>using namespace std;int main() {bitset<8> b1;//定义 bitset 长度为 8,默认都是 0cout << b1 << endl;bitset<8> b2(5);//用整数 5 的二进制初始化 8 位的 ...
意别离
prologue\textit{prologue}prologue 为手写信的电子版。 有稍大篇幅的改动。 为 2025.7.12 后写的第二版。 没想到第一版废得如此果断,第二版写的如此顺畅。 Chapter 1\textit{Chapter 1}Chapter 1 五月二第一次见面后,我就知道我们彻底不可能分开了。 见面了之后就不是网恋了,是异地! 我预想了无数多次的场面在现实中并未上演,倒是不出意外。 其实当天早上我早了一个多小时到春熙路,但是看着导航找了大半个小时也没找到开了门的花店,哎。 阿凉怎么躲在地铁出口后面!我没有先看到。/hsh 然后因为太尴尬了吧她在前面走我在后面追走了半个小时,然后她有点累了我去点了个奶茶就到好利来坐了下来。 然后两个人聊天刷视频玩了许久,最后严肃决定下午去玩剧本杀。 然后回去春熙路中间逛了一下,果然有人来加微信宣传剧本杀密室了。 玩了纯白少年的慢性死亡,觉得剧情写的挺好的,就是有点软逻辑,需要点脑洞,不够严谨。 出来之后非常紧张地牵了手,拍了张照片(并非照片)作纪念,再后面有点晚了就我就回舅舅家也回家了。 收获了第一个小皮筋,也是第一次和...
CF Round 1041 Solutions
Atto Round 1 (Codeforces Round 1041, Div. 1 + Div. 2) Editorial By Bahamin, 20 hours ago, ✨ Hope you enjoyed the problems! ✨ 2127A - Mix Mex Max Idea: Bahamin Preparation: Hamed_Ghaffari Hints Hint 1 What happens if mex([ai,ai+1,ai+2])=0\operatorname{mex}([a_i, a_{i+1}, a_{i+2}]) = 0mex([ai,ai+1,ai+2])=0? Hint 2 Now what happens if mex([ai,ai+1,ai+2])≠0\operatorname{mex}([a_i, a_{i+1}, a_{i+2}]) \neq 0mex([ai,ai+1,ai+2])=0? Solution Let’s see when does mex([ai,ai+1,ai+2])\operatorn...
指南:把Firefox从Snap版迁移到Deb版
🦊 Ubuntu 22.04 Snap 版 Firefox 切换到 APT 版 .deb 的完整迁移指南 🔄 一、核心流程概述 备份 Snap 版配置 → 复制配置文件到安全位置 彻底移除 Snap 版 Firefox → 避免冲突 通过官方 APT 库安装 .deb 版 → 原生支持最佳兼容性 恢复配置文件到 APT 版路径 → 迁移用户数据 验证数据完整性与锁定更新 → 防止回退到 Snap ⚠️ 二、操作前准备 备份现有配置(关键步骤!) 12# 退出所有 Firefox 进程后执行cp -r ~/snap/firefox/common/.mozilla/firefox/ ~/firefox_snap_backup 所有用户数据(包括扩展、密码、Cookie)均存储在 ~/snap/firefox/common/.mozilla/firefox/ 目录下。 此备份可防止迁移失败导致数据丢失。 🔧 三、移除 Snap 版并安装 APT 版 步骤 1:卸载 Snap 版 Firefox 1sudo snap remove --purge firefox#...
题解:CF2126E G-C-D, Unlucky!
传送门 Sol 已经得知:pi=gcd(a1,a2,…,ai)p_i = \gcd(a_1, a_2, \dots, a_i)pi=gcd(a1,a2,…,ai) 和 si=gcd(ai,ai+1,…,an)s_i = \gcd(a_i, a_{i+1}, \dots, a_n)si=gcd(ai,ai+1,…,an)。 不难发现:pi∣aip_i \mid a_ipi∣ai 与 si∣ais_i \mid a_isi∣ai。 换句话说就是 aia_iai 为 pip_ipi 和 sis_isi 的倍数。 所以 aia_iai 可以是 lcm(pi,si)lcm(p_i, s_i)lcm(pi,si),这之后遍历看生成出来的是不是 sss 和 ppp 就行了。 猜你想问:为什么要用 lcmlcmlcm 不用他们的其他倍数呢?因为其他倍数都可以写为 k×lcm(pi,si)k \times lcm(p_i, s_i)k×lcm(pi,si) 的形式。 但是如果下一个也写成 k×lcm(pi+1,si+1)k \times lcm(p_{i...

