模拟23

这波直接菜死

T1

考场上对着一个套了两层绝对值的式子求了半天最值,然后推出了一个看起来是但实际上好像有点问题的结论,应该也不算什么结论反正就是没正确性,忘了原始的式子,然而实际上应该是直接考虑原始的式子,它是条直线,并且也没套两层绝对值,然后就可以看出在\(x\)\(y\)在0的两侧左右摇摆的时候和最小。

T2

考场上读错题了,既然都说了可以以任意顺序排列,为什么不多想一下,题中的\(i,j\)显然应该不是原来的\(i,j\)

暴力肯定是枚举全排列然后去选,肯定会T,不妨考虑一下按什么顺序取会最优。

一共只会有4种可能的情况。

\(a_i<b_j\ b_i<a_j\),这样的话\(i\)必须在\(j\)的前面,因为只有这种情况才能增加贡献。

\(a_i>b_j\ b_i>a_j\),同理,反过来而已。

剩下的两种情况不论怎么排都能取到贡献,所以可以直接按照\(a_i+b_i\)的大小排序。

接着就简单\(DP\)一下就行了。

T3

容易发现从一个点到另一个点的最短路上一定会跨过这样一条边,这条边的一边离着一个点最近,另一边离这另一个点最近,所以用Dij染一下色然后枚举每条边更新答案。

T4

发现对于没有\(\$\)的情况,只要能确定一个点的状态,整条链的状态就确定了,直接枚举做就可。

如果有了\(\$\),可以通过它将原来的环分为若干条链,同理,如果一个点的状态确定了那么整条链的状态就确定了,如果没有说真话的人的限制,那么可以随便取,但是有了限制就要考虑一下,所以为了方便以每个\(\$\)的状态确定每条链的状态,将\(\$\)后数字一样的划分为同一组,然后最多只有一个数说的是真话,所以可以枚举是谁,然后求一下贡献判断就完了,细节比较多,需要注意下。

posted @ 2020-10-25 20:31  An_Fly  阅读(94)  评论(0编辑  收藏  举报