为了能到远方,脚下的每一步都不能少.|

Aurora-JC

园龄:3年粉丝:3关注:4

📂杂项
🔖整理
2023-10-19 21:15阅读: 10评论: 0推荐: 0

一些可能没什么用的整理(持续更新)

1. 用 special judge 将下发 spj.cpp 按 F12 运行一下, win+R 打开 cmd,将 spj.exe 拖进去,再将 输入文件 1.in 拖进去, 再将 自己的 输出文件 my.out 拖进去,再将 输出文件 1.out 拖进去,按enter ,检查是否正确。

2. 手打的对拍

#include<bits/stdc++.h>
using namespace std;
int main(){
int i=0;
while(1){
printf("%d\n",++i);
system("make.exe");
system("std.exe");
system("my.exe");
if(system("fc std.out my.out")) break;
}
return 0;
}

3. 如何检查自己程序的内存,防止MLE,可以试试如下代码,可以输出所用的空间,单位MB。

#include<bits/stdc++.h>
using namespace std;
bool _u;
int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return x*f;
}
//一些全局变量和一些函数
signed main(){
//你的程序
bool _v;
fprintf(stderr,"%.3lf\n",abs(&_u-&_v)/1048576.0);
//这是为了防止你没注释它(1048576=1024*1024)
//fprintf 在 freopen 输入输出时不会输出
return 0;
}

4. c++ 11 手动开栈,有些时候 dfs 时,输入数据太大,程序会死掉,之前一直以为是数组越界之类的错误,没想到是本地栈空间开太小了,所以程序运行较大数据时,我们可以手动开栈,就可以了。

具体操作是将菜单栏的工具打开,再打开编译选项,在编译器中输入-Wl,--stack=10000000 (这个数字是栈空间的大小)。再勾选编译时加入以下命令,再点确定就行了。

本文作者:南风未起

本文链接:https://www.cnblogs.com/jiangchen4122/p/17775683.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Aurora-JC  阅读(10)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起