大神cyd的骗分导论

新 版 骗 分 导 论

THE NEW GUIDE OF CHEATING IN INFORMATICS OLYMPIAD

蒟 蒻 的 宝 书

目录 第1章 绪论

第2章 从无解出发

2.1 无解情况

2.2 样例——白送的分数

第3章 “艰苦朴素永不忘”

3.1 模拟

3.2 万能钥匙——DFS

第4章 骗分的关键——猜想

4.1 听天由命

4.2 猜测答案

4.3 寻找规律

4.4 小数据杀手——打表

第5章 做贪心的人

5.1 贪心的算法

5.2 贪心地得分

第6章 C++的福利

6.1 快速排序

6.2 “如意金箍棒”

第7章 “宁为玉碎,不为瓦全”

第8章 实战演练

第9章 结语

第1章 绪论

在Oier中,有一句话广为流传:

任何蒟蒻必须经过大量的刷题练习才能成为大牛乃至于神牛。

这就是著名的lzn定理。然而,我们这些蒟蒻们,没有经过那么多历练,却要和大牛们同场竞技,我们该怎么以弱胜强呢?答案就是:

骗分 那么,骗分是什么呢?骗分就是用简单的程序(比标准算法简单很多,保证蒟蒻能轻松搞定的程序),尽可能多得骗取分数。

让我们走进这本《新版骗分导论》,来学习骗分的技巧,来挑战神牛吧!

第2章 从无解出发

2.1 无解情况

在很多题目中都有这句话:“若无解,请输出-1.”

看到这句话时,骗分的蒟蒻们就欣喜若狂,因为——数据中必定会有无解的

情况!那么,只要打出下面这个程序:

printf(“-1”);

就能得到10分,甚至20分,30分!

举个例子:

NOIP2012第4题,文化之旅

题目描述 Description

有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家)。不同的国家可能有相同的文化。不同文化的国家对其他文化的看法不同,有些文化会排斥外来文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家)。

现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试求从起点到终点最少需走多少路。

输入描述 Input Description

第一行为五个整数N,K,M,S,T,每两个整数之间用一个空格隔开,依次代表国家个数(国家编号为1到N),文化种数(文化编号为1到K),道路的条数,以及起点和终点的编号(保证S不等于T);

第二行为N个整数,每两个整数之间用一个空格隔开,其中第i个数Ci,表示国家i的文化为Ci。

接下来的K行,每行K个整数,每两个整数之间用一个空格隔开,记第i行的第j个数为aij,aij= 1表示文化i排斥外来文化j(i等于j时表示排斥相同文化的外来人),aij= 0表示不排斥(注意i排斥j并不保证j一定也排斥i)。

接下来的M行,每行三个整数u,v,d,每两个整数之间用一个空格隔开,表示国家u与国家v有一条距离为d的可双向通行的道路(保证u不等于v,两个国家之间可能有多条道路)。

输出描述 Output Description

输出只有一行,一个整数,表示使者从起点国家到达终点国家最少需要走的距离数(如果无解则输出-1)。

样例输入 Sample Input

输入样例1

2 2 1 1 2

1 2 0 1 1 0 1 2 10 输入样例2

2 2 1 1 2

1 2 0 1 0 0 1 2 10 样例输出 Sample Output

输出样例1

-1 输出样例2

10 数据范围及提示 Data Size & Hint

【输入输出样例1说明】

由于到国家2必须要经过国家1,而国家2的文明却排斥国家1的文明,所以不可能到达国家2。

【输入输出样例2说明】

路线为1 -> 2。

【数据范围】

对于20%的数据,有2≤N≤8,K≤5;

对于30%的数据,有2≤N≤10,K≤5;

对于50%的数据,有2≤N≤20,K≤8;

对于70%的数据,有2≤N≤100,K≤10;

对于100%的数据,有2≤N≤100,1≤K≤100,1≤M≤N2,1≤ki≤K,1≤u,v≤N,1≤d≤1000,S≠T,1 ≤S, T≤N。

这道题看起来很复杂,但其中有振奋人心的一句话“输出-1”,我考试时就高兴坏了(当时我才初一,水平太烂),随手打了个printf(“-1”);,得10分。

2.2 样例——白送的分数

每道题目的后面,都有一组“样例输入”和“样例输出”。它们的价值极大,不仅能初步

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值