多校补完计划 2017-02

  #  
Solved 785 / 2826 A HDU 6045 Is Derek lying?
  15 / 118 B HDU 6046 hash
Solved 607 / 1700 C HDU 6047 Maximum Sequence
  38 / 175 D HDU 6048 Puzzle
  29 / 249 E HDU 6049 Sdjpx Is Happy
  241 / 740 F HDU 6050 Funny Function
  12 / 32 G HDU 6051 If the starlight never fade
  60 / 293 H HDU 6052 To my boyfriend
  200 / 1929 I HDU 6053 TrickGCD
  5 / 57 J HDU 6054 String and String
Solved 624 / 2621 K HDU 6055 Regular polygon

持续更新?

A

两个人做三选一的选择题,然后给出一个得分情况,问结果能不能肯定是假的

解法:

我们记相同的选择个数为$cnt$

显然:  1.两个人的分数之差,是由不同的选择得到的因此,$n-cnt>=|X-Y|$

   2.其次,为了使得两个人分数凑到$X$和$Y$,;两个人的分数之和肯定要小于理论的最大值,理论的最大值也就是两个人相同的部分都是正确,且不同的地方两个人一定有一个人是正确的,换句话说,所有题至少得了一分,相同的得到了双倍

      也就是$X+Y<=n+cnt$

B

不会

C

给2个数列,一个是数列本身$A$,一个是标号序列$B$,现在要求你再构造长度为$n$的数列$A_{i+1} ... A_{2n}$,每个数字对应$B$中不同的一个元素,

  满足:$a_i$小于等于最大的$a_j - j $ 其中的标号 $j$ 大于等于$a_i$对应的那个元素$b_k$

  求构造的最大数列和,答案要取模

对于样例

  8 11 8 5

  3 1 2 4

  先让 $B$ 中的2 对应 $a_5$ 得到 $8 11 8 5 9 (11-2)$

  再是 1对应 $a_6$ 得到 $8 11 5 9 9 (11-2)$

  再让3 对应 $a_7$ 得到 $8 11 5 9 9 5 (8-3=5)$

  最后是4 对赢$a_8$ 得到 $8 11 5 9 9 5 4 (9-5=4)$

   答案就是$ 9+9+5+4 = 27 $

 解法:

  其实样例里的1,2是可以互换的,猜到了贪心,我们把$B$排序,然后每次取$b_i$之后的最大值即可

  而取最小值可以用线段树也可以用树状数组,也可以预处理

D

E

F

G

H

I

J

K

 给一些整数点,问能凑出多少正多边形?

解法:

  一个结论是,所有点都是整点的正多边形只有正方形,因此只用数正方形即可....

  我们考虑$O(n^2)$的算法,枚举对角线上的两个点,对于对角线上的两个点$(0,0),(a,b)$,可以推导出,另外两个点的坐标分别为$((a+b)/2,(b-a)/2)$和$((a-b)/2,(a+b)/2)$,只需要判断点是否存在即可

  注意

  1.可能爆负数,因此用map比较好,虽然慢了不少...

  2.因为每个正方形有2个对角线,因此答案需要除以二

  3.因为$(x+y)/2$可能会导致整数丢失,所以在输入的时候乘二,或者判断奇偶性

 

posted @ 2018-07-20 06:42  nervending  阅读(145)  评论(0编辑  收藏  举报