zoukankan      html  css  js  c++  java
  • 模拟112 题解

    A. 装饰

    分类讨论即可。

    标程的做法似乎更简单一些:

    答案为$min(lfloor frac{a+b+c}{3} floor,a+b+c-max(a,b,c))$。

    证明并不难,显然答案不会超过这两个上界。

    对于两种情况分别取得较小的值,都可以构造出一种方案来达到答案的要求。

    B. 循环依赖

    读入字符串,建立从字符串向点编号的映射。

    然后直接拓扑排序判断是否存在环就好了。

    然而本题旨在考察字符串读入。

    因为数据中存在' '换行符,读字符串不判' '必死。

    C. 任务分配

    问题是将$b$个点分为$s$个组,使得点权*(组的大小-1)取得最小值。

    显然可以对点权排序,因为任何的交换一定不优。

    问题转化为在序列上连续分组。

    暴力$dp$可以做到$O(n^3)$。

    然后发现这个东西似乎就有一些决策单调性,

    然后打表并对拍发现直接单调指针似乎也有正确性。

    然后$O(n^2)$就解决了这道$3s$题?

    然而正解是$O(n^2log)$的。

    在排序之后,每一段的长度一定是单调不增的。

    所以可以卡一卡枚举转移点的下界,根据调和级数,这个复杂度就正确了。

  • 相关阅读:
    3、生成证书请求文件
    2、申请苹果App ID
    登录iOS Dev Center
    SQL Server 合并行
    asp 月末 月初
    linux
    ASP数组全集,多维数组和一维数组[转]
    oracle 秒
    oracle 存储过程 包 【转】
    linux
  • 原文地址:https://www.cnblogs.com/skyh/p/11844748.html
Copyright © 2011-2022 走看看