现在的位置: 首页 > 综合 > 正文

UESTC Summer Training #25解题报告

2013年12月15日 ⁄ 综合 ⁄ 共 2753字 ⁄ 字号 评论关闭

比赛地址:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=11206#overview


ID Origin                    Title
Problem  A POJ 2694 A Simple Poker Game
Problem  C POJ 2696 A Mysterious Function
Problem  D POJ 2697 A Board Game
Problem  E POJ 2698 Servicing DVD Requests
Problem  F POJ 2699 The Maximum Number of Strong Kings
Problem G POJ 2700 Space Travel
Problem H POJ 2701 Lapux the Floating Island
Problem  
I
POJ 2702 Can a Complicated Program Go Wrong?
Problem  J POJ 2703 Maximum Area Covered by Rectangles



吐槽自己:J
都能挂三发。。。。。

以后写好代码,一定要认真看一遍!!!!!不要偷懒呀

最后剩了一个小时,我们没有出题,H没有看题意,貌似是不难的一个几何题,自己一直在想G题,当时想到一步公式的推导,把队友讲旷了,他们就没有从这个方向思考。后面看过的一支队伍,貌似就是从那个方向走的。

佩服Fish他们,G想到了先猜后打表证明,我们队什么时候才能有这么神呀。。


Problem A  POJ 2694  A Simple Poker Game

        签到题,模拟题,队友搞的。


Problem B  POJ 2695  Rick the Persistent Gnu

       题意: n个点(n<=100),给你起始点,一个方向向量, 每次要求你找一个距离之差不超过D,人走的方向改变量没超过90度,并且与给定的方向向量量的偏角最小,输

    出每次选择的点。

       简单的几何题,自己wa了一发,在队友告诉题意之后,看见题目太长了,没有好好去读题。

       为了简化里面的一些处理,将方向向量旋转成x的正方向。

       改变量不超过90度,就是点乘为正

       偏角 直接可以用fabs( atan2yx);


Problem C  POJ 2696  A Mysterious Function

      这题不用说了吧。。。大水题一道


Problem D  POJ 2697  A Board Game

      应该是poj数据水了,队友bfs暴过去的。


Problem E  POJ 2698  Servicing DVD Requests

      题意:K个光驱,你现在要放n个光盘进去,如果第ki个光盘,已经在光驱里,就不用放,否则找一个地方进去
(如果放的地方有光盘,就相当于先要取出那张光盘),问

   放光盘的最小次数

     贪心题,这种东西,先猜后证

  1

2

3

5

3

  1

2

       如果K=3,前3个已经依次放好了,现在放编号为5的,此时我们必须替换一张光盘出来,到底替换谁最优呢?看到那张图,你是否会有种感觉,替换3,不是一个明智的

   选择,因为下一张光盘就是3,如果此时替换了,显然不优越,那替换1呢?替换2呢?

     相信你应该会猜:我们选择光驱中包含的下一场光盘出现的位置最远那张,把它替换掉,比如上面,我们就是替换2,因为在1,2,3中,下次出现2的位置最远。

     证明这些东东,,想想,应该就明白了。


Problem F  POJ 2699  The Maximum Number of Strong Kings

      题意:nn<=10)个人进行比赛,一场比赛没有平局,赢就得一分,现在给你n个人的得分,问最多有多少个人,满足比该人得分高的人都输给了该人。

      将人按得分从小到大排序,显然,满足条件的人,是从后依次的。(eg. 5个人如果答案是3,那么必然是编号为3 4 5的三个人)

      上面的那个问题比较好想到,然后很理所当然的会想到一个个的验证,验证答案为k是否成立。要验证成立,一个人无法知道他到底赢了谁呀?尼玛,好坑爹,,怎么办?

   有没有一种感觉,跑网络流,,让它跑出一种分配方式来????

      该题难在如何建图:  首先,从源点与每个人之间建立一条边,流量为该人赢的次数,对任意两个人之间有一场比赛,比如(ij),我们建立一个点Kij),然后

   将ij连到该点,再将该点连到汇点,这里我们可以不用关心到底谁赢了谁,只看最终的最大流量,是不是一共赢的次数,如果是,表示分配成功了。神奇吧。。over


Problem G  POJ 2700  Space Travel

       数论题,我推了出前半部分公式,后面不知道怎么做,看了UESTC_Kyouko的神代码,前部分推导一样的,后面感觉是一种比较暴力的方式,然后我也去暴力了一发,

       T了,,看来没发现他们的精髓呀,,等我暴过去再来更新了。

       这里有一种不用数论的方式: 就是答案的a*x+b*y xy两个必然有一个超过sqrtn),你问我为什么? (Orz Fish:“猜,打表验证”)


Problem H  POJ 2701  Lapux the Floating Island

       几何题,,还没拍呢。。。卡着G呀!先搞定G再说


Problem I  POJ 2702  Can a Complicated Program Go Wrong?

        题意:给你两个自动机,问在上面那个自动机出现的串中,是否能够让下面这个自动机走进一个标记-1的点。

        Fjj 神读题呀,,很肯定的告诉我题意是那样,然后水题,建立mp[x][y]:表示第一个自动机到达节点x,第二个自动机到达节点y,然后就枚举走的路径,最多500*500

    状态。。

        Orz Fjj,拍码太快了。。十分钟不到,搞定。。。


Problem J  POJ 2703  Maximum Area Covered by Rectangles

         N个矩形(保证宽小于高),宽相等的矩形被视为同一种类型,对两种不同类型的矩阵,保证不存在一方能够完整的包含另一个矩形,最后问你,这N个矩形覆盖的面积是

    多少。(保证每种类型的矩阵的个数不小于2

       分析:

      对同一种类型的矩阵,有用的就是高度最高的两个。


        如图,最终形成的一定如上图,按宽从大到小放,下一种类型的矩形一定是宽小于它,而高大于它,而增加的面积就是上图线段的长度和*该中矩形的宽

       看看图,就发现即为两种类型 矩形的最高两个矩形高度之和的差值



抱歉!评论已关闭.