Strava heatmap and GPS

发现 strava 出了个 sport heatmap 的功能 于是去看了看 发现奥园有如下神奇现象 呵呵一笑 不说话

January 30, 2018 · 1 min · laekov

CST DS2017 PA3-3

PA3-3 题意 一堆字符串判循环相等 做法 最小表示法模板题 也可以直接 hash 不过最小表示了也得 hash. PA <= 常数优化实习. 可能会在这里贴代码.

December 6, 2017 · 1 min · laekov

Encode

Text Key Encode base64 Ceasar (needs key to be a number) Vigenere (needs key to be a string) MD5 SHA1

November 27, 2017 · 1 min · laekov

Logs on setting up Jupyter

最近在尝试搭 python 的数据分析的环境. 总结一下遇到的一些坑. 用的是 14.04 这个有点老的 ubuntu. nginx + jupyter jupyter 这个玩意的 web 写得不是很优美. 所以需要转发的地方蛮麻烦的. 本来想直接在 uri 里搞一下. 然后发现过于难受就放弃了, 重新配置了一个域名转发. nginx 的 server 配置里需要加这么一段. server { location ~* /(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_pass http://127.0.0.1:8888; } } 其中有个Upgrade是这么定义的. http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } sendfile on; } google 了几个配置文件才弄出这么一个能用的....

November 14, 2017 · 1 min · laekov

Two key MST

laekov naiiiiiiiiive 问题 一个无向图 (G), 每条边 (e) 有两个边权 (a_e, b_e). 求一个生成树 (T) 使得 ( (\sum_{e \in T} a_e) * ( \sum_{e \in T} b_e) ) 最小. 多项式算法就是胜利w. 原题 搜 bzoj2395. 这网站里搜可以找到代码. 一个未成形的算法 正确性和时间复杂度都待证 qwq. 感觉是对的. 但是严格证明 qaq. 已经脱离理论计算机科学界太久了. 假设我们有一个生成树的序列 ( Q ) 和一个生成树池 ( P ). 算法如下 对 ( a ) 这一个权值跑出一个最小生成树 ( T_0 ). 把 ( T_0 ) 作为 ( Q ) 里的第一个元素. 取出 ( Q ) 里的最后一棵生成树 ( T )....

October 6, 2017 · 1 min · laekov

CST DS2017 PA1

1 使用数论快速傅立叶变换进行多项式乘法. 要压三位才能过. 2 先把两维坐标分别快速排序 然后每个问题二分 然后建立两个向量, 看它们的夹角是劣的还是优的, 从而判断这个点在线段和坐标轴围成的三角形的内外 3 维护一个栈 如果右边所有数里的最大值都没有栈顶大, 就弹栈, 否则一直压栈到右边最大的数, 输出最大的数, 然后重复执行此操作. 4 在普通的队列里再维护一个单调队列, 对价格单调. 每次从单调队列里选择当前持有的股票, 用普通队列维护添加 / 删除. 5 替罪羊树维护序列. 至今 90 的数据有一个点 wa 掉不知为何. 可能满跑速度有点悬. 6 利用双向链表进行操作. 链表并不记录前后, 而是只记录两个端. 每个光标记录左右. 然而还是被卡常了.

September 19, 2017 · 1 min · laekov

Web 爬虫二三事

最近 get 了一个技能叫爬虫. (可能早就 get 了只是没有实践过?) 然而我是用 js 写的. 毕竟自带异步而且瓶颈是延迟. 任务大概是说抓 wiki 的 list of people 上的人的 info. 然后发现可能它是一个不规则的索引结构. 每个二级索引都长得不太一样. 没事我们直接当作它就是二级索引结构. 然后发现有的企业也有 infobox. 这就很无语了? 没事我们判断一下它是不是有 occupation, born 这样的关键字吧. 然后大概就比较能看了? (才怪) 另外在看资料的时候才发现一种把 html plain 化的方式. 直接把所有的标签去了. 之前沉迷剥标签的我突然觉得自己真是蠢哭了. 嗯就是这么愉快.

September 15, 2017 · 1 min · laekov

docker-compose DHCP and DNS

docker-compose 的网络 会自动加一些解析 把服务名和 ip 给绑起来 所以根本不用去搞 static ip 好像被这事坑了一万年了

August 8, 2017 · 1 min · laekov

World is Strange

Life is strange. World is even more strange. 推这游戏的时候对所谓平行宇宙有了更多的想法. 游戏里每个分枝点你只能选一个, 但是另一个分枝点的剧本都写好了! 也就是说不管你怎么选择, 它都是存在的. 那么世界是不是也是一样的呢? 任何选择都是同步进行的. 或者说平行时间是存在的, 然而存在的形式并不是物质, 而是逻辑. 那么新的问题是, 以逻辑的方式存在算不算存在呢? Historical Comments Bakser at 2017-07-14T15:05:44 建议了解一下free-will问题,会很有趣XD laekov at 2017-09-15T15:53:13 留言有问题?

July 13, 2017 · 1 min · laekov

Rule-based Regular Routing Method

Upd: 代码来了 https://github.com/laekov/rbrrm 来 mark 一下我的 oop 组队大作业中窝肝的部分. 姚氏大作业果然有趣. 大概问题是这样的. 现在一个 pcb 上面有 (n*n) 的元件矩阵(忽略元件面积). 然后你要布线让每个元件都单独连着一条通往边界的电线, 我们管它叫这个点的 escape 路线. (最边上的就直接算作逃出去了) 然后电线只能横竖沿着格线走. 显然直接走是走不出去的. 所以你要找一个最小的 ( w ), 把原来的每行每列的中间都插上(w)条格线, 然后找一个总长最小 (或者如果你有其它的 feature 的话可以是尽量小) 的方案. 官方的的范围是 ( 80 ), 然后我算出来的 (80) 对应的 (w) 是 (23). 这个范围直接二分建图跑网络流已经非常吃力了. (或者直说要跑几天才跑得出来). 一个比较小的例子如图. 这个问题的标题叫作_rule based regular routing path_, 也就是说有某种直接用规则布线就可以了? 然后窝的第一个想法是神贪心, 然而在和大树讨论了很久之后也没有找到一种能让我们两个觉得靠谱且简洁优美的贪心. 然后窝就在想网络流是否有救. 在和 czr 讨论了一阵以及 czr 帮窝去 ieee 找了几篇 paper (btw, 校内网可以免费直接下 ieee 的论文不能更赞) 后发现了这么一个结论. 对于每个 ( w*w ) 的格子, 它的承载上限 (也就是说穿过这个格子的线的条数) 是 ( w )....

June 11, 2017 · 2 min · laekov