REWINE NOTE Informatik verbindet dich und mich.

我的全平台软件清单

linux

  • oh-my-zsh 漂亮好用的 shell

  • alacritty 终端模拟器

  • htop 交互式的进程浏览器,可以用来替换Linux下的top命令

  • ranger 终端文件管理器

  • ncdu/filelight 查看磁盘目录占用空间

  • wps/Liberoffice 办公软件,Liberoffice Draw可以画流程图

关于蓝桥杯等算法竞赛的经验总结

1.准备蓝桥杯需要做什么,有哪些需要学习的算法?

熟悉比赛环境

比赛使用的编辑环境,c/c++ 组使用的是 dev-c++ , python 组使用 IDLE , java 组使用 Eclipse,建议平时练习多使用对应的编辑器,如果不熟悉编译环境,在比赛时可能会带来不必要的麻烦,尤其是 python 组的 IDLE 非常简陋,由俭入奢易,由奢入俭难。

喜讯:官方通知第十二届蓝桥杯 c/c++ 组增加了 CodeBlocks 20.03 编程环境,支持 C++ 98 和 C++11, 终于可以用上 c++ 的新特性了。

搭建个人博客记录(github action+hugo)

前言

高中时,作为OIer经常需要看别人的题解博客,那时候luogu还没流行,大家都在tyvj,vijos上刷题,看题解还要找 csdn,博客园,和一些大佬(比如hzwer)的个人博客。慢慢的,就萌生出了自己写博客的想法,一开始,我在蚂蚁笔记上写题解,它可以把markdown笔记分享到蚂蚁博客上,而且主题也很美观,后来它收费了,学生党没有钱(那时候我没手机,没手机号,更别说网银了)弃用了,现在我不推荐大家用了,这个项目2,3年没人维护,恐怕不靠谱。

我还试过WordPress,用的免费主机(当然现在挂了,资料也丢了)

以前在同学帮助下搭建了 hexo+github 的 blog,不过我嫌主题不好看万年不更新。

csdn 的blog因为要绑定手机号,高中没机会用,大一才开始写一些东西。

博客园 后台太丑,不喜欢用这个写。

gridea 这个是我去年了解的,看上去挺方便的,我没试过,感兴趣的可以看看。

现代密码学复习总结

第一章 引言

什么是被动攻击和主动攻击,各有几种类型?

  • 被动攻击:也称窃听,以获取信息为目的。 仅攻击信息的保密性,不影响正常的网络通信,不对消息作任何修改 搭线窃听、对文件或程序非法复制、木马、对资源的非授权使用 被动攻击又分为两类:获取消息的内容和业务流分析

    • 获取消息的内容:通过破译密文等手段直接获取机密信息的内容
    • 业务流分析:敌手虽然可能无法从截获的消息中获取内容,但却有可能获知消息的长度,格式,通信双方的位置和身份,通信次数。在商业环境,用户隐私,以及军网中这些消息可能是敏感的。
  • 主动攻击:对数据流进行篡改或产生假的数据流 可分为3类:

    • 中断:对系统可用性进行攻击 破坏计算机硬件,网络,或文件管理系统。如DoS,病毒等
    • 篡改:对完整性进行攻击 修改文件中的数据(数据修改后存储),替换某一程序使其执行不同功能 修改网络中传送消息的内容等,比如中间节点对转发的图象进行了压缩
    • 伪造:对真实性进行攻击 在网络中插入伪造的消息冒充消息发送者,在文件中插入伪造记录等

初步认识c++1x的新特性

(1) nullptr

nullptr 代替NULL,

NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void*)0,而c++中NULL为整数0

void foo(char *);
void foo(int);

对于这两个函数,如果NULL定义为0的话,foo(NULL)将会出现歧义

使用NULL的情景均可用 nullptr 代替

(2) constexpr

constexpr 让用户显式的声明函数或对象构造函数在编译器为常数

constexpr 的函数可以使用递归,从 C++ 14 开始, constexpr 函数可以在内部使用局部变量、循环和分支等简单语句,但 C++ 11 中是不可以的

记录一个有趣的dp题目-leetcode 546 移除盒子

题面

给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。

你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得到 k * k 个积分。 当你将所有盒子都去掉之后,求你能获得的最大积分和。

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/remove-boxes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

[VC++课程设计] 用mfc实现数学函数曲线绘制程序

实验环境

  • window 10 版本19041
  • Microsoft Visual Studio Community 2019 版本 16.6.4

实现功能

  • 绘制常见函数的图像
  • 支持普通函数,极坐标函数,参数方程,直接输入数据点
  • 可以删除指定函数图像
  • 可以在一个坐标系中绘制多条数学曲线
  • 显示坐标轴,网格,刻度值,图例
  • 可以选择不同颜色线型来绘制不同的曲线
  • 当鼠标移动到曲线上某点时,可以显示该点的坐标
  • 可以用鼠标拖动图像
  • 可以进行图形的放大,缩小,定量设置显示范围,自动缩放
  • 普通函数x取值范围可设置为跟随显示范围变化
  • 状态栏实时显示鼠标位置,双击显示鼠标精确位置
  • 重要数据的序列化和反序列化
  • 突变函数(如$floor(x)$)和部分y值接近无穷的函数(如$tan(x)$)无法完美显示

[管理运筹学]线性规划&单纯形法的各种姿势(题目:[NOI2008]志愿者招募)

题目描述

申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要$ N $天才能完成,其中第 $ i $ 天至少需要$A_i$个人。 布布通过了解得知,一共有$M$类志愿者可以招募。其中第$i$类可以从第$S_i$ 天工作到第 $ T_i $ 天,招募费用是每人$C_i$ 元。新官上任三把火,为了出色地完成自己的工作,布布希望用尽量少的费用招募足够的志愿者,但这并不是他的特长。于是布布找到了你,希望你帮他设计一种最优的招募方案。

[管理运筹学]指派问题的匈牙利算法及其c++实现 (例:「网络流 24 题」分配问题 )

题目描述

有 n 件工作要分配给 n 个人做。第 i 个人做第 j 件工作产生的效益为 c[i][j] 。试设计一个将 n 件工作分配给 n 个人做的分配方案,使产生的总效益最大。 输入格式: 文件的第 1 行有 1 个正整数 n,表示有 n 件工作要分配给 n个人做。 接下来的n 行中,每行有 n 个整数 c[i][j],表示第 i个人做第 j 件工作产生的效益为 c[i][j]。 输出格式: 两行分别输出最小总效益和最大总效益。

[c语言课程设计] 重排九宫问题

题目 重排9宫

设计内容:

编写软件模拟排九宫。从九宫的某个状态出发,移动格子中的数字,使9宫格中的数字顺序排列,空格在最后。

设计功能:

1、九宫初始化,绘制九宫初始状态。9宫格中只有一个位置是空的,其它位置分别是1-8的8个数字,

2、手工输入移动九宫的步骤,如11d(第一行一列格中数字下移),22r(第二行二列格中数字右移),23u(第二行三列格中数字上移)等,记录移动后九宫状态,并形象绘制。要求判断移动是否合法。一次只能移动一个数字,并且只能到相邻的空格子中。

3、记录从初始状态以后的移动步骤。

4、判断成功状态,并给出成功提示。

5、你能否让计算机自动求解(思考选作)。