zoukankan      html  css  js  c++  java
  • 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,那么我们考虑强行算出逆序对,用二次函数的最值解决问题即可。

  • 相关阅读:
    BNU Online Judge-29140
    HDU-1022-Train Problem I
    HDU-1312-Red and Black
    BNU Online Judge-34978-汉诺塔
    BNU Online Judge-34976-数细菌
    BNU Online Judge-34973-Liserious战队
    HDU-1010-Tempter of the Bone
    HDU-1518-Square
    thinkphp笔记
    1210. 连号区间数
  • 原文地址:https://www.cnblogs.com/JiuPleber/p/9909888.html
Copyright © 2011-2022 走看看