(自用)CSP-S考前提醒 兼 NOI-Linux2.0使用笔记
编译指令
注意
不要删代码,不要删代码,可以新开一个文件,不要删!!!
下载
我用的 vmware17,如果进去之后屏幕很小的话可以调分辨率

使用
链接
好时代,来临力,NOI Linux 2.0 食用指南
NOI Linux 2.0 使用指南 Code Blocks 手把手教会你
还不会用 Noi-Linux 2.0?装机及多种使用方式整合
NOI Linux 2.0 食用指南
使用方式摘录(自用)
主要是编译指令?(我不会用 VScode 的调试和自动补全功能/lh)
-fsanitize=address,undefined
可以实现:数组越界直接 RE,有符号整数溢出直接 RE,返回值不为 void 的函数不 return 就返回直接 RE...总之就是可以查 RE 和 UB,且能告诉你错在了第几行 。 ——dengyaotriangle
-std=c++14 -Wall -Wextra -Wshadow -O2
用 && 连接指令(Windows 中用 ;)
这是啥
g++ {FILE}.cpp -g -std=c++14 -Wall -Wextra -Wshadow -o {FILE} &&
cp {FILE}X.in {FILE}.in &&
time .\{FILE} &&
diff {FILE}X.ans {FILE}.out -Z
栈空间
注意 Linux 中没有 -Wl,--stack=1234567890,就算是 Windows 中也要 "-Wl,--stack=1234567890"。
在 Linux 中用命令行指令 ulimit -s 1048576 调栈空间大小(这是 1G,即后面的是 KB?好像最大就是 1G)。
随机数
std::mt19937 mtrnd(std::chrono::system_clock::now().time_since_epoch().count());
对拍
这是别人写的对拍
#include <bits/stdc++.h>
using namespace std;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr), cout.tie(nullptr);
	cout << fixed << setprecision(15); 
	cerr << fixed << setprecision(15);
	
	int t = 1e6;
	for(int i = 1; i <= t; i++) {
		cerr << "test #" << i << "... ";
		system("./gen.exe > in");
		system("./std.exe < in > ans");
		system("./sol.exe < in > out");
		if(system("diff -Z out ans")) {
			cerr << "WA!" << "\n";
			return 1;
		}
		cerr << "AC!" << "\n";
	}
	
	return 0;
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号