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)$的。

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

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

  • 相关阅读:
    暑假第三周
    暑假第二周
    bzoj3572:[Hnoi2014]世界树
    bzoj3998:[TJOI2015]弦论
    luoguP4242树上的毒瘤
    bzoj1339/1163:[Baltic2008]Mafia
    bzoj3507:[Cqoi2014]通配符匹配
    bzoj1449:[JSOI2009]球队收益/bzoj2895:球队预算
    bzoj2243:[SDOI2011]染色
    bzoj4516:[Sdoi2016]生成魔咒
  • 原文地址:https://www.cnblogs.com/skyh/p/11844748.html
Copyright © 2011-2022 走看看