Skip to content

Commit

Permalink
Site updated: 2023-11-29 15:55:53
Browse files Browse the repository at this point in the history
  • Loading branch information
YttriumWillow committed Nov 29, 2023
1 parent dc499a6 commit e0fa845
Show file tree
Hide file tree
Showing 50 changed files with 39,100 additions and 0 deletions.
114 changes: 114 additions & 0 deletions 2023/10/26/Test-Article/index.html

Large diffs are not rendered by default.

124 changes: 124 additions & 0 deletions 2023/10/27/P5377-THUPC2019-鸽鸽的分割-题解/index.html

Large diffs are not rendered by default.

134 changes: 134 additions & 0 deletions 2023/10/27/公式渲染压力测试/index.html

Large diffs are not rendered by default.

124 changes: 124 additions & 0 deletions 2023/10/29/P9816-少项式复合幂-题解/index.html

Large diffs are not rendered by default.

119 changes: 119 additions & 0 deletions 2023/11/02/Manacher-算法学习笔记/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

114 changes: 114 additions & 0 deletions 2023/11/04/通用快读快写模板/index.html

Large diffs are not rendered by default.

153 changes: 153 additions & 0 deletions 2023/11/29/Hexo Icarus 5.1 手把手搭建教程/index.html

Large diffs are not rendered by default.

121 changes: 121 additions & 0 deletions 2023/11/29/hello-world/index.html

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions archives/2023/10/index.html

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions archives/2023/11/index.html

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions archives/2023/index.html

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions archives/index.html

Large diffs are not rendered by default.

141 changes: 141 additions & 0 deletions categories/OI/index.html

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions categories/index.html

Large diffs are not rendered by default.

