你 真 的 会 骗 分 吗

看不懂题目,直接输样例

样例简直就是白送的分数!!

每道题目的后面,都有一组“样例输入”和“样例输出”。它们的价值极大,不仅能初步帮你检验程序的对错(特别坑的样例除外),而且,如果你不会做这道题(这种情况蒟蒻们已经司空见惯了),你就可以直接输出样例!

如果有大样例的,那更好,你可以判断一下输出,这样可能会拿分数。

例如美国的USACO,它的题目有一个规则,就是第一组数据必须是样例。那么,只要你输出所有的样例,你就能得到100分(满分1000)!这是相当可观的分数了。

(PS: 现在USACO的样例已经不算分数了。)

从无解出发,赌你“总司令”

如果无解,则输出-1
如果不符合,则输出No

这时,我们这要输出-1或NO,就能拿到10-30分!

这招甚至在S组都管用,比如2022年CSP-ST3,直接全部输出NO,45分到手!

什么都不管,我直接模拟

很显然,要模拟,你就不能只会输入输出了。

所谓模拟,就是用计算机程序来模拟实际的事件。

较繁的模拟就不叫骗分了,我们这里也不讨论这个问题。

模拟主要可以应用在骗高级数据结构题上的分。

暴力出奇迹,DFS开写

图论?动态规划?贪心?数学?

都是浮云!!!!!

DFS是万能的!!

什么题目,只要一眼想不出来,直接DFS写起!

一般来说,DFS可以拿20-40分。运气好一点,剪剪枝,多拿个20分;写一半突然开窍了,改成记忆化,直接AC!

我本地打表,关你什么事

如果一道题我不会做,但我会暴力,而且是只输入n输出一个数的找规律最值问题,我要怎么办?

我先打暴力,然后把数据范围内的数,先写个小测试打印出来,再一口气输入,记录一下答案,不就行了吗?

但是如果n的范围大于500,请慎用。

如果你的所剩时间小于1个小时,请慎用。

根本看不懂,直接猜规律

有些时候,问题的答案可能很有特点:对于大多数情况,答案是一样的。这时,骗分就该出手了。你需要做的,就是发掘出这个答案,然后直接输出。

某些题目会给你很多样例,你就可以观察他们的特点了。有时,数据中的某一个(或几个)数,能通过简单的关系直接算出答案。

只要你找到了规律,在很多情况下你都能得到可观的分数。

直接STL,我才不手写

如果一些题,需要在类似STL数据结构上进行操作,但很麻烦,怎么办?

我直接STL,才不给你手写,整体解!

比如说,一些题让你在排序的时候操作,我们就可以:

sort(a+1,a+n+1);
规划干什么,贪心点多好
其实是一语双关啦。

贪心骗分

我们前面介绍了那么多骗分算法,那么能不能把他们联合起来呢?当然可以!

最优方法大概如下:

  if(是样例)cout<<样例;
  else
    if(n<=数据范围)DFS/大模拟
    else
      if(特殊条件)cout<<猜想
      else cout<<-1;

贪心算法
动态规划算法从大局考虑,我没有大局观,怎么办?那我就鼠目寸光的写!

大部分DP题,贪心解能拿20-40,一些题甚至能拿到70分,有大用。

最后的最后——实战演练

我们来做一下2013普及组试题(请您自行搜索):

第1题,太弱了,不用骗,得100分。

第2题,数据很大,但是可以直接输入一个数,输出它 mod 10000的值。得10分。

第3题,是一道非常基础的DP,但对于不知DP为何物的蒟蒻来说,就使用暴力算法(即DFS)。得20分。

第4题,我们可以寻找一下数据的规律,你会发现,在所有样例中,M值即为答案。所以直接输出M,得10分。

这样下来,一共得140分,比一等分数线还高20分!你的信心一定会得到鼓舞的。这就是骗分的神奇。

最后希望本文对您有帮助!

posted @ 2024-07-30 11:16  spacing!!!  阅读(51)  评论(0)    收藏  举报