全国站

热门城市 | 全国 北京 上海 广东

华北地区 | 北京 天津 河北 山西 内蒙古

东北地区 | 辽宁 吉林 黑龙江

华东地区 | 上海 江苏 浙江 安徽 福建 江西 山东

华中地区 | 河南 湖北 湖南

西南地区 | 重庆 四川 贵州 云南 西藏

西北地区 | 陕西 甘肃 青海 宁夏 新疆

华南地区 | 广东 广西 海南

资    源
  • 资    源
当前位置:查字典高考网>高中频道>信息学联赛知识>信息学联赛知识:Complete Search

信息学联赛知识:Complete Search

来自:查字典高考网 2009-11-12

Complete Search

The Idea

Solving a problem using complete search is based on the ``Keep It Simple, Stupid'' principle. The goal of solving contest problems is to write programs that work in the time allowed, whether or not there is a faster algorithm.

Complete search exploits the brute force, straight-forward, try-them-all method of finding the answer. This method should almost always be the first algorithm/solution you consider. If this works within time and space constraints, then do it: it's easy to code and usually easy to debug. This means you'll have more time to work on all the hard problems, where brute force doesn't work quickly enough.

In the case of a problem with only fewer than a couple million possibilities, iterate through each one of them, and see if the answer works.

Careful, Careful

Sometimes, it's not obvious that you use this methodology.

Problem: Party Lamps [IOI 98]

You are given N lamps and four switches. The first switch toggles all lamps, the second the even lamps, the third the odd lamps, and last switch toggles lamps 1, 4, 7, 10, ... .

Given the number of lamps, N, the number of button presses made (up to 10,000), and the state of some of the lamps (e.g., lamp 7 is off), output all the possible states the lamps could be in.

Naively, for each button press, you have to try 4 possibilities, for a total of 410000 (about 106020 ), which means there's no way you could do complete search (this particular algorithm would exploit recursion).

Noticing that the order of the button presses does not matter gets this number down to about 100004 (about 1016 ), still too big to completely search (but certainly closer by a factor of over 106000 ).

However, pressing a button twice is the same as pressing the button no times, so all you really have to check is pressing each button either 0 or 1 times. That's only 24 = 16 possibilities, surely a number of iterations solvable within the time limit.

Problem 3: The Clocks [IOI 94]

A group of nine clocks inhabits a 3 x 3 grid; each is set to 12:00, 3:00, 6:00, or 9:00. Your goal is to manipulate them all to read 12:00. Unfortunately, the only way you can manipulate the clocks is by one of nine different types of move, each one of which rotates a certain subset of the clocks 90 degrees clockwise.

Find the shortest sequence of moves which returns all the clocks to 12:00.

The ``obvious'' thing to do is a recursive solution, which checks to see if there is a solution of 1 move, 2 moves, etc. until it finds a solution. This would take 9k time, where k is the number of moves. Since k might be fairly large, this is not going to run with reasonable time constraints.

Note that the order of the moves does not matter. This reduces the time down to k9 , which isn't enough of an improvement.

However, since doing each move 4 times is the same as doing it no times, you know that no move will be done more than 3 times. Thus, there are only 49 possibilities, which is only 262,072, which, given the rule of thumb for run-time of more than 10,000,000 operations in a second, should work in time. The brute-force solution, given this insight, is perfectly adequate.

Sample Problems

Milking Cows [USACO 1996 Competition Round]

Given a cow milking schedule (Farmer A milks from time 300 to time 1000, Farmer B from 700 to 1200, etc.), calculate

The longest time interval in which at least one cow was being milked

The longest time interval in which no cow is being milked

Perfect Cows Perfect Cow Cousins [USACO 1995 Final Round]

A perfect number is one in which the sum of the proper divisors add up to the number. For example, 28 = 1 + 2 + 4 + 7 + 14. A perfect pair is a pair of numbers such that the sum of the proper divisor of each one adds up to the other. There are, of course, longer perfect sets, such that the sum of the divisors of the first add up to the second, the second's divisors to the third, etc., until the sum of the last's proper divisors add up to the first number.

Each cow in Farmer John's ranch is assigned a serial number. from 1 to 32000. A perfect cow is one which has a perfect number as its serial. A group of cows is a set of perfect cow cousins if their serial numbers form a perfect set. Find all perfect cows and perfect cow cousins.

retrieved from http://ace.delos.com/usacogate

【信息学联赛知识:Complete Search】相关文章:

高中数学竞赛基本知识集锦(一)

