NanoApe's Blog

既是咸鱼又是辣鸡

HackerRank糊做

NanoApe posted @ 2016年7月06日 17:08 in 蒟蒻不做题提前退役 with tags HackerRank , 4380 阅读

Update:16.07.06

Week of Code 21

Demanding Money

没连边的点,假如值为0则方案*2,否则直接加入方案

剩余的直接搜索

The Letter N

扫一遍,$f[a,b]$ 表示有向线段 $a-b$ 的右侧满足要求的点数,$Ans=\sum f[a,b]*f[b,a]$

具体而言,维护两个指针,先转一圈,转第二圈的时候就可以求得 $f[a,?]$

Counting the Ways

转成前缀和询问,设 S 为其总乘积,我们可以把一个种类的某些看成一个砖(例如重量为 i 的每 S/i 个弄成个砖)然后枚举没弄成砖的个数,预处理搞个背包玩玩(先 $f[a]-=f[a-S]$ 后 $f[a]+=f[a-i]$)再乘上砖的放置,用个组合数公式就把组合数合成一个

 

HourRank 10

Accessory Collection

贪心大法,枚举次大值之后的最大次数,根据前 $D-1$ 大的数的总和要小于 $N$ 的限制可以算出最大值的个数,取个最优值


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter