• AHS of FCGRC 停课 Day 2


    Day 2

    开始发慌了……我想得回去干点事,效率好低啊。

    A.

    题意简述:

      有a个A,b个B,c个C,d个D,求没有数相邻的方案数。

      路径统计的简单版,a,b,c,d<=30。

    考虑直接DP解决,我得改掉看到题思路僵化的习惯了。

    B.

    题意简述:

      有m个东西,要分给n个桶,允许有的桶没有,允许一个桶放多个,要求有k个桶所装的物品数为奇数。

    显然m和k不同奇偶时无解。把k个物品独立出来,把其他物品两个分一组,插版法解决。

    公式为 C(n,k)*C((m-k)/2+n-1,n-1) 。

    C.

    题意简述:

      定义⼀个集合的权值是这个集合内所有数字的和。

      求一个集合的权值第k⼩⼦集的⼤小。  size<=38

    很可疑,明明看上去是指数级复杂度却过不去。

    考虑拆分集合,转化为序列合并问题,这种题当然是二分答案了。

    D.

    题意简述:

      定义好集合为所有元素两两^起来小于它们的最小值。

      求最大的好集合。

    考虑一个一个集合是好集合的另外一个充要条件:

      它的所有元素的最高位是一致的。

    这样就可以简单做了。(ll害人.jpg)

    E.

    题意简述:

      略。

    因为这道题有后效性,考虑倒过来dp 令dp[i]表示从i点到结束(一定喝这杯)的最小时间。

    显然答案=f[0],f[n+1]=0 dp[i]=min(dp[j]+caldis(i,j)) (i<j<=n+1)

    我们发现,每个咖啡都有其等待时间和作用时间,你肯定希望,它在刚好喝完的时候接到下一杯,因为这样前面才没有白等。

    可以证明,如果一定要选择这杯咖啡,在靠近这杯咖啡的作用结束时间的咖啡站拿下一杯是更优的。

    当然,咖啡凉了以后,自然是一定要尽快新买的。

    因而我们就有了决策单调性,用此优化dp即可。

    F.

    题意简述:

      略。

    考虑每次交换仅会使得逆序对减1,那么我们考虑强行算出逆序对,用二次函数的最值解决问题即可。

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/JiuPleber/p/9909888.html
Copyright © 2020-2023  润新知