AHS of FCGRC 停课 Day 1

停课了,压力有点大……但是就这样吧,进入正事。

Day 1

A.

题意简述:判断满足若干限制条件的从两个3的全排列到一个3的全排列的映射,提交答案。

理解题意是难点,然后就变成py练习题。考虑搜索,就A了。

B.

不会,打算和期望dp的学习一起写。

C.

题意简述:

  有n个点m条边的有向图,且所有边都从(编号)小的点连向大的点。

  满足所有连向某个点之间都是(有向边变成无向边的)团。

  求极大(有向边变成无向边的)团数量。

显然的结论:

1.i和所有连向它的点成为一个团,而且这个团所在的极大团没有其他比i编号要小的点。

2.所有的极大团都由这样的规则生成。

考虑按编号从小到大枚举点,用h[i]表示被i控制(即除去比i大的点之后i所在的极大团)的团的大小。

对于一个点控制的团(不妨设它为i),去掉它以后,剩下的点必然是一个团且都被其中编号最大的点(不妨设它为j)控制。

若其中最大的点没有控制其他的点(即h[i]-1==h[j]),这意味着j所控制的团不是极大团。

去除这样的j,剩下的按照结论都是极大团。

C.

    水题,不表。

D.

题意简述:

  求一个长度为n且满足某些限制条件(第i个仅和i-1和i-2个有关)序列的种类数。

考虑将f[i][S]表示吃到i个,且前1个和这个的状态为S的方案数。

容易写出转移方程,但直接转移会TLE。

由于S的状态数很少,考虑矩阵快速幂优化即可。

我觉得这个思路倒算是很玄妙,虽然它一点也不。

E.

题意简述:

  有n个数,第i次吃掉前i个数各d[i](即x=max(x-d[i],0))

  求每次吃掉多少。

不知道机房里其他人是什么玄学做法,反正我前缀和二分+树状数组硬肝就过了。

posted @ 2018-11-05 16:08  臼邦庶民  阅读(99)  评论(0编辑  收藏  举报