课改与高考脱节 素质教育校园很难真正践行

信息学联赛知识:贪心策略的特点与在信息学竞赛中的应用

高中数学联赛培训讲义(三)

高中数学竞赛基本知识集锦(二)

学得好不如考得好!四种高分答卷方略

2007年全国高中数学联赛江西省预赛试卷

高中数学竞赛基本知识集锦(三)

高分考生系列专访三:数学拿满分,要学会做“阴题”

高考制度改革突破口:多元化评价与多元化入学

[标签:竞赛联赛,数学联赛]

网友关注

高一语文必修二《孔雀东南飞》赏析

高一语文必修二曹操《短歌行》诗文翻译

高一语文必修3《过秦论》文言文翻译

高一语文李商隐《锦瑟》赏析

高一语文《小狗包弟》赏析

高一语文《纪念刘和珍君》名家赏析

高一语文必修二《赤壁赋》赏析

高一语文《别了,不列颠尼亚》赏析

高考优秀生分享:高一新生应如何学好语文

高一语文《纪念刘和珍君》同步练习

高一语文必修三鲁迅《祝福》内容分析讲解

高一语文必修三杜甫诗《登高》赏析

高一语文必修二《兰亭集序》知识点归纳

理行天下智者无疆 高一语文学习漫谈

准高中生暑期适应高一语文的两点意见

高一语文必修3《过秦论》知识点总结

高一语文《记梁任公先生的一次演讲》练习题

专题辅导:高一语文《小狗包弟》同步练习

专题辅导:高一语文必修三《蜀道难》同步练习

高一语文必修二《孔雀东南飞》乐府诗翻译

高一语文必修二《荷塘月色》课堂练习

高一语文必修二曹操《短歌行》赏析

高一语文必修二《诗经两首》翻译与赏析

高一语文必修二《游褒禅山记》文言文翻译

高一语文必修二《囚绿记》赏析

高一语文必修三鲁迅《祝福》练习题

高一语文复习:必须知道的语文复习建议

有关中秋的著名诗句集锦

欣赏语文诗歌实用方法:把握感情落差

高一语文必修二《故都的秋》练习题

网友关注视频

视频|2019全国高考今日开考: 语文特级教师评析上海卷高考作文

张雪峰高考志愿填报指南 第28集 高考志愿分析,材料科学与工程专业,就业很一般,建议慎重选择

励志歌曲《阳光总在风雨后》送给高考的莘莘学子,祝金榜题名!

武汉美术高考

沈阳音乐学院郎亦农教授的女高音高考曲目解析课程 第9集 《赛吾里麦》演唱讲解,音乐表现一定要自然流畅

高考政治一轮:《经济生活》第九课(社会主义市场经济)练习

这!就是专业 第31集 阜阳师范学院信息工程学院

2019年高考数学全国2卷理科第4题讲解及答案

2019高考语文全国2卷小说阅读解析

儿子高考英语没考,上了西京交大,老爸忍不了:复读!上清华!

这!就是专业 第36集 河北经贸大学——数学专业

他高考作文仅得6分,总分428分,被985高校录取,却被导师拒绝!

看懂图片,你也会做高考地理题,解析2019年高考文综地理4

这!就是专业 第1集 川农动物科学专业解读

高考帮:这!就是专业 第8集 安徽师范大学

凤凰县高级中学高考试卷分析专题教研会

探秘历史 第二季 第211集 此人高考数学考了0分,因作文写3句话被重点大学录取

amc传媒音乐影像 第一季 第598集 西安原创乐队走进英泰青卓 用音乐助力高考学子

高考同学看过来,难度系数三颗星的奥数1

招办面对面 第76集 阜阳师范学院信息工程学院

amc传媒音乐影像 第一季 第600集 高中校长演唱《记忆花园》为高考学子助力打气

张雪峰高考志愿填报指南 第15集 高考填报志愿,想学电子信息类专业,推荐报这六所高校,不出错

学渣儿子高考,英语选择题全选B!老师通报成绩的那一刻父亲懵了

爆笑班主任 第一季 第220集 高考前最后一只视频,山东王老师揭秘高考的秘密

葛军大爷怒了:高考我出了个小学数学送分题,你们跟我说不会做?

2019全国高考志愿填报攻略 第50集 天津市高考历史三年本科录取排名

小品:马云被宋小宝调侃当年数学高考考一分!

高中数学 107 高考如何秒杀数列

最新高考数学全国2第12题视频讲解及答案

优秀!英语数学双满分,广西“最牛”高考状元730分刷新最高纪录