linux及windows对拍程序 C++
linux及windows对拍程序 C++ 前言 OI赛制的比赛中,选手不能看到自己的成绩,那么如何保证代码正确呢? 1.水品高 秒切 2.暴力+对拍 尝试调正解 本文给出了linux和windows的对拍程序 一、什么是对拍? 在比赛中,某道题已经写出了暴力解法(须保证正确),开始尝试写正解 我们就可以用到对拍程序,用于对比暴力解法和尝试解法的输出结果,以判断该解法的是否是正解 注:暴力解法通常跑不了很大的点,因此对拍时数据不强,即使正确也未必是正解 那么对拍程序怎么写呢? 二、怎么写对拍程序? 对拍程序的写法有很多种,但结构基本一致 while(1)//不一定要用死循环 { 生成随机数据 暴力解法跑一遍 尝试解法跑一遍 比对 } 接下来,我将以A+B Problem为例 首先,写暴力程序std.cpp #include<bits/stdc++.h> using namespace std; #define int long long #define R register #define FILE signed main() { ...
ubuntu 内存占用过高导致卡死 解决办法
ubuntu 内存占用过高导致卡死 解决办法 一、具体表现 例如下图 在这里插入图片描述 注:图示版本为ubuntu18.04,现在我用的是ubuntu20.04 二、原因 查阅到了一些资料 在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然。这是Linux内存管理的一个优秀特性,在这方 面,区别于 Windows的内存管理。主要特点是,无论物理内存有多大,Linux 都将其充份利用,将一些程序调用过的硬盘数据读入内存,利用内存读写的高速特性来提高Linux系统的数据访问性能。 Linux 的这一特性,主要是利用空闲的物理内存,划分出一部份空间,做为 cache 和 buffers ,以此提高数据访问性能。 Linux 优先使用物理内存,当物理内存还有空闲时,linux是不会施放内存的,即时占用内存的程序已经被关闭了(这部分内存就用来做缓存了)。也就是说,即使你有很多内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,对于服务器很有好处。 总结一下,我的这种情...
整数的划分 动态规划
整数的划分 动态规划 题目描述 每个非负整数都可以被拆分,比如说 2 = 2 2 = 1+1 3 = 3 3 = 2+1 3 = 1+1+1 输入格式 一个非负整数\(n(0 \leq n \leq 100)\) 输出格式 输出可以被拆分的方案数 输入样例 4 输出样例 5 样例解释 4 = 4 4 = 3+1 4 = 2+2 4 = 2+1+1 4 = 1+1+1+1 共5种 本题是我在学 \(dp\) 时候做的一道题 看到题目首先来一发暴力搜索 40分解法 #include<bits/stdc++.h> using namespace std; #define int long long #define R register int n,ans; int vis[500005]; void dfs(R int x,R int y) { if(x<0)return;//拆过头了 if(!x)//没法拆了 { ...
ubuntu20.04 桌面图标显示异常的解决方法
ubuntu20.04 桌面图标显示异常的解决方法 更新至ubuntu20.04后,出现了一些以前没有的问题,桌面上有些图标不显示。 原桌面 然后我用 gedit 写了点文件,保存在桌面后,桌面就变成了这样(并非每次都会出现这种问题) 打开文件夹,显示我桌面上的文件都存在,但是桌面上不显示,双击文件原来的位置也没有用 据说这种情况是 gnome shell 出现了异常,考虑重启 gnome shell 。 按下alt + F2,会跳出一个窗口,然后输入一个r ,等一下就重启好了,文件就正常显示了。
CF652B z-sort 题解
CF652B z-sort 题解 题目链接:CF652B z-sort 题意:一种叫Z排序的方法,奇数位递增,偶数位递减,给定数组请用此方法排序 题意要求奇数位递增,偶数位递减 那每次只要输出最小值和最大值就可以了 这里给出了优先队列的写法 #include<bits/stdc++.h> using namespace std; #define R register #define int long long priority_queue<int> q1;//大根堆 priority_queue< int,vector<int>,greater<int> > q2;//小根堆 int n; signed main() { scanf("%lld",&n); for(R int i=0,t; i<n; i++) { scanf("%lld",&t); q1.push(t); q2.push(t); } for(...
CF708A Letters Cyclic Shift 题解
CF708A Letters Cyclic Shift 题解 题目链接:CF708A Letters Cyclic Shift 题意:一次变换指将字母变为它前面一个字母,例如a变成z,b变成a,给定字符串,找出一个非空子串进行变换使得改变后字典序尽可能小 要求字典序最小,首先想到从最左端开始改变 那么这样做一定是最小的吗?例如下面这种 aabcdefabb 如果改变了第一个字符a,它会变成z,字典序不降反升 我们可以初步得到结论,从第一个不为a的位置开始改变,能得到最小结果 再看题目,要求改变的是非空子串,因此只能改变到下一个不为a的位置 因此aabcdefabb改变后变为aaabcdeabb 还有一种情况要特判 例如aaaaa 题目要求你必须选择一个非空子串,这种情况只要把最后一个字符改变就行了 代码如下 #include<bits/stdc++.h> using namespace std; #define R register string s; bool flag; signed main() { cin>>s; for(R int i...
CF676A Nicholas and Permutation 题解
CF676A Nicholas and Permutation 题解 题目链接:CF676A Nicholas and Permutation 题意:给定数组,可以让两个数的位置交换,让最大值和最小值的位置的差的绝对值最大 先用\(c\)记录最大值位置,\(d\)记录最小值位置 然后取\(4\)种情况中绝对值最大的 第\(1\)种,\(d\)与第\(1\)个元素交换 第\(2\)种,\(d\)与第\(n\)个元素交换 第\(3\)种,\(c\)与第\(1\)个元素交换 第\(4\)种,\(c\)与第\(n\)个元素交换 代码实现还是比较简单的 #include<bits/stdc++.h> using namespace std; #define R register int n,k,a=-1,b=INT_MAX,c,d;//最大值初始化为-1,最小值初始化为很大的数(2147483647) signed main() { scanf("%d",&n); for(R int i=0; i<n; i++) { ...
AT_abc039_d [ABC039D] 画像処理高橋君 题解
AT_abc039_d [ABC039D] 画像処理高橋君 题解 题目链接:AT_abc039_d [ABC039D] 画像処理高橋君 题目描述 qry 的图片是由 \(n\times m\) 的字符串组成的,每个格子都只有黑白两种颜色。 qry 设计了一个图片处理程序。对于每个输入的图片,处理程序会扫描每个格子, 如果和这个格子相邻的 \(8\) 个格子内存在任意黑色格子,那么在处理后的图片中这个格子将会被涂成黑色。 现在 qry 给你了一张仅仅声称是处理过的图片,你需要判断这张图片是否真的被处理过。 如果真的被处理过,那么需要输出一张合法的处理前的图片,使它处理后和 qry 给你的那张一样。 输入格式 第一行给出 \(n,m\,(1 \le n,m \le 100)\) ,接下来 \(n\) 行 \(m\) 列的字符串为 qry 给出的图片。 其中字符 . 表示白色,字符 # 表示黑色。 输出格式 如果不存在处理前的图片,那么输出 impossible 。 否则,输出一行 possible ,然后输出 \(n\) 行 \(m\) 列的字符串,表示处理前的图片(输出一种即可)...
贪吃蛇2.0代码
贪吃蛇2.0代码 用 Dev-C++ 做的,支持 Windows 32/64位 #include<stdio.h> #include<windows.h>//基本型态定义。支援型态定义函数。使用者界面函数 图形装置界面函数。 #include<conio.h> //用户通过按键盘产生的对应操作 (控制台) #include<stdlib.h> #include<time.h> //日期和时间头文件 #define LEN 30 #define WID 25 int Snake[LEN][WID] = {0}; //数组的元素代表蛇的各个部位 char Sna_Hea_Dir = 'a';//记录蛇头的移动方向 int Sna_Hea_X, Sna_Hea_Y;//记录蛇头的位置 int Snake_Len = 3;//记录蛇的长度 clock_t Now_Time;//记录当前时间,以便自动移动 int Wait_Time ;//记录自动移动的时间间隔 int Eat_Apple = 1;//吃到苹果表示为1 in...
Python imageio库的使用 定格动画
Python imageio库的使用 定格动画 imageio 库安装: pip install imageio import imageio import os path = 'C:/codemao_py/sublime/定格动画诞生/' fileList=[] for file in os.listdir(path): fileList.append(path+file) print(fileList) writer=imageio.get_writer('C:/codemao_py/sublime/定格动画诞生/animation001.mp4',fps=4) print(writer) for im in fileList: writer.append_data(imageio.imread(im)) writer.close() 效果: 后记:(2024年05月12日) 考古了属于是,小时候学过一丢丢 Python 但只会调用几个库函数玩玩,连库怎么装都不会。







![AT_abc039_d [ABC039D] 画像処理高橋君 题解](/qwq/img/p189.webp)



![洛谷P14671 [ICPC 2025 Seoul R] Clean Arrangement 题解](/qwq/img/p55.webp)


