CCPC-Wannafly Winter Camp Day1 (Div 1)

From EOJ Wiki
Jump to navigation Jump to search

CCPC-Wannafly Winter Camp Day1 (Div 1)

Problem A

Unsolved.

不怎么温暖的签到。

题意:在平面上,有$(1,0)-(n,0),(1,k)-(n,k),(0,0)-(0,k),(n,0)-(n,k)$四条线段,以及若干$(i,0)-(i,k)$的线段。

Problem B

Unsolved.

Problem C

Solved.

温暖的签到

题意:给两个long long范围之内的数$A, B>=5$,求一种拆分使得$\sum_{i=1}^{n}{a_i}=A,\sum_{i=1}^{n}{b_i}=B,gcd(a_i,b_i)=1$如果有多个输出n最小的一个

思路:随机就完事了。。特判完$n=1$就随机划分成两个数直到找到解为止,不可能无解

Problem D

Unsolved.

Problem E

Unsolved.

Problem F

Solved.

签到

题意:爬山,一开始在1号山上,体力为k。每上升1m减少一点体力,下降1m增加一点体力。给出每个山的高度和它们之间的路径,可以减少山的高度,减少l花费l*l。总代价为路径长度和减少山高度的花费,求1到n的最少花费。

思路:显然体力和山的高度的和不变,所以体力根本不大需要关注。如果到点k体力不够就减少高度使得体力刚好够到k,这个花费应该加到终点为k的边的长度上。剩下的就是最短路了。

Problem G

Unsolved.

Problem H

Unsolved.

Problem I

Unsolved.

Problem J

Solved.

题意:$n$个人共有$m$件物品,现在一个人要购买这些物品,使得他拥有的物品数严格大于每一个人,求最小代价。

题解:从大到小枚举剩下的人中拥有物品最多的人拥有的物品数。

首先,对每个人拥有的物品按照价格降序排列,在拥有物品最多的人拥有$k$件物品时,首先,每个人拥有的下标$>k$个的物品必须全部被选上。然后,再在剩下的物品中选取最小的若干个,使得拥有的物品数量总和$>k$。因此,我们可以用$set$维护每个人拥有的下标$\le k$的物品。每次从$k$推到$k-1$时,从集合中删去所有下标$=k$的物品,全部加到答案中,再一直将集合中最大的物品弹出,直到拥有的物品总数$=k$或集合为空。

然后,对每一次的答案取$min$,就是要输出的答案。

Problem K

Unsolved.