scz 7.28 B

A.number

给一个 \(n\) 位数,将每一位重新排序,使得新的数尽量大,并且为 \(30\) 的倍数,如果没有 \(30\) 的倍数,输出 \(-1\)
\(n \le 10^5\)

A.solution

  • 若一个数是 \(3\) 的倍数,那么它的各位数和也是 \(3\) 的倍数。
  • 末位是 \(0\) 的数是 \(10\) 的倍数。
    先判断各位数和是否为 \(3\) 的倍数;
    再确定末位为 \(0\),然后前面依次递减填入。

B.game

一小片草坪上,小草长得参差不齐,完美主义者飞飞和翔翔看不下去了,想修整一下草坪,但是又觉得会很无聊,于是他们就决定进行一个游戏,同时又能修整草坪,规则如下:

  1. 飞飞(ff)每次挑选最短的一根草,使用魔法使小草长长,长到草坪里高度比他高且高度相邻(第一个比它高)的草的高度
  2. 翔翔(xx)每次挑选最长的一根草,将其减短,使其长度变为草坪中高度比他低且高度相邻的草的高度
  3. 当草坪高度不相同的草不超过两种时游戏结束,第一个不能操作的人为输(第一次由飞飞操作)
    现在,请你告诉他们,最后谁会获胜,并且最后草坪中草的最低和最高高度是多少。
    \(n \le 100000,H_i \le 100000\)

B.solution

\(n \le 3000,80\%\)

用树状数组随便维护就好。

\(n \le 100000,100\%\)

待补。

C.class

越越和康康为了帮助一中信息组的同学们提高成绩,帮同学们看程序,看每个同学程序的时间不一,并且两人不能同时看同一个程序,一个人也不能同时看两份程序,现在,请你求出两人都看完所有程序所用的最少时间(两个人看同一个程序所用时间一样)。
\(i\)个同学的程序阅读时间为\(a_i\)
\(1 \le n \le 100000,1 \le a_i \le 100000\)

C.solution

具体不清楚,好像是第一个人按照顺序读,第二个人先读最后一个然后再回来根据顺序读,如果有等待另外处理
我乱搞75(

D.tree

一棵 \(n\) 个节点的有根树(根为1),蚂蚁在叶子结点,宇宇每次从根节点倒营养水,每条边 \(E_i=(u_i,v_i)\) 有两个属性 \(X_i,T_i\)\(X_i\)表示流过其父节点的营养液有 \(X_i \%\) 经过这条边。每个非叶子节点与其孩子节点的连边的 \(X\) 和一定为 \(100\)\(T_i = 1\)时,流过这条边的营养液的值可以平方(也可以选择不平方),\(T_i = 0\)则不可以。每个叶子结点的蚂蚁至少需要\(K_i\)的营养水,求至少要将多少营养水倒入根节点中才能满足所有蚂蚁。
\(1 \le n \le 1000,1 \le K_i \le 10,T_i \in \{0,1\}\)

D.solution

简单题,从下至上模拟题意取 \(\max\) 即可。
注意到\(K_i \ge 1\),所以若\(T_i = 1\)那么平方后一定更优。

E.house

原题:Luogu P7179 [COCI2014-2015#4]STANOVI

posted @ 2022-07-28 16:40  luyiming123  阅读(30)  评论(0编辑  收藏  举报