全國

          熱門城市 | 全國 北京 上海 廣東

          華北地區 | 北京 天津 河北 山西 內蒙古

          東北地區 | 遼寧 吉林 黑龍江

          華東地區 | 上海 江蘇 浙江 安徽 福建 江西 山東

          華中地區 | 河南 湖北 湖南

          西南地區 | 重慶 四川 貴州 云南 西藏

          西北地區 | 陜西 甘肅 青海 寧夏 新疆

          華南地區 | 廣東 廣西 海南

          • 微 信
            高考

            關注高考網公眾號

            (www_gaokao_com)
            了解更多高考資訊

          首頁 > 高中頻道 > 信息學聯賽知識 > 信息學聯賽知識:Complete Search

          信息學聯賽知識:Complete Search

          2009-11-12 23:09:07網絡

            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

           

          [標簽:競賽聯賽 數學聯賽]

          分享:

          高考院校庫(挑大學·選專業,一步到位!)

          高考院校庫(挑大學·選專業,一步到位!)

          高校分數線

          專業分數線

          • 歡迎掃描二維碼
            關注高考網微信
            ID:gaokao_com

          • 👇掃描免費領
            近十年高考真題匯總
            備考、選科和專業解讀
            關注高考網官方服務號


          最近中文字幕精彩视频| 手机永久无码国产AV毛片| 无码AV中文一区二区三区| 亚洲欧美日韩、中文字幕不卡| 无码精品人妻一区二区三区漫画| 久久婷婷综合中文字幕| 黑人无码精品又粗又大又长| 亚洲av永久无码精品秋霞电影影院| 色综合久久精品中文字幕首页| 无码AⅤ精品一区二区三区| 无码伊人66久久大杳蕉网站谷歌| 一二三四在线播放免费观看中文版视频 | 国产AⅤ无码专区亚洲AV| 久久超乳爆乳中文字幕| 亚洲免费无码在线| 国产福利电影一区二区三区久久老子无码午夜伦不 | 中文字幕无码日韩专区免费| 国产精品综合专区中文字幕免费播放 | 东京热人妻无码一区二区av| 欧美成人中文字幕在线看| 日韩精品无码一区二区中文字幕| 午夜无码一区二区三区在线观看 | r级无码视频在线观看| 午夜无码A级毛片免费视频| 亚洲中文字幕无码爆乳AV| 中文字幕日韩理论在线| 亚洲天堂中文字幕在线| 中文字幕av日韩精品一区二区| 最新版天堂中文在线| 少妇无码AV无码一区| 日韩乱码人妻无码中文视频| 日韩久久久久中文字幕人妻| www日韩中文字幕在线看| 久久精品?ⅴ无码中文字幕| 中文字幕精品一区影音先锋| 最近免费中文字幕高清大全| 最近中文字幕完整版免费高清| 日韩人妻无码精品无码中文字幕| 亚洲日韩在线中文字幕第一页| 中文无码字慕在线观看| 中文字幕无码精品亚洲资源网久久|