此文章纯属娱乐,请不要当成某种技巧的教程或引申出其他意思。
[ 0 ] 引言
抄题解,大概人人都抄过(不允许反驳)。
例如我就曾经贺过 P1000 的文言题解和 P1001 的各种语言的题解。
但如何抄袭一篇题解而不被发现,一直是每一个 OIer 在各大 OJ 的愿望。
那么现在就一起来讨论,如何完美地贺一篇题解吧!
[ 1 ] 选择合适的题解
在各大 OJ,每一题应该都有若干篇题解,有的附上了 AC 代码,有的没有。
如果一些代码比较简短的数学题,不用附上 AC 代码的也能被抄袭。
在选择题解的时候,一定要选择合适的题解。
[ 1.1 ] 数学题的题解
一道题是数学题,这应该不难被看出来。
对于数学题,很多题解都有很大的相似性,故抄袭题解的对象并不重要。
[ 1.2 ] 模拟题的题解
模拟题应该选择尽量简短、码风尽量不奇怪、不压行的题解。
[ 1.3 ] 其他类型的题解
和模拟题一样,题解必须简短。
[ 2 ] 贺题解的基本步骤
[ 2.1 ] 搬运
贺题解的第一步骤当然就是把题解代码搬运到自己的 IDE 上了。
[ 2.1.1 ] 复制粘贴
复制粘贴大概是最简单粗暴的办法,但是这种被发现的可能性比下面要介绍的一种大。
广告:推荐安装 exlg 插件,在源代码边上会附上复制按钮,可以一键复制,非常方便!!!1 安装地址:https://exlg.cc
在复制粘贴时,具体步骤是:
- 将鼠标移动到题解代码左上角,拖动到右下角;
- 按下
Ctrl+C
; - 将鼠标移动到你的 IDE 内,单击空白处;
- 按下
Ctrl+A
后按Ctrl+V
。 - 你就会发现题解代码到了你的 IDE 内,
神不神奇!
复制粘贴的几个技巧:
- 需要将你的缺省源保留下来;
- 复制后尽量格式化,贴合你的码风。
复制粘贴后请按 [ 2.2 ] 中介绍的技巧修改代码。
[ 2.1.2 ] 现打代码
这种方法不适合大模拟。
在你的 IDE 内有缺省源的情况下,照着题解一个一个字母打。
在打的时候需要注意 [ 2.2 ] 中的技巧。
这也是练习手速的一种比较好的办法。
[ 2.2 ] 修改代码
在贺题解后自然要修改你的代码。
下面介绍几个技巧。
[ 2.2.1 ] 贴合自己的码风
在修改的过程中,必须要贴合自己的码风。
比如大括号你喜欢换行,而别人不喜欢,你需要把所有的大括号改换行。
[ 2.2.2 ] 使用自己的宏
宏, 即 #define
,人家用 int
,你最好用 #define int long long
,或者你也可以这么做:
#define int ll
typedef long long ll;
你也可以使用大括号的宏(尽管很奇怪):
#define begin {
#define end }
//...
int main()
begin
int a;
cin >> a;
if ( a < 0 ) begin
puts("-1");
end else begin
puts("1");
end
return 0;
end
[ 2.2.3 ] 添加空格
如果你喜欢在代码中添加空格,那么你可以给自己贺的代码添加。
[ 2.2.4 ] 改变量名
应该都会改(雾
[ 2.2.5 ] 使用不同的运算方式
最典型的例子就是位运算。
例如:
//题解代码
int x = a * 2;
printf ("%d\n", pow(2,x));
//你可以改成
int x = ( a << 1 );
printf ("%d\n", 1 << x );
下面是一些可以使用位运算替换的表:
-
*2
\(\to\)<<1
-
/2
\(\to\)>>1
-
-x
\(\to\)~x+1
-
a + 1
\(\to\)a | 1
(需保证 \(a\) 是偶数)
[ 2.2.6 ] 修改程序流程
这也是最难的一部分,这同时也是能不能被看出来贺题解的最关键的一部分。
[ 2.2.6.1 ] 循环展开
这个 ... 网上应该查得到吧。
[ 2.2.6.2 ] 等等等等
修改程序流程比较灵活,需要靠自己去变换,可能也需要一定的 OI 水平。
[ 3 ] 处理人际关系
抄完了题解之后,你需要处理好朋友之间的关系,和很多谷民之间建立信任,让很多人都了解你,这样才不会被举报抄题解。
抄题解最直接的原因就是有人举报你,所以你只要不被举报,就能活下去。
[ 4 ] 其他的东西
-
感觉写的好少,大家有什么
金点子主意的话可以提出来呀 -
还是开头那句话,此文章纯属娱乐,请不要当成某种技巧的教程或引申出其他意思。
-
本文仅仅发布于 cnblogs,luogu blogs 中,请勿转载或抄袭。
-
我没有贺过题解,如果大家愿意,可以去翻翻我的提交记录,然后举报我 /cy