P2988 [USACO10MAR]考试Test Taking

    • 68通过
    • 162提交
  • 题目提供者 FarmerJohn2
  • 评测方式 云端评测
  • 标签 USACO 2010
  • 难度 提高+/省选-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目描述

    Farmer John has to take his annual farming license test. The test comprises N (1 <= N <= 1,000,000) true/false questions. After FJ's dismal performance on last year's test Bessie wishes to help him.

    Bessie has inside information that the number of questions whose answer is true will be one of t_1, t_2, t_3,..., or t_K (0 <= t_i <= N; 0 <= K <= 10,000) -- even though Bessie has no information about any answer to any specific question. Bessie wants to know the best score that FJ is guaranteed achieve by exploiting this information carefully, even if he doesn't know the actual answers to any test questions.

    To demonstrate Bessie's idea, consider a license test with N=6 questions where Bessie knows that the number of questions with the answer 'true' is either 0 or 3. FJ can always get at least 3 answers correct using logic like this: If FJ answers 'false' on every

    question and there are 0 questions with the answer 'true' then he will get all 6 correct. If there are 3 questions with the answer 'true' then he will get 3 answers correct. So as long as he marks every answer as 'false' he is guaranteed to get at least 3 correct without knowing any answer to the test questions.

    On the other hand, consider what happens if FJ chooses an inferior strategy: he guesses that some 3 answers are 'true' and the other 3 are 'false'. If it turns out that NO answers are 'true' then FJ will get 3 answers correct, the ones he guessed were false. If 3 answers are 'true' then FJ could get as few as 0 answers correct. If he answered incorrectly on all 3 of that answers for which he guessed 'true', and the other 3 (for which he guessed 'false') are true, then he gets 0 correct answers. Even though FJ could get 3 correct in this case by guessing 'false' every time, he can not always guarantee even 1 correct by guessing some 3 answers as 'true', so this strategy can not guarantee getting any answer correct. FJ should use the previous paragraph's strategy.

    Given Bessie's inside information, determine the number of answers FJ can always get correct using this information assuming he uses it optimally.

    Farmer John要参加一年一度的农民资格考试。考试很简单,只有N个 (1≤N≤1,000,000)true/false的判断题。然而FJ去年考试却“杯具”了,Bessie:希望今年能帮帮他。

    Bessie得到可靠的内部消息,有可能有T_1,T_2,T_3,...,或T_K(0≤T_i≤N;0≤K≤10,000)

    道题的答案为ture:,但具体哪道题的答案是什么却不知道。Bessie希望知道在认真研究了这些内部消息后(虽然不能确定任何一道题的具体答案),一定保证FJ考试时能获得的最高分数是多少?

    为了说明Bessie的想法,考虑N=6的一次考试,Bessie知道答案为true的题的数量是0或者3。FJ可以按这样的做题策略来答对至少3题:如果FJ全部答'false',那么当有0道题的正确答案是'true',则FJ答对6题;而当有3道题的正确答案是'true',则FJ答对3题。因此,只要FJ部答'false',那么至少一定能答对3题,尽管FJ并不知道每道题的确切答案。

    另一方面,考虑如果FJ选择了另一种非最优的做题策略:他猜测某3道题为'true'而另3道题为'false'。当所有题目的正确答案是'false'时,那么FJ能答对3道题。而当有3道题的正确答案是'true'时,那么FJ有可能一道题都答不对。这是因为FJ有可能把3道正确答案为'true'的题全猜成'false'!这说明这种做题策略不如前一种优秀。

    给出Bessie获得的内部消息,计算出FJ采用最优做题策略保证能得到的最高分数是多少?

    第1行:2个整数N,K

    第2…K+1行:第i+1行包含一个整数t_i

    第1行:一个整数,表示FJ一定能获得的最高分数

    输入输出格式

    输入格式:

    * Line 1: Two space-separated integers: N and K

    * Lines 2..K+1: Line i+1 contains a single integer: t_i

    第1行:2个整数N,K

    第2…K+1行:第i+1行包含一个整数t_i

    第1行:一个整数,表示FJ一定能获得的最高分数

    输出格式:

    * Line 1: A single integer, the best score FJ is guaranteed to achieve

    输入输出样例

    输入样例#1: 复制
    6 2 
    0 
    3 
    
    输出样例#1: 复制
    3 
    

    说明

    翻译提供: @fan404

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。