125 changes: 125 additions & 0 deletions categories/博客/index.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions content.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"posts":[{"title":"","text":"准备环境 安装nodejs✅ 安装git✅ 安装hexo✅ 12# 此为全局安装,可能需要sudo权限npm install -g hexo-cli 创建git仓库直接在github主页创建一个新的仓库,此处假设仓库名称为blog_tensorrt 使用hexo建初始博客首先初始化一个博客项目,此处blog可以换成自己想要起的名称。该操作之后在当前目录下会出现一个叫做blog的新的文件夹 1hexo init blog 进入blog文件夹下 1cd blog 可以看到当前的文件夹下有一个themes的文件夹,此时看到里面没有文件,下载icarus主题代码到其中 1git clone [email protected]:ppoffice/hexo-theme-icarus.git /themes/icarus 之后修改_config.yml文件,将theme修改为icarus 1theme: icarus 之后在命令行进行构建 1hexo g 输入生成命令可能会报错,提示有没有安装的包,安装确实的包 1yarn add [email protected] hexo-component-inferno@^1.1.0 hexo-pagination@^2.0.0 hexo-renderer-inferno@^0.1.3 inferno@^7.3.3 inferno-create-element@^7.3.3 接着生成 12# 该命令多执行几次,知道没有新的文件生成hexo g 查看网页初始效果 1hexo s 打开网页http://localhost:4000 自定义博客设计此时博客目录下有文件_config.icarus.yml,修改该文件即可,每一项在icarus官网https://ppoffice.github.io/hexo-theme-icarus/Configuration/icarus%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97-%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE/#more均有详细的说明,在此不做赘述。 部署网站首先修改_config.yml文件 Site title: eryoyo的博客 subtitle: 坚持✊ description: tensorrt笔记整理 keywords: author: eryoyo language: zh-CN timezone: Asia/Shanghai ​ URLSet your site url here. For example, if you use GitHub Page, set url as ‘https://username.github.io/project‘ url: https://eryoyo.github.io/blog_tensorrt之后进行本地查看 hexo clean hexo g hexo s网站可以在http://localhost:4000/blog_tensorrt里面查看到 之后接着修改_config.yml文件 deploy: type: git repo: [email protected]:eryoyo/blog_tensorrt.git branch: master安装部署需要的包 npm install hexo-deployer-git –save之后部署 hexo deploy在仓库里面setting里面修改github pages的none为master分支,点击save,等待一会之后就可以在访问自己刚刚部署到的网站了 主站建成。","link":"/2023/11/29/Hexo%20Icarus%205.1%20%E6%89%8B%E6%8A%8A%E6%89%8B%E6%90%AD%E5%BB%BA%E6%95%99%E7%A8%8B/"},{"title":"P9816 少项式复合幂 题解","text":"简要题意称一个项数小于等于 $20$ 的多项式为一个少项式。 求一个少项式的 $y$ 次复合函数在 $x$ 点上 $f_{y}(x)\\bmod p$ 的值。 解题思路题目强调注意 $m,p$ 的范围,观察发现 $p$ 的范围在 $10^5$ 之内。 关于模运算,它拥有以下显然的性质: $$(x + y)\\bmod p = (x\\bmod p + y\\bmod p)$$ $$(x \\times y)\\bmod p = ((x\\bmod p)\\times (y\\bmod p))\\bmod p$$ 所以对于一个多项式函数有等式 $f(x) \\bmod p = f(x\\bmod p)\\bmod p$ 存在。不明白的想想你的快速幂为什么对。 $$f(x)\\bmod p = \\sum_{i = 1}^{m} a_i x^{b_i} \\bmod p = \\sum_{i = 1}^{m} (a_i (x\\bmod p)^{b_i} \\bmod p) \\bmod p$$ 如上柿我们可以用 $O(m\\log\\max{b})$ 的时间预处理出所有 $0\\le x < p$ 的 $f(x)\\bmod p$,$O(1)$ 地快速进行回答。 然后应该初学者都能想到通过 $y$ 次迭代求得 $f_y(x)\\bmod p$,关键在于将迭代的复杂度降低。 考虑进行倍增,因为有 $f_{2^k}(x) = f_{2^{k - 1}}(f_{2^{k - 1}}(x))$。 令 $st_{x,k} = f_{2^k}(x)$ 则我们可以通过 $O(\\log y)$ 的迭代求得答案。 $$st_{x,k} =\\begin{cases} f(x)\\bmod p & k = 0 \\ st_{st_{x,k - 1},k - 1} & \\mathrm{Otherwise.}\\\\end{cases}$$ 需要注意的是,因为 $y\\le 10^7$,因此枚举 $k$ 直到 $2^k > 10^7$。 贴个代码这里令 $f_{x,k} = st_{x,k}$。 123456789101112131415161718#define rep(i, l, r) for (int i = (l); i <= (r); ++i)constexpr int Y = 1e7 + 10;rep (i, 0, p - 1) rep (j, 1, m) f[i][0] = (f[i][0] + 1ll * a[j] * fpow(i, b[j]) % p) % p;for (int j = 1; (1 << j) <= Y; ++j) rep (i, 0, p - 1) f[i][j] = f[f[i][j - 1]][j - 1];rep (i, 1, q){ cin >> x >> y; x %= p; for (int k = 30; ~k; --k) if ((1 << k) & y) x = f[x][k]; cout << x << endl;}","link":"/2023/10/29/P9816-%E5%B0%91%E9%A1%B9%E5%BC%8F%E5%A4%8D%E5%90%88%E5%B9%82-%E9%A2%98%E8%A7%A3/"},{"title":"Manacher 算法学习笔记","text":"Manacher 算法于 1975 年发明,用其发明者的名字命名。 Manacher 是一个线性解决回文子串问题的算法。 Manacher 算法适用于处理字符串的所有回文子串,而并非只适用于通常意义上的最长回文子串,具体见下文解释。 前置知识考虑如何描述一个字符串里的回文子串。 比较简单的想法是记该子串的左右端点,将其记为 $[l,r]$。然而对于一个回文子串的子串 $[l+d,r-d]$ 它同样是一个回文子串;除非我们用较为复杂的方法记录这个回文子串的子串,否则需要用另外的空间来描述和储存,这造成了浪费。 另一个利用回文串性质的记法是记录其对称中心和对称长度。例如对于字符串 DBABCBAB 中的子串 ABCBC,我们就可以记其为 $[5,3]$。 对于偶数长度的回文串,我们考虑在每两个字符间插入一个字符,例如 #。同时我们要在头尾插入一些指示字符,辅助下面算法的判断。例如把上面的串变成:$D#B#A#B#C#B#A#B。 通过上述记法结合回文串性质可以发现 $[5,2]$,$[5,1]$ 均为回文子串。我们就可以小改以上这个记法为记录其对称中心和最大对称长度。也就是说 $[5,3]$ 可以说明以 $5$ 为对称中心实际上存在 $3$ 个回文子串。 Manacher 可以用 $O(n)$ 的复杂度求出每一个对称中心的最长对称长度。因此,之前说有人对该算法存在误解,其实我们是可以知道所有回文子串的。 算法考虑一个中心扩展算法。 Unfixed","link":"/2023/11/02/Manacher-%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/"},{"title":"P5377 [THUPC2019] 鸽鸽的分割 题解","text":"简要题意连结圆上 $n$ 个点,求最多能够把圆分成几个部分。 前置知识欧拉公式:$F(ace)=E(dge) - V(ertex)+2$ 人话:$\\text{多边形面数} = \\text{边数} - \\text{顶点数} + 2$ 思路将一个圆折叠成一个多面体,你可以进行一些奇妙的空间变换来达到这一点。 那么我们最后会多出一个底面。 因此在我们的这个圆中 $F(n)=E-V+1$ 求 $V$圆上已经有了 $n$ 个点。我们要使得圆内不存在三线共点的情况。 那么考虑每次选择四个顶点画出一个四边形的两条对角线。 于是又会生成 $C_{n}^{4}$ 个顶点。可以证明已经考虑完全了,于是有 $$V = n + C_{n}^{4}$$ 求 $E$原有 $C_{n}^{2}$ 条边,且圆环上的 $n$ 个点互相连接构成 $n$ 条边。 每多一个交点会增加两条多边形边。又有 $2\\times C_{n}^{4}$ 条。 $$E = n + C_{n}^{2} + 2\\times C_{n}^{4}$$ 最后,我们展开这个逆天的柿子: $$\\begin{aligned} F(n) &= E - V + 1 \\ &= n + C_{n}^{2} + 2\\times C_{n}^{4} - n - C_{n}^{4} + 1 \\ &= C_{n}^{2} + C_{n}^{4} + 1 \\ &= \\dfrac{n(n - 1)}{2} + \\dfrac{n(n - 1)(n - 2)(n - 3)}{4\\times 3 \\times 2} + 1 \\ &= \\dfrac{x^4}{24} - \\dfrac{x^3}{4} + \\dfrac{23x^2}{24} - \\dfrac{3x}{4} + 1\\end{aligned}$$ 去 OEIS 上校验结果,正确。","link":"/2023/10/27/P5377-THUPC2019-%E9%B8%BD%E9%B8%BD%E7%9A%84%E5%88%86%E5%89%B2-%E9%A2%98%E8%A7%A3/"},{"title":"通用快读快写模板","text":"Use these templates after using namespace std;Update Info123456789101112131415161718// Forked from Matrix_mlt[498779]// + Original (原生功能)// + Functions// + read() // 2 Overloaded// + readchar() // Non-overloaded// + write() // Non-overloaded// Pull Request from fengziyi[540226]// + Submitted (已追加功能)// + Functions// + readln() // 2 Overloaded// + writespace() // 2 Overloaded// + writeln() // 4 Overloaded// + New Buffer Reader // + RePacked// + Unsubmitted (待完善)// + Float Number Reading Functions// + Big Interger Functions// + ... Standard Version12345678910111213141516171819202122232425namespace IO{ #define reg register template<typename _Tp> inline void read(_Tp& x) { x = 0; char c = getchar(); bool f = 0; while (!std::isdigit(c)) f |= c == 45, c = getchar(); while ( std::isdigit(c)) x = x * 10 + (c ^ 48), c = getchar(); return f ? x = -x : 1, void(); } template<typename _Tp> inline void write(_Tp x) { static char stk[40]; int top = 0; if (!x) return putchar(48), void(); if (x < 0) putchar(45), x = -x; while (x) stk[top++] = x % 10, x /= 10; while (top) putchar(stk[--top] + 48); } // read template<typename _Tp, typename ...Args> inline void read(_Tp& x, Args& ...args) { read(x), read(args...); }}using namespace IO; Extend Functions (Must be used with Std Ver)12345678910111213141516171819202122232425262728namespace ExtIO{ // readchar inline void readchar(char& x) { for (x = getchar(); !std::isalpha(x); x = getchar()); } // readln template<typename _Tp, typename _Tpp> inline void readln(_Tp a[], _Tpp w) { for (reg _Tpp i = 1; i <= w; ++i) read(a[i]); } template<typename _Tp, typename _Tpp> inline void readln(_Tp a[], _Tpp l, _Tpp r) { for (reg _Tpp i = l; i <= r; ++i) read(a[i]); } // writespace template<typename _Tp> inline void writespace(_Tp x) { write(x); putchar(' '); } template<typename _Tp, typename ...Args> inline void writespace(_Tp& x, Args& ...args) { writespace(x), writespace(args...); } // writeln template<typename _Tp> inline void writeln(_Tp x) { write(x); putchar('\\n'); } template<typename _Tp, typename ...Args> inline void writeln(_Tp& x, Args& ...args) { writespace(x), writespace(args...), putchar('\\n'); } template<typename _Tp, typename _Tpp> inline void writeln(_Tp a[], _Tpp w) { for (reg _Tpp i = 1; i <= w; ++i) writespace(a[i]); putchar('\\n'); } template<typename _Tp, typename _Tpp> inline void writeln(_Tp a[], _Tpp l, _Tpp r) { for (reg _Tpp i = l; i <= r; ++i) writespace(a[i]); putchar('\\n'); }};using namespace ExtIO; Special Buffer-Read Version(Use flushout() at the end if writeln() is used)卡常用,高风险12345678910111213141516171819202122232425262728293031323334353637383940#include <cstring>namespace bufIO{ const int _Pu = 1 << 16; const int _d = 32; char buf[_Pu], obuf[_Pu]; char *inl = buf + _Pu, *inr = buf + _Pu; char *outl = obuf, *outr = obuf + _Pu - _d; inline void flushin() { memmove(buf, inl, inr - inl); int rlen = fread(buf + (inr - inl), 1, inl - buf, stdin); if (inl - rlen > buf) { buf[inr - inl + rlen] = EOF; } inl = buf; } inline void flushout() { fwrite(obuf, outl - obuf, 1, stdout), outl = obuf; } template <typename _Tp> inline void read(_Tp &x) { if (inl + _d > inr) { flushin(); } int isne = 0; for (; !isdigit(*inl); ++inl) { isne = (*inl == '-'); } x = (*inl++ - '0'); for (; isdigit(*inl); ++inl) { x = x * 10 + (*inl - '0'); } if (isne) { x = -x; } } template <typename _Tp> inline void writeln(_Tp x, char end = '\\n') { if (outl > outr) { flushout(); } if (x < 0) { *outl++ = '-'; x = -x; } char sta[20]; char *top = sta; do { *top++ = (x % 10) + '0'; x /= 10; } while (x); do { *outl++ = *--top; } while (top != sta); (*outl++) = end; } template<typename _Tp, typename ...Args> inline void read(_Tp& x, Args& ...args) { read(x), read(args...); }}using namespace bufIO;","link":"/2023/11/04/%E9%80%9A%E7%94%A8%E5%BF%AB%E8%AF%BB%E5%BF%AB%E5%86%99%E6%A8%A1%E6%9D%BF/"},{"title":"在随便哪一台电脑上写博客?- Hexo 多端同步","text":"将 Github 运用到底! 再来个奇妙小仓库还是太麻烦了,我们使用分支功能。 启用同步在第一用户端的博客根目录下 Git Bash 新建一个仓库。 1git init 然后确保你的 .gitignore 文件里屏蔽了以下目录和文件的提交。 12/.deploy_git /public 添加该仓库到远程仓库列表: 12345git remote add origin [your github repository]# 例如作者本人的:# git remote add origin [email protected]:YttriumWillow/yttriumwillow.github.io.git# 这是 SSH 模式下的提交,你的远程仓库 HTTPS 地址可能是这样# https://github.com/username/username.github.io.git 一路提交更改到 hexo 分支。 1234git add . # 将变更添加到 git 暂存区 git commit -m "[comment]" # 提交本次更改,并附加提交信息git push origin main:hexo # 将本地 main 分支的提交发布到远程仓库的 hexo 分支# 我为了省事用的 main 主分支,有的仓库的默认分支可能是 master 你的 Github 仓库里面就会出现这个分支。 在其他设备上同步如果这是一台全新的设备, 请先安装 Git, Node.js 并更新 npm。 打开你需要同步该文件的目录并启动终端。 使用 Git 同步: 1git clone -b hexo [your github repository] 安装 hexo 依赖: 123npm install hexo-cli -gnpm installnpm install hexo-deployer-git # 这东西好像会同步到 package.json 但最好安装一下 已经同步完毕。使用 hexo g / hexo s 进行测试。 更新博客前请先 pull 进行同步。 1git pull origin hexo 更新结束后提交修改。 123git add . git commit -m "[comments]" git push origin main:hexo 你可以直接使用 bat 来做到一键完成这些功能。 这样我们就可以在不同的设备上写 hexo 博客了。","link":"/2023/11/04/%E5%9C%A8%E9%9A%8F%E4%BE%BF%E5%93%AA%E4%B8%80%E5%8F%B0%E7%94%B5%E8%84%91%E4%B8%8A%E5%86%99%E5%8D%9A%E5%AE%A2%EF%BC%9F-Hexo-%E5%A4%9A%E7%AB%AF%E5%90%8C%E6%AD%A5/"}],"tags":[{"name":"OI","slug":"OI","link":"/tags/OI/"},{"name":"博客","slug":"博客","link":"/tags/%E5%8D%9A%E5%AE%A2/"}],"categories":[{"name":"OI","slug":"OI","link":"/categories/OI/"},{"name":"博客","slug":"博客","link":"/categories/%E5%8D%9A%E5%AE%A2/"}],"pages":[]}
Loading

0 comments on commit e0fa845

Please sign in to comment.