zoukankan      html  css  js  c++  java
  • Codeforces Round #374 (Div. 2)

    A. One-dimensional Japanese Crossword

    • 统计连续的B长度。

    B. Passwords

    • 根据题意模拟下。

    C. Journey

    • (dp(i,j))表示走到(i)经过(j)个点的最小花费。

    D. Maxim and Array

    • 记$$M=prod_{i=1}^{n}{a_i}$$
    • 假设将(a_i=a_i+x),则增量为(frac{M}{a_i}cdot(a_i+x)-M),即$$frac{Mx}{a_i}$$
    • 显然为了让值变小,增量需要为负数,且(|frac{M}{a_i}|)需要尽可能大。
    • 根据(M)的正负分类讨论取正负值即可。
    • 因为每次取正值最小、负数最大,可以用优先队列维护。

    E. Road to Home

    • (f(i))表示在不超过(r_i)的前提下最多能唱的数量,(g(i))表示从(l_i)前最多能唱的数量。
    • 每次从一个位置开始唱歌,必然是能唱到不能唱为止,否则就算中途停下来也只是将唱歌区间后移了而已。
    • 注意(f(i))的末位置在((r_i-p,r_i])中,这些位置到(r_i)都不足以唱一首歌,那么保存最大数量,数量相同的情况下位置最靠左即可。
    • 假设(f(i))的最优位置在(x),那么下一次可以唱歌的时间点为(x+t),显然需要找到(j)满足(x+tle r_j),此时有两种决策:
    1. 唱歌到(r_j)边界,更新(f(j))
    2. 停止唱歌直到(l_{j+1}),更新(g(j+1))
  • 相关阅读:
    c#调用DLL
    蚁群算法
    ManualResetEvent类的使用
    AsyncResult 类的使用
    同步调用与异步调用
    MFC套接字编程
    windows套接字编程
    socket的IO模型
    socket编程基础知识
    Hog行人检测
  • 原文地址:https://www.cnblogs.com/mcginn/p/5931415.html
Copyright © 2011-2022 走看看