0%

一、gcc

1.1 一步到位

gcc 最简单的用法

gcc c_name.c						# 会产生一个 a.out 的可执行文件

这样会生成一个叫做 a.out 的可执行文件。

Read more »

一、shell 总论

shell 就是“壳程序”,这个名字是针对 kernel 来说的,也就是在操作系统外围的程序(严格的讲,已经不是操作系统了)。宏观上的 shell 是所有的应用程序,而狭义上的 shell,指的是命令行方面的操作系统界面。我们通过 shell 将我们输入的命令与内核沟通,好让内核可以控制硬件来正确无误地工作。

我们在终端上经常敲的 lscd 等命令,其实都是一组一组得引用程序(存放在 \bin) 里,我们通过 shell 调用这些程序来执行我们的指令。

bash 是 shell 的一种,linux 上还可以有多种 shell 程序。

关于 shell 本身的使用,只有两点需要强调,就是如果一个命令过长,那么可以使用反斜杠 \ 进行换行输出。此外,如果觉得输入命令太麻烦,可以使用别名设置,比如强大需求的 ll

Read more »

一、快速编辑

1.1 普通快捷键

IDEA提供了功能强大的快捷键,可以通过 setting -> keymap 进行查询设置,这里列举一些我常用到的,并不能保证涵盖所有。

image-20220304141209858

  • alt+insert:生成固定代码
  • Ctrl+d:删除一整行,好像是我自己设置的,原来是复制一整行
  • Ctrl+alt+下:复制一整行
  • alt + /,选中内容加注释
  • Ctrl + 鼠标左键:查看类名
  • Ctrl + alt + L:格式化代码,这个具体什么风格可以自己设置。比如我就把默认的大括号形式改为上下对齐,在 setting -> Code Style -> Java 中设置image-20220304142700949
  • shift + F6 :重命名,可以一键修改
Read more »

要么借鉴往年,要么借鉴文献。

一、摘要

1.1 摘要结构

  • 问题引入
  • 各小问的解决方案叙述
  • 总结部分
  • 关键词

1.2 摘要细节

Read more »

一、PPT 总论

1.1 排版解偶联

在 LATEX 的讲解中,我意识到了可以将信息排版解偶联,在PPT的学习中,我发觉似乎可以进一步解偶联,对于排版来说,可以解偶联成排版设计排版实现两个部分,比如说对于以下这张slide

image-20220210112013792

排版设计指的是选用大背景,背景图片要采用发布会图片(然后具体到某一章特定的图片),标题底下要有一个衬板,衬板的颜色要选择主题色,也就是橙色,衬板要有一个比较好的透明度,衬板要选择平行四边形,因此字体应应该选择斜体,然后主标题应该加粗,右上角要采用 AMD 的图标。这些称为排版设计。

Read more »

这个东西我弄得还不是很明白,所以先放一篇博客:https://www.cnblogs.com/I-Love-You-520/p/13454305.html

单调队列说的就是博客中提到的场景,可以说解决的是固定长度,多次查询一段的最值(其实就是slice window的意思),这种如果是朴素算法的话,因为查一段序列的最值的时间复杂度是 $O(k)$ (k 是序列长度),然后这段序列需要平移改变,所以外层有一个循环,这样复杂的就是 $O(nk)$ (如果序列长为 n )。采用单调序列的方式,可以让时间复杂度下降到 $O(n)$ 。单调队列的队头即为所求。

此外,关于这篇博客的算法,其实队列中存储的是原数组的下标,而不是原数组元素的值。当然,如果写的更好一些,可以有一个封装,如下所示

typedef long long LL;
struct monotone_queue
{//单调队列
	int head,tail,id[N];
	LL d[N];

	inline void init()
    {
        // 这种方法处理感觉有点low,只是为了判断队空与否
		head = 1,tail = 0;
	}
	//v就是入队的值,x是数组索引(下标)
	inline void push(LL v,int x)
    {   //第一个参数为dp[i][x]
		while(head <= tail && d[tail] <= v)
            tail--;
		d[++tail] = v;
		id[tail]=x;
	}
	//x是数组索引
	inline void pop(int x)
    {//弹出,指的是当范围移动的时候,要把移出范围的元素删掉
		while( head <= tail && id[head] - x >= s)
            head++;
	}
}q;

在这个代码里面,采用了两个数组,d 数组用来储存值(也就是队列功能,这个队列就是最丑陋的非循环队列),而 id 数组用来实现数组元素的移出。每次移动框,都是先插入,然后弹出。

Read more »