动态规划入门
动态规划入门[[动态规划入门]] 动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。 动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。 ——维基百科 观前提示:本文需要一定的算法基础,包括但不限于递推、搜索、回溯、递归。 如果说递归是算法学习面临的第一道门槛,那么动态规划就是第二道门槛。这两者的学习都有一个相似的特点——抽象。 下面这篇文章是笔者认为最好理解入门动态规划的路线与方式。 笔者虽然比较喜欢用Python,但是不可否认C++在效率方面比Python快得多,且竞赛也大多使用C++,因此本文代码也用C++写。(不过如果学习了Python,应该也不难理解) ——————————————————————————掉头发的分割线———————————————————————— 网上很多教程以01背包开始动态规划的第一堂课,笔者私以为这是不太合理的。 固然,开始学习动态规划时大家大多已经学会了DF...
OneDrive 妙用
OneDrive妙用众所周知,office 365和OneDrive的5T空间是非常好嫖的,半年前我嫖了一个Office365和一个5T的OneDrive账号,这篇文章就来说说OneDrive的各种妙用。 需要注意的是,OneDrive现在分为两种版本,第一种就是国际版,第二种是中国的世纪互联版,世纪互联版本的OneDrive在国内的体验更佳,但是往往嫖到的都是国际版。好在问题不大,国内速度虽然有时会抽风,但绝大部分时间还是比那个**网盘快得多。 观前提醒:嫖来的OneDrive切勿存重要文件,随时有可能翻车,而且数据安全不保证,有条件的土豪还是支持正版。 一、嫖Office365+OneDrive5T这一部分吧不好多说,不然就翻车了,总之大家去网上查一查Office 365 A1/A1P,注意A1是没有桌面版office的,A1P是有的,但是两者都有OneDrive5T。如果有需要的,可以给我发邮箱找我代购(笑。 再提醒一次:嫖来的OneDrive切勿存重要文件,随时有可能翻车,而且数据安全不保证,有条件的土豪还是支持正版。 二、Rclone挂载OneDrive在这里...
2022年优雅地使用桌面Linux
2022年优雅地使用桌面Linux本文有效期限于2022.03.23 从1990年Linux诞生的那一刻,一个属于开源的时代终将出现。 大概三年前,博主第一次尝试在桌面端使用Linux。毋庸置疑的是在服务器上的主流操作系统Linux已经占了上风,但是在桌面操作系统上,无论是生态、硬件支持、日常使用体验上都远远不如Windows和macOS。 最有典型代表的就是安装无论哪个发行版都需要的操作——换源。三四年前,Ubuntu换源需要自行修改apt的conf文件、选定最快的源、刷新索引、导入密钥等等。 而现如今在ArchLinux上: 只需要一行命令,就可以自动帮你选择最快的源并自动设置。而我在这三年中没少用Linux,见证着这一步步的发展,也看见了Linux逐渐向普通用户靠近的过程。 现在已经是2022年了,随着国产基于Linux的操作系统UOS、Deepin、麒麟V20等逐渐在一些家用机上的普及,我相信中国Linux桌面操作系统的元年终将到来。 随着国产操作系统的完善,Windows或许有一天真的会被取代,这时学习一些Linux的知识也还及时。 博主已经完全转向Linux有三个月...
博客于我之精神——记于博客4万字
博客于我之精神——记于博客4万字写这篇文章之前,博客总字数已达39,983字,姑且算他四万字吧(战术仰头) 博客究竟与我有何作用,估计是我自己也说不清的。无非便是三个词**“宣泄、记录和交流”**。 为何要“博”? 或许有人认为是“博”他人之关注,但明显总阅读量不超4000次的我并不是如此(笑)。 显示自己的写作才能?姑且把我的这两篇自己的情感经历故事算在内,文笔是没有的,情感是真挚的。 是因为我们有各种各样的想法,我们要把这些想法表达出来宣泄出来。 支离破碎,杂乱无章,甚至面目全非,消失无踪的自我释放? 把每次的感受、学习所获得的之满足,整理出来,所获得的的与我自己不再是自我释放,是思想得以碰撞、得以延伸的满足感。 每次的对于这个世界,对于自己人生,对于自己学习感悟,在每篇博客上都留下一些思考的划痕。 生活中每天的的事情都会引起我们的思考,生命中的每天都会留下些什么。博客能让我们自己生活不再浑浑噩噩,时光不再流逝无痕。记录生活,在自己的每一天上留下思考的划痕。 不求获得更高的高度,但求获得自己的认知。几乎我的每篇文章都会有类似感言、总结之类的话语。 在Manjaro初体验-w...
Manjaro初体验
Manjaro初体验 本文在ArchLinux上写作 博主自从接触计算机以来一直都是软粉,从Windows95-Windows11没有错过一版windows,对于微软提供的服务一向都是第一时间订阅。 大概是从前年开始接触Linux,虽然在自己家里废弃的笔记本里都装着Linux充当服务器,腾讯云上买的服务器也都是Ubuntu的,但一直以来都只是掌握着Linux最基本的技能。从码字到打代码,几乎全都在Windows上完成。从刚开始接触Linux开始便听说了ArchLinux的大名,作为常年在排行榜前二的Linux发行版,一直有着难以安装的名声,甚至于有人说安装会ArchLinux便学会了Linux基本原理的一半。而Manjaro就是ArchLinux的一个分支。 以前也尝试过很多次将Ubuntu等Linux系统作为平时使用的系统,简单聊一聊自己的感受。Ubuntu是服务器上最受欢迎的发行版之一,他自带的Gnome的桌面环境也做的不错;最为重要的是,大多数软件都提供的rpm或者deb安装包,当时的自己还未能从Windows的束缚中解脱出来,大部分常用软件的Linux安装包都是deb封...
平面内模拟万有引力
平面内模拟万有引力前言一、研究背景在高中物理必修二中,我们学习了牛顿运动定律和万有引力定律的有关内容,领略了宇宙中无穷的奥秘。 虽然在现阶段的物理界中,牛顿定律的理论基础已经被爱因斯坦的广义相对论所取代。但它在大多数应用中仍然被用作重力效应的经典近似。只有在需要极端精确的时候,或者在处理非常强大的引力场的时候,比如那些在极其密集的物体上,或者在非常近的距离时,才需要相对论。 介于一种学以致用的精神,考虑到我们的计算机基本水平,我们产生了对于模拟万有引力的极大兴趣。 二、研究方法1.物理原理(1).基本定律万有引力定律:任意两个质点由通过连心线方向上的力相互吸引。该吸引力的大小与它们的质量乘积成正比,与它们距离的平方成反比。$$F=G\frac{m_1m_2}{r^2}$$其中,F为万有引力,G为万有引力常数,m1为物体1的质量,m2为物体2的质量,r为两者的距离。 牛顿第二定律:物体所受到的外力等于质量与加速度的乘积,而加速度与外力同方向。$$F=ma$$ (2).原理根据万有引力定律,已知所有物体之间的距离和质量,对于一个时刻内的所有物体,我们可以计算所有其...
Python考试入门指北
1.1 编者前言这并不是一篇文章,而是一篇入门文档,会有许多疏漏之处,请谅解。 Python是一门极其容易的语言,相信在未来的所有专业中必将都有计算机的一席之地,现在学一点基础的内容也不是什么坏事吧。 本篇教程完全基于一个啥也不会的小白,当然由于是笔试而不是机试,所以Python安装等过程就略过了。 右侧存在目录,挑选自己不会的看。如果是啥都不会的,那就按顺序看。 本指南中所有代码均在Python3.6版本中测试通过。 参考文档:Learn Python with Penjee The Python Tutorial — Python 3.6.15 documentation walter201230/Python: 最良心的 Python 教程(github.com) 1.2 目录[TOC] 1.3 基础知识1.3.1 程序段看这一段程序: 1234567a = 1b = 2if a>b: a,b = b,a print(a)else: print(b) Python的代码的易读性非常强,在同一段区块的程序都是一段,比如在这段程序中a,b=b,a和pri...
Ray进行集群运算之树莓派编译安装
Ray进行集群运算之树莓派编译安装家里有两台树莓派4B和一台Thinkpad笔记本,自从家里的台式机报废之后,想炼丹有些困难(笑) 三台设备又处于同一个局域网下,就突发奇想组一个分布式集群运算。 观前提醒:萌新一枚,如此在家中分布式运算并无实际意义,操作可能存在不规范之处,仅供娱乐参考。 已编译好的ARM64 & Ray2.0的轮子请移步wzcwzc05/RayOnARM64: The wheel of Ray on arm64 (github.com) 编译安装Ray TIPS:因为Ray没有ARM版本,下面介绍的都是编译安装Ray过程,如果使用x86的话直接安装就可以了。 本教程中ARM架构为ARM64,尽量使用64位系统,别问我怎么知道的…… 参考: [Building Ray from Source — Ray v2.0.0.dev0] [Building Ray for aarch64 (github.com/yunqu)] 前置环境准备123sudo apt-get updatesudo apt-get install -y bui...
一个失败者的自述
一个失败者的自述 没人会对一个失败者的过程感兴趣——题记 不知不觉从第一次踏入信竞的赛场已经过去了7年,终究将迎来最后一次。 我接触信竞不早了,小学四年级的开始在少年宫开始。那时候还是学的Pascal,老师姓何,是一位非常热心的老师,也是领我进门的老师。 那时候常州实验初中的OJ还在,前两天我试图去找回那个记录了我的网站——早已消失。上面的题目都非常经典,都是些最基础的一些练习题。但是我却乐此不疲。最好的排名在网站的排行榜中已经进了前100。 在那段入门的时光里,我结识了很多的同路人,俞越、沈逸凡、何润元等等的人,那时候的这些大佬也曾被我比下,也曾向我请教过问题。 我记得第一次比赛在六年级,第一步先是市赛,没想到平时都不错的我居然落榜,那时候骄傲的我并没有发现问题。虽然没有通过,但何老师给我了参加省赛的机会。对于第一次省赛的记忆早已被一次次的后面的失败所抹除,只能依稀记得何老师惋惜的神情。 之后我就进了正衡初中,离开了少年宫,何老师已经没有什么可以教给我了。那年暑假我也从Pascal转到了C++,初一的周末我就在一中和省中的机房之间来回奔波。 那时候省中在讲STL,一中在讲一些...
Remi教程GUI设计番外篇
Remi教程GUI设计番外篇一、前言Remi入门第一弹传送门 Remi教程第二弹传送门 Remi教程第三弹 传送门 这一系列教程的例程会放在wzcwzc05/remi-study 在这一篇番外篇中,将介绍: remi中GUI的可视化设计 remi的作者为GUI设计了一整套的可视化解决方案具体中文介绍remi/editor 二、界面介绍 第1部分就是菜单栏:file可以保存、打开项目;edit提供复制粘贴;project config可以设置你项目启动的IP地址、端口、缓存等等。 第2部分是工具箱:提供多达几十种的控件,界面需要先创建一个container。 第3部分就是GUI设计的地方。 第4部分是事件定义:你可以选中一个控件,对这个控件的某件事件进行函数的操作。 第5部分是样式设计:可以选中控件的大小、字体,颜色等作出设置。 三、一个简单的例子在这个例子中我将演示如何通过这个工具创建一个HelloWorld程序。 Step1.启动编辑器下载项目,打开editor文件夹,运行”main.py”即可启动编辑器。 Step2.创建一个Container所有的控...











