跳转至

2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest

排名 当场过题数 至今过题数 总题数
31/? 9 10 12

A

solved by 2sozx

题意

\(n\) 个数 \((2 \le n \le 100)\),每次可以选择 \(2 \sim 5\) 个数将值减一,值不会小于零,最后要求所有数相等。求一种操作方案使得最后的数最大。

题解

每次操作看最大值的个数,如果等于 \(n\) 直接结束。否则判断奇偶性,如果是偶数选择其中两个减一,否则判断最大值是否大于一。如果大于一则选择三个减一,否则找到次大值与最大值一起减一即可。

B

solved by 2sozx

题意

\(n\) 个数,请在比较次数不超过 \(\lceil \frac{3 * n}{2} \rceil - 2\) 下找到序列的最大值和最小值。

题解

考虑两两比较出最大值和最小值,按照线段树的方式从子节点向上合并,总共比较次数正好是上限。

C

solved by 2sozx

题意

题解

D

solved by JJLeo

题意

贪心题。

题解

贪就完了。

E

upsolved by

题意

题解

F

upsolved by JJLeo

题意

巨毒瘤的买东西送券类题目。

题解

不理解为什么复杂度明显不对的算法能过,可能是我算错了(x

等什么时候有时间算对了再把题解补上吧。

G

upsolved by

题意

题解

H

upsolved by

题意

题解

I

solved by JJLeo

题意

费用流裸题。

题解

冲就完了。

J

solved by JJLeo

题意

背包裸题。

题解

冲就完了。

K

upsolved by JJLeo

*本题题意和题解来自叉姐 wiki。

题意

给你一个无向图和其中两个点\(s\), \(t\). 要求你将这个无向图定向成一个从\(s\)\(t\)的格(定义: \(s\)是唯一的入度为0的点, \(t\)是唯一的出度为0的点, 且整个图无环).

题解

首先我们有一个无视时限的做法. 先把\(s\)\(t\)连起来, 这条链从\(s\)\(t\)定向. 然后每次找从链上出去再回来的一条路径, 按照出去和回来的点在链上的先后给他们定向. 但是为了不超时, 需要实现这个做法. 方法是从\(s\)开始做个dfs树. 这棵树上有一些返祖边, 还有点\(t\). 我们考虑下面一个递推过程: 首先置\(t\)于队列中, 并标记\(t\)为"沿树向上". 每次取队列中任意元素\(v\), 如果\(v\)\(v\)的父亲之间的边没有定向, 就照\(v\)上面的标记来定向, 同时把\(v\)赋值为\(v\)的父亲, 标记不变. 在这个过程中, 如果对一条边\((father[v], v)\)定向, 并且存在一条以\(father[v]\)为祖先, 以\(v\)的某个后代\(u\)为后代的返祖边\((father[v],u)\), 就将这条边按照\((father[v], v)\)的相同方向定向, 同时将\(u\)标记为\(v\)相反标记(沿树向上<->沿树向下), 将\(u\)插入队列中. 这个过程能正确的定向所有边(当有解的时候. 无解的判断法是, 有条边在递推过程结束后还没有被染色. 这说明有无法走到\(t\)的死路.). 因为在这个过程中, 如果\((father[v], v)\)被定向为\(father[v]->v\), 那么从\(v\)的任意子孙无法走到\(father[v]\), 对称地, 如果\((father[v], v)\)被定向为\(v->father[v]\), 那么\(v\)无法走到\(v\)的任意子孙(除了\(v\)自己). 这个可以循环不变式证明.

L

upsolved by

题意

题解

记录

0min:分题,CSK冲G
13min:CSK WA,MJX冲A
20min:CSK 找到bug AC,MJX AC,CSK 冲H
34min:CSK WA2,ZYF冲J
36min:ZYF AC,CSK继续冲H
46min:CSK AC,MJX 冲B
51min:MJX挂一次后AC,ZYF 冲I
64min:ZYF AC,MJX 冲C
96min:MJX WA3,ZYF 冲D
119min:ZYF WA,CSK 冲E
138min:CSK AC,ZYF AC,MJX 继续冲C
152min:MJX AC,一起冲K
till end:冲不动了

总结

  • MJX:求求BFS好好学学吧,太蠢了太蠢了,好几次了,还要注意审题
  • ZYF:背包写慢了,贪心写裂开了,要加强练习。
回到页面顶部