Difference between revisions of "2018 Multi-University, HDU Day 8"

From EOJ Wiki
Jump to navigation Jump to search
Line 10: Line 10:
  
 
题意:给定三角形和矩形的宽度,求矩形的最小高度,使得矩形能装下三角形。
 
题意:给定三角形和矩形的宽度,求矩形的最小高度,使得矩形能装下三角形。
 +
 +
题解:分两种情况,卡住和没卡住,没卡住的情况要求某条边与垂直,求三角形的高就好了(注意判断整个的宽度),卡住的情况,显然可以至少卡住两个点,枚举一下,然后算一算就好了。可以通过无脑点积减少不必要的分类讨论。
  
 
== Problem C ==
 
== Problem C ==

Revision as of 12:20, 15 August 2018

Problem A

Solved by zerol. 00:41 (+1)

题意:求 $\sum_{i=1}^m x_i = k$ ($0 \le x_i < n$) 的整数解的组数。

Problem B

Solved by kblack. 03:10 (+2)

题意:给定三角形和矩形的宽度,求矩形的最小高度,使得矩形能装下三角形。

题解:分两种情况,卡住和没卡住,没卡住的情况要求某条边与垂直,求三角形的高就好了(注意判断整个的宽度),卡住的情况,显然可以至少卡住两个点,枚举一下,然后算一算就好了。可以通过无脑点积减少不必要的分类讨论。

Problem C

Problem D

Solved by zerol. 01:23 (+1)

题意:构造一个 $h \times w$ 的括号矩阵,使得匹配的行数、列数之和最大。

Problem E

Solved by zerol. 00:14 (+)

给一个 $3 \times 3$ 的数阵,每次旋转一个 $2 \times 2$ 的子阵,求最终结果。

Problem F

Unsolved.

题意:求在面对换、面翻转操作下本质不同的大小为 $m \times n \times p$ 的三维 01 数组的个数。

Problem G

Unsolved.

题意:给定 $n$ 张卡片,每张卡片正反面各有一个数。问至少要翻转多少张卡片,才能使正面向上的数互不相同,并求方案数。

Problem H

Problem I

Solved by zerol. 03:37 (+1)

题意:给定若干个字符串,每个字符串有一个快乐值。随机选取一个长度不超过 $q$ 的串,问是给定字符串中父串的快乐值的乘积的期望。

Problem J

Solved by kblack. 00:33 (+1)

题意:给一个序列,每次贪心选取比前一个数大的数。每次询问修改一个数,求修改后的序列的能选出多少个数。询问不叠加。

Problem K

Solved by ultmaster. 04:56 (+4)

题意:给定一个气球矩阵,扎掉一个气球后,同行同列的气球都消失。问对于每个 $1 \le x \le k$,扎恰好 $x$ 次能够清除所有气球的方案数。

题解:$f(i,state)$:前 $i$ 行,状态每一维上有 0 1 2,0 表示该行没填过,1 表示该行已填过不能再填,2 表示该行以后必须得填)。只有在该行没填东西,又有某些列没有被覆盖的时候,才会产生 2,所以状态总数是 $n \times 3^m$,转移代价是 $m$。所以总复杂度是 $O(nm 3^m)$。

注意两个事情:一、时限较紧,注意常数优化(包括但不限于跳过 $f(i,j)=0$ 的那些状态的转移,或者评测机抖动需要多交两次)。二、计算过程不会,但答案要乘以 $m!$ 会爆 LL,需要 int128。

Problem L

Upsolved by kblack. (-5)

题意:告诉你工厂每个月的原料价格,客户需求,产能,生产成本,原料和产品的仓储成本,产品的仓库容量限制,求满足客户需求前提下的最小成本。

题解:搞了个烦得一批的线段树,结果贪心就好了,每天假装完全生产,然后用掉最便宜的,存不下的话,最贵的就当他无事发生。