Skip to content

Commit 21be153

Browse files
author
wu-kan
committed
博文若干
1 parent 22e6463 commit 21be153

6 files changed

+127
-61
lines changed

_config.yml

Lines changed: 63 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
157157
- | # 网站背景图片,分竖屏、宽屏;改链接即可,不想用可以把这一项全删掉;要换壁纸图片的话可把url内的部分换成你自己的,比如你放在 /assets/image/background.jpg,那就改成 url(/assets/image/background.jpg)
158158
<style>
159159
.wrap {
160-
transition-property: all;
160+
transition-property: width,background-size,transform;
161161
transition-duration: .3s;
162162
transition-timing-function: ease-in-out;
163163
min-height: 100%;
@@ -176,13 +176,13 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
176176
.sidebar-overlay #sidebar-checkbox:checked ~ .wrap {
177177
width: calc(100% - 14rem);
178178
background-size: calc(100% - 14rem) auto;
179-
left: 14rem;
179+
transform: translateX(14rem);
180180
}
181181
.layout-reverse.sidebar-overlay #sidebar-checkbox:checked ~ .wrap {
182-
left: 0;
182+
transform: translateX(0);
183183
}
184184
</style>
185-
- | # 网站字体
185+
- | # 网站字体,要换字体建议架梯子上<https://fonts.google.com/>挑选,再通过fonts.loli.net 加速引入
186186
<style>
187187
html,
188188
h1,
@@ -205,8 +205,8 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
205205
- | # 彩虹滚动条,仅对Chrome系浏览器生效
206206
<style>
207207
::-webkit-scrollbar {
208-
width: 4px;
209-
height: 4px;
208+
width: 3px;
209+
height: 3px;
210210
}
211211
::-webkit-scrollbar-thumb {
212212
background-image: linear-gradient(45deg, Cyan 0%, Magenta 50%, Yellow 100%);
@@ -317,11 +317,10 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
317317
<style>
318318
#toc {
319319
overflow: auto auto;
320-
max-height:50vh;
320+
max-height: 50vh;
321321
}
322322
</style>
323323
<aside id="toc">
324-
目录
325324
</aside>
326325
<script
327326
defer='defer'
@@ -344,29 +343,34 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
344343
<i class="fas fa-spinner fa-pulse"></i>
345344
</span>秒
346345
<script>
347-
setInterval(function (BirthDay) {
346+
setInterval(function (d,h,m,s,b) {
348347
function setzero(i) {
349-
if (i < 10) return "0" + i;
350-
return i;
348+
return i < 10 ? "0" + i : i;
351349
}
352-
BirthDay = new Date(BirthDay);
353-
today = new Date();
354-
timeold = (today.getTime() - BirthDay.getTime());
355-
sectimeold = timeold / 1000;
356-
secondsold = Math.floor(sectimeold);
357-
msPerDay = 24 * 60 * 60 * 1000;
358-
e_daysold = timeold / msPerDay;
359-
daysold = Math.floor(e_daysold);
360-
e_hrsold = (e_daysold - daysold) * 24;
361-
hrsold = Math.floor(e_hrsold);
362-
e_minsold = (e_hrsold - hrsold) * 60;
363-
minsold = Math.floor((e_hrsold - hrsold) * 60);
364-
seconds = Math.floor((e_minsold - minsold) * 60);
365-
document.getElementById("run_time_day").innerHTML = daysold;
366-
document.getElementById("run_time_hour").innerHTML = setzero(hrsold);
367-
document.getElementById("run_time_minute").innerHTML = setzero(minsold);
368-
document.getElementById("run_time_second").innerHTML = setzero(seconds);
369-
}, 1000, "10/04/2017 11:03:56") // 这是我第一篇CSDN博客的时间
350+
let BirthDay = new Date(b);
351+
let today = new Date();
352+
let timeold = (today.getTime() - BirthDay.getTime());
353+
let sectimeold = timeold / 1000;
354+
let secondsold = Math.floor(sectimeold);
355+
let msPerDay = 24 * 60 * 60 * 1000;
356+
let e_daysold = timeold / msPerDay;
357+
let daysold = Math.floor(e_daysold);
358+
let e_hrsold = (e_daysold - daysold) * 24;
359+
let hrsold = Math.floor(e_hrsold);
360+
let e_minsold = (e_hrsold - hrsold) * 60;
361+
let minsold = Math.floor((e_hrsold - hrsold) * 60);
362+
let seconds = Math.floor((e_minsold - minsold) * 60);
363+
d.textContent = daysold;
364+
h.textContent = setzero(hrsold);
365+
m.textContent = setzero(minsold);
366+
s.textContent = setzero(seconds);
367+
},
368+
1000,
369+
document.getElementById("run_time_day"),
370+
document.getElementById("run_time_hour"),
371+
document.getElementById("run_time_minute"),
372+
document.getElementById("run_time_second"),
373+
"10/04/2017 11:03:56")// 这是我第一篇CSDN博客的时间
370374
</script>
371375
</div>
372376
- | # 不蒜子页面统计,看不懂可不改
@@ -394,23 +398,30 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
394398
async='async'
395399
></script>
396400
</div>
397-
- | # Copyright声明
398-
<div>
399-
<i class="fas fa-copyright fa-fw"></i>
400-
2017-2020 WuK
401-
</div>
402401
- | # 觉得我的主题好用的话,让更多的人知道它吧!
403402
<div>
404403
<i class="fas fa-thumbs-up fa-fw"></i>
405404
<a href="https://jekyll-theme-WuK.wu-kan.cn">
406405
jekyll-theme-WuK
407406
</a>
408407
</div>
408+
- | # Copyright声明
409+
<div>
410+
<i class="fas fa-copyright fa-fw"></i>
411+
2017-2020 WuK
412+
</div>
409413
- | # 我的备案信息,请你的网站删掉这一项。互联网非法外之地!
410414
<div>
411415
<i class="fas fa-info-circle fa-fw"></i>
412416
<a href="http://beian.miit.gov.cn">
413-
粤ICP备20024947号
417+
粤ICP备 20024947号
418+
</a>
419+
</div>
420+
- | # 公安网备信息
421+
<div>
422+
<img src="http://www.beian.gov.cn/img/new/gongan.png" class="fa-fw"></img>
423+
<a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=34070202000407">
424+
皖公网安备 34070202000407号
414425
</a>
415426
</div>
416427
wordcount: # 全站字数统计
@@ -467,13 +478,11 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
467478
defer="defer"
468479
onload='
469480
Prism.plugins.autoloader.languages_path = "https:\/\/cdn.jsdelivr.net/npm/prismjs/components/";
470-
for(let x=document.getElementsByTagName("pre"), i=0;i<x.length;i++)
471-
{
472-
x[i].classList.add("line-numbers");
473-
}
481+
for(let x of document.getElementsByTagName("pre"))
482+
x.classList.add("line-numbers");
474483
Prism.plugins.toolbar.registerButton("select-code", function (env) {
475484
let button = document.createElement("button");
476-
button.innerHTML = "select this " + env.language;
485+
button.textContent = "select this " + env.language;
477486
button.addEventListener("click", function () {
478487
if (document.body.createTextRange) {
479488
let range = document.body.createTextRange();
@@ -511,14 +520,14 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
511520
src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"
512521
defer="defer"
513522
onload='
514-
for(let x=document.getElementsByClassName("language-mermaid"), i=0;i<x.length;i++)
515-
if(x[i].nodeName=="CODE")
516-
{
517-
let m = document.createElement("div");
518-
m.classList.add("mermaid");
519-
m.textContent = x[i].textContent;
520-
x[i].parentNode.insertAdjacentElement("beforebegin", m);
521-
}'
523+
for(let x of document.getElementsByClassName("language-mermaid"))
524+
if(x.nodeName=="CODE")
525+
{
526+
let m = document.createElement("div");
527+
m.classList.add("mermaid");
528+
m.textContent = x.textContent;
529+
x.parentNode.insertAdjacentElement("beforebegin", m);
530+
}'
522531
></script>
523532
comments: # 留言页
524533
alert:
@@ -567,7 +576,12 @@ jekyll-theme-WuK: # 我的主题的自定义样式都在这个命名空间
567576
<a href="/merger/">如果这篇博客帮助到你,可以请我喝一杯咖啡~</a>
568577
<br/>
569578
<i class="fab fa-creative-commons-by fa-fw"></i>
570-
<a rel="license" href="https://creativecommons.org/licenses/by/4.0/deed.zh">CC BY 4.0</a>(除特别声明或转载文章外)
579+
<a
580+
href="https://creativecommons.org/licenses/by/4.0/deed.zh"
581+
rel="license">
582+
CC BY 4.0
583+
</a>
584+
(除特别声明或转载文章外)
571585
tags:
572586
pie_chart: # 显示一个标签的饼状统计图,需要引入 mermaid
573587
enable: true

_posts/2019-01-18-基于Jekyll搭建个人博客.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -264,13 +264,13 @@ Bob-->>John: Jolly good!
264264
src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"
265265
defer="defer"
266266
onload='
267-
for(let x=document.getElementsByClassName("language-mermaid"), i=0;i<x.length;i++)
268-
if(x[i].nodeName=="CODE")
267+
for(let x of document.getElementsByClassName("language-mermaid"))
268+
if(x.nodeName=="CODE")
269269
{
270270
let m = document.createElement("div");
271271
m.classList.add("mermaid");
272-
m.textContent = x[i].textContent;
273-
x[i].parentNode.insertAdjacentElement("beforebegin", m);
272+
m.textContent = x.textContent;
273+
x.parentNode.insertAdjacentElement("beforebegin", m);
274274
}'
275275
></script>
276276
```
@@ -303,10 +303,8 @@ Bob-->>John: Jolly good!
303303
src="//cdn.jsdelivr.net/npm/prismjs/plugins/line-numbers/prism-line-numbers.min.js"
304304
defer="defer"
305305
onload='
306-
for(let x=document.getElementsByTagName("pre"), i=0;i<x.length;i++)
307-
{
308-
x[i].classList.add("line-numbers");
309-
}'
306+
for(let x of document.getElementsByTagName("pre"))
307+
x.classList.add("line-numbers");'
310308
></script>
311309
<link
312310
rel="stylesheet"
@@ -318,7 +316,7 @@ Bob-->>John: Jolly good!
318316
onload='
319317
Prism.plugins.toolbar.registerButton("select-code", function (env) {
320318
let button = document.createElement("button");
321-
button.innerHTML = "select this " + env.language;
319+
button.textContent = "select this " + env.language;
322320
button.addEventListener("click", function () {
323321
if (document.body.createTextRange) {
324322
let range = document.body.createTextRange();

_posts/2020-04-22-软件工程理论与实践(二).md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tags: 软件工程理论与实践
1313
2. 面向对象的设计(OD)
1414
3. 面向对象的编程
1515
4. 面向对象的测试
16-
5. 面向对象的维护
16+
5. 面向对象的维护
1717

1818
## 基于面向对象的软件需求分析的步骤和制品是什么
1919

_posts/2020-04-25-编译原理(一).md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tags: 编译原理
1313

1414
由 a、b 和 c 构成的字符串,a 和 b 都至少出现一次。
1515

16-
## 设字母表 $\sum=\{a,b\}$,用正则表达式(只使用 $a$,$b$,$\epsilon$,$\vert$,\*,$+$,$?$)描述下列语言
16+
## 设字母表 $\sum=\{a,b\}$,用正则表达式(只使用 $a$,$b$,$\varepsilon$,$\vert$,\*,$+$,$?$)描述下列语言
1717

1818
注意:关于子串(substring)和子序列(subsequence)的区别可以参考课本第 119 页方框中的内容。
1919

_posts/2020-04-28-编译原理(二).md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ s2((s2))
8484

8585
## 设有一门小小语言仅含 `z``o``/`(斜杠)3 个符号,该语言中的一个注释以一个`/o` 为开始标记,以此后出现的第一个 `o/`为结束标记
8686

87-
### 请给出单个正则表达式,它仅与一个完整的注释匹配,除此之外不匹配任何其他串。书写正则表达式时,要求仅使用最基本的正则表达式算子($\epsilon$,$\vert$,\*,+,?)
87+
### 请给出单个正则表达式,它仅与一个完整的注释匹配,除此之外不匹配任何其他串。书写正则表达式时,要求仅使用最基本的正则表达式算子($\varepsilon$,$\vert$,\*,+,?)
8888

8989
`/o((o*z)|/)*o+/`
9090

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: 编译原理(三)
3+
tags: 编译原理
4+
---
5+
6+
## 考虑以下 DFA 的状态迁移表,其中 0,1 为输入符号,A~H 代表状态,其中 A 为初始状态,D 为接受状态,请画出与此 DFA 等价的最小 DFA,并在新的 DFA 状态中标明它对应的原 DFA 状态的子集
7+
8+
| | 0 | 1 |
9+
| --- | --- | --- |
10+
| A | B | A |
11+
| B | A | C |
12+
| C | D | B |
13+
| D | D | A |
14+
| E | D | F |
15+
| F | G | E |
16+
| G | F | G |
17+
| H | G | D |
18+
19+
| 步骤 | $F$ | $S-F$ |
20+
| ---- | ------- | ------------------------------- |
21+
| 1 | $\{D\}$ | $\{A,B,C,E,F,G,H\}$ |
22+
| 2 | $\{D\}$ | $\{C,E\},\{A,B,F,G,H\}$ |
23+
| 3 | $\{D\}$ | $\{C,E\},\{A,G\},\{B,F\},\{H\}$ |
24+
25+
由画图工具所限,以下均以圆形表示 Start 节点。
26+
27+
```mermaid
28+
graph LR
29+
AG--0-->BF
30+
AG--1-->AG
31+
BF--0-->AG
32+
BF--1-->CE
33+
CE--0-->D
34+
CE--1-->BF
35+
D--0-->D
36+
D--1-->AG
37+
H--0-->AG
38+
H--1-->D
39+
AG((AG))
40+
```
41+
42+
备注:按照教材 DFA 的算法,“死状态”H 会保留下来,但是从实用性的角度 H 去掉也无妨.
43+
44+
## 考虑所有含有 3 个状态(设为 p,q,r)的 DFA. 设只有 r 是接受状态. 至于哪一个状态是初始状态与本问题无关. 输入符号只有 0 和 1. 这样的 DFA 总共有 729 种不同的状态迁移函数,因为对于每一状态和每一输入符号,可能迁移到 3 个状态中的一个,所以总共有 3^6=729 种可能. 在这 729 个 DFA 中,有多少个 p 和 q 是不可区分的(indistinguishable)?解释你的答案
45+
46+
当 p 和 q 不可区分的时候,r 的迁移实际上与问题无关,因此 r 对输入 0 或者输入 1 各有三种可能的迁移,总共 $3\times 3=9$ 种可能,均符合题意。
47+
48+
下面考虑 p 和 q 的迁移,不妨考虑输入为 0 的情况:
49+
50+
1. 若 p 迁移到 r,则 q 也要迁移到 r,只有一种情况符合。
51+
2. 若 p 迁移到 p,则 q 迁移到 p、q 都是符合的。
52+
3. 若 p 迁移到 q,则 q 迁移到 p、q 都是符合的。
53+
54+
综上,当输入为 0 时 p、q 的迁移有五种情况符合。同理当输入为 1 的时候 p、q 的情况也有五种符合,因此 p、q 的迁移表有 $5\times 5=25$ 种情况符合,因此总共有 $9\times 25=225$ 个 DFA 符合题意。

0 commit comments

Comments
 (0)