• 2016 Multi-University Training Contest 6


    2016 Multi-University Training Contest 6

    HDU 5799 This world need more Zhu

    题意

    • 给一棵树,点(N(N le 10^5)),每个点有个权值(A_i),有(M(M le 10^5))次询问。
    • 询问分两种:
    1. 询问某棵子树中,出现(a)次和出现(b)次的权值和的GCD。
    2. 询问树上某条路径上,出现(a)次和出现(b)次的权值和的GCD。

    思路

    • 子树的询问可以通过dfs序+莫队做。
    • 路径上的询问则要通过树上莫队来做。

    HDU 5800 To My Girlfriend

    题意

    • (N(N le 1000))个数(a_i),一个数(S(S le 1000))
    • 求$$sum_{i=1}{n}{sum_{j=1}{n}{sum_{k=1}{n}{sum_{l=1}{n}{sum_{m=1}^{s}{f(i,j,k,l,m)}}}}}$$其中(f(i,j,k,l,m))表示由若干数组成和为(m)的方案数,一定包含(i,j)这两个数,一定不包含(k,l)这两个数。

    思路

    • (dp(i,j,k,l))表示前i个数组成和为j的方案数,其中一定包含了k个值,一定包含l个值。

    HDU 5802 Windows 10

    题意

    • 有加大声音和降低声音的两个按钮:

      1. 加大按钮:每次音量加1;
      2. 降低按钮:第一次降低,音量减1,否则若前一次也是降低声音(记为x),则本次降低2x的音量。
    • 每秒钟可以按按钮一次,也可以休息。

    • 给定初始音量和末音量,求最少时间使得从初始音量变成末音量。

    思路

    • 若当前音量低于末音量,只能不断地按加大按钮;

    • 若当前音量高于末音量,有两种决策:

      1. 连续降低音量,降到不低于末音量的最小音量,然后休息;
      2. 连续降低音量,直至低于末音量,此时只能按加大音量,同时注意到降到该音量前,有休息操作,可以将休息操作变成按加大按钮,所以还要记录降到该音量前的休息次数。
    • 一个trick:音量不会低于0,所以音量小于0时要取成0。

    代码

  • 相关阅读:
    linux 学习笔记
    linux 子系统折腾记 (三)
    linux子系统折腾记 (二)
    windows linux 子系统折腾记
    会计学习笔记(非专业)
    linux 大冒险
    coreRT 和 Native 编译netcore AOT程序
    dotnet core如何编译exe
    win10的hyper-v共享文件夹
    packagereference 里面的资产是怎么回事?
  • 原文地址:https://www.cnblogs.com/mcginn/p/5887180.html
Copyright © 2020-2023  润新知