elog

Borůvka algorithm

断了今生、忘了曾经 提交于 2020-05-07 19:51:24
#Borůvka algorithm 我好无聊啊,直接把wiki的算法介绍翻译一下把。 wiki关于Borůvka algorithm的链接: 链接 Borůvka algorithm是一个在所有边权都是不同的图中找到最小生成树的贪心算法。(其实边权相同也可以做,具体见后文),或者在一个不联通的图找到最小生成树。 它由 Otakar Borůvka (人名)第一次发表在1926年,被作为给Moravia(一个地区)一种有效的电网建设方法。这个算法被Choquet在1938年重新发现,在1951年,它又被 Florek, Łukasiewicz, Perkal, Steinhaus, and Zubrzyck重新发现。又在1965年被Georges Sollin发现。这个算法经常被叫做Sollin's algorithm.特别在 parallel computing的文献中。 算法过程: 一开始每个点自成一个联通块。 每次所有联通块都找一条边权最小的边,其中一端在该联通块内而另一端不在,接下来加入这些边并合并联通块。 重复上述操作直到没有联通块可以合并。 一个细节:由于我们的写法问题,在边权相同的特殊情况下,我们会连接形成环,所以我们增加一个维度来排序。 看一下这东西流程: 可以用切割性质证明算法的正确性。 切割性质: 将点集V分成S和V-S,一端在S内另一端在V-S内边权最小的边

websocket++序列: Config

萝らか妹 提交于 2020-04-13 17:01:42
【今日推荐】:为什么一到面试就懵逼!>>> 1. Core Configs 1.1 Policies: Typedef Name Effect concurrency_type Concurrency policy: 并行策略 elog_type Error logger type: 错误日志类型 alog_type Access logger type: 接入日志类型 request_type HTTP request type: HTTP请求类型 response_type HTTP response type: HTTP响应类型 message_type Type to deliver recieved messages: 用于传输接收的消息的类型 con_msg_manager_type Connection level message manager: connection级别消息管理 endpoint_msg_manager_type Endpoint level message manager: endpoint级别消息管理 rng_type Random Number Generation policy: 产生随机数的策略 transport_type Transport policy to use: 使用的传输策略 endpoint_base User

巧用 bash 变量的正则匹配功能,实现海量文件名的格式化

浪尽此生 提交于 2020-03-07 00:40:26
写在前面 疫情期间整理 Synology 里存储了 10多年的相片 ,这些相片穿越了功能手机到智能手机的年代。 不少照片非常有年代感,文件名同样也有年代感。五花八门…… 最初用 exiv2 来读取照片的源信息,发现有些老照片没有源信息、新格式的照片读不到源信息。 然后用 exiftool 来识别了新照片的源信息和部分视频的源信息。 最后甚至还启用了 SQLite 数据库存储文件的源信息。 化繁为简 今日扫描了一遍文件系统,结合 SQLite 里的数据分析,发现仍有大量 照片/视频 的拍摄时间无法确定: 部分手机拍摄的全景照片 部分第三方拍照软件 从第三方软件另存的照片 部分视频文件 很久很久以前的照片 这些都是最美好的记忆,我要保存好它。所以我决定写个脚本去识别那个“乌七八糟”不规则的文件名,哪怕会有些不需要的照片也被整理进来。 总比把珍贵的照片现在就丢失了的好,未来还可以用图片识别去分类、去重,最终无法用程序处理的再人肉处理。想想都完美~   好,开始动手敲: #!/bin/bash # Rename.sh : Foramt the file name by rules readonly iLog="./Rename.log" # 扫描日志 readonly eLog="./Rename.err" readonly debug=false readonly stdName="(^

在 Synology 中使用 SQLite 归档文件信息

谁说我不能喝 提交于 2020-03-05 14:23:25
写在前面 前面借助 exiv2 和 exiftool 做照片视频做了归档,是时候把需要的信息存起来了。 考虑到数据的安全性、读写的便利性,决定用 SQLite ( Synology 内置)。 注: Synology 还内置了 Redis 、 PostGreSQL 。 建库 文件系统,只有文件全路径是唯一,其它信息均读出来方便日后查: CREATE TABLE if not exists FileInfo ( FullPath NVARCHAR(100) PRIMARY KEY NOT NULL, FileMd5 NCHAR(33) NOT NULL, FileType CHARACTER(9), FileSize INT NOT NULL, CreateTime DATETIME, UpdateTime DATETIME ); CREATE INDEX if not exists FullPath ON FileInfo (FullPath); CREATE INDEX if not exists CreateTime ON FileInfo (CreateTime); CREATE INDEX if not exists FileType ON FileInfo (FileType); CREATE INDEX if not exists FileMd5 ON FileInfo

强大的 exiftool 助 Synology 照片整理一臂之力

↘锁芯ラ 提交于 2020-03-03 21:18:04
上次整理照片: 强大的 exiv2 助 Synology 照片整理一臂之力 由于 exiv2 不支持 heic 图片和视频文件,联系 Synology 推荐了 exiftool 。 安装 exiftool # 先安装 Perl 套件,然后开启 ssh-server wget -o ~admin/www/Image-ExifTool-11.89.tar.gz https://exiftool.org/Image-ExifTool-11.89.tar.gz tar -C ~admin/www -zxvf ~admin/www/Image-ExifTool-11.89.tar.gz ln -s ~admin/www/Image-ExifTool-11.89/exiftool /usr/local/bin/exiftool exiftool -ver 体验 exiftool exiftool 果然 很强大 ,自带了 图片改名功能 、而且支持非常丰富的媒体类型。 # 按照片拍摄年份,存入指定目录 exiftool '-Directory<CreateDate' -d "~/photo/%Y" ./*.{jpg,cr2,heic} # 文件按格式改名 exiftool '-filename<CreateDate' -d "%Y/%Y%m%d-%H%M%S.%%le" ./*.{jpg,heic