36th ACM/ICPC Asia Regional Daejeon(韩国大田) [7月7日暑假集训]

A. Block Compaction [线段树]

题目地址:

  http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3850

  http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9158#problem/A

  模拟压缩过程。对于向下压缩,先将矩形按y坐标排序,按排好的序将矩形向下移。用线段树保存区间最大值,此处对应区间最高点。

  查询x到p区间的最大值,如果该矩形可以下降,就处理并改变y和q坐标。每处理一个矩形后更新线段树。对于左移压缩同样处理。

B. Chemical Products [简单题]

题目地址:

  http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3851

  http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9158#problem/B

    设ABC的量分别为nanbncABBCCA的单位价值分别为vabvbcvcaABBCCA合成的量分别为nabnbcnca。按题目要求满足要列约束:

        nab+nac<=na

        nbc+nab<=nb

        nca+nbc<=nc

    于是可以枚举nabnbc,对于一组合理的nabnbc值,nca最优值唯一确定,复杂度为On^2)。对每组枚举结果取最大值。

D .Equipment [组合枚举]

题目地址:

  http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3853

  http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9158#problem/D

  对于k>=5的情况可以找出每列最大的数,然后求和;

  对于k==1的情况可以找出5个数之和最大的行。

  对于k234的情况,需要对5列分组,以k==3为例,此时5列分为3组,每组数量可以是(122)或(113),每种情况对应多种具体分组方法,枚举。比如一个具体分组为(1),(4),(235),那么分别求出第一个数最大的行,第四个数最大的行,第235个数之和最大的行,再求和。对枚举的每种情况求最值。

E .Furniture Factory [序列处理]

题目地址:

  http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3854

  http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9158#problem/E

  每个工作对应一个5元组(t1t2t3idcolor),t1:可以开始工作的时间,t2:当前已情况下,完成该工作最晚开始时间,t3:工作最晚结束时间,id:第几项工作(要排序),color:该工作是否完成。

  按时间t1maxdeadline)处理每一天,每天对m个工人安排一项工作(如果有的话)。每一天先按t2排序,按t2越小优先,并且合法(tt1t2之间,且color显示该工作未完成)的m个工作分配(如果有m个的话)。每个工作做了一天那么其t2值就要+1

  最后对记录的情况整理输出。

H .Neon Sign [思维题]

题目地址:

  http://livearchive.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3857

  http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9158#problem/H

  一个完全图最多有Cn3)个三角形,从三角形总数中减去混色三角形数量就是纯色三角形数量。

  一个混色三角形有两条边是同种颜色,一条边颜色不同。其三个顶点中有两个顶点关联的两条边不同色,一个顶点关联的两条边同色。我们统计每个顶点关联的红色边数numred和蓝色边数numbluenumred×numblue就是该顶点关联的混色三角形数n。求出所有顶点n的和N,此时每个混色三角形其实算了两次,于是N需除2

  纯色三角形数是Cn3- N/2

原文地址:https://www.cnblogs.com/Lattexiaoyu/p/2580976.html