环境搭建

装 d2l==0.17.6 的时候 pandas build wheel 失败了,查了一下应该是这个原因

没怎么细看,因为用高点的 python 版本直接 pip install d2l 就成功了

数据预处理

阅读全文 »

定义 concept

1
2
template<typename T>
concept c = (bool_expression);

requires(args) {...} 可以作为一个 bool 表达式,检查大括号中内容是否编译通过

e.g.

阅读全文 »

题目:loj6572, loj6573, loj6574

主要写一下 t3

一开始本人的思路是先把一个数前后颠倒地放到等号后面,再加上另一个数,最后把求得的和正过来,写了约 90 行。

小组讨论一会后发现这个取反操作挺没必要的,直接把第二个数加到第一个数上就行。

阅读全文 »

由于 vim 在 Normal 模式并不能识别中文输入法打出的命令,所以可以考虑在退出插入模式时自动切换输入法为英文。

使用 InputSourceSelector

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if has('mac')
function SwitchInput()
let w:stored_input = split(system('input_selector current'))[0]
if w:stored_input != "com.apple.keylayout.ABC"
exec system('input_selector select com.apple.keylayout.ABC')
endif
endfunction
set ttimeoutlen=100
call SwitchInput()
autocmd InsertLeave * call SwitchInput()
autocmd InsertEnter * {
if !exists("w:stored_input")
w:stored_input = split(system('input_selector current'))[0]
endif
if split(system('input_selector current'))[0] != w:stored_input
exec system("input_selector select " .. w:stored_input)
endif
}
endif

摘要

互联网的快速发展使得信息的传播和交流变得更加便捷和广泛。从早期的BBS(电子布告栏系统)到现代的社交媒体平台,用户生成内容(UGC)的分发算法经历了巨大的演变。在过去,BBS通过简单的时间排序展示内容,而如今的社交媒体平台则依靠复杂的推荐算法和个性化信息流来向用户推荐他们可能感兴趣的内容。本文将探讨早期平台的分发算法的特点以及其背后的原因,同时介绍现代平台采用的推荐算法,如协同过滤算法,并讨论它们的工作原理和应用。通过深入了解这些算法的变革,我们可以更好地理解社交媒体平台上内容分发的机制,以及它们对用户体验和信息传播的影响。同时,本文将探讨可能的未来发展方向,以期为UGC平台的进一步改进和创新提供思路和启示。

关键词

UGC BBS 社交媒体 内容分发算法

阅读全文 »

众所周知终端中删掉文件之后无法恢复。

解决方案

  1. trash-cli 但这样虽然能够恢复文件,却无法跟 Finder 共用同一个废纸篓。

  2. 使用 applescript 传消息给 Finder

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python3
import os
import sys
import subprocess

if len(sys.argv) > 1:
files = []
for arg in sys.argv[1:]:
if os.path.exists(arg):
p = os.path.abspath(arg).replace('\\', '\\\\').replace('"', '\\"')
files.append('the POSIX file "' + p + '"')
else:
sys.stderr.write(
"%s: %s: No such file or directory\n" % (sys.argv[0], arg))
if len(files) > 0:
cmd = ['osascript', '-e',
'tell app "Finder" to move {' + ', '.join(files) + '} to trash']
r = subprocess.call(cmd, stdout=open(os.devnull, 'w'))
sys.exit(r if len(files) == len(sys.argv[1:]) else 1)
else:
sys.stderr.write(
'usage: %s file(s)\n'
' move file(s) to Trash\n' % os.path.basename(sys.argv[0]))
sys.exit(64) # matches what rm does on my system
阅读全文 »