又是一部番????
A. 嘟嘟噜
以为是个神仙题,就只打了个约瑟夫问题,然后QJ了M==2的分,
事实上因为M很小,可以让让轮数跳转,瞎算算就出来了.
B. 天才绅士少女助手克里斯蒂娜
考试一开始看错题了,样例过不了异常崩溃........
1h过去了,我读错题了(一脸震惊)
然后...好像是线段树,但不会维护.......
好像式子能拆开,wc这怎么维护???
after 10min 好像可以维护了...
C. 凤凰院凶真
没时间想了,事实上是一个裸的最长公共上升子序列
考虑DP,f[i][j]表示序列1考虑到i,但不一定选,序列2考虑到j,但一定选。
那么我们可以看出n^3的DP是裸的,只要再枚举一维k,用f[i-1][k]转移f[i][j]即可
但是这题需要n^2思路
对于当前i,j我们只需知道a[i]是否等于b[j]
如果不等那么f[i][j]=f[i-1][j];
否则,我们可以维护一个变量maxn,枚举每层i时,假如b[j]<a[i]我们都可以用f[i-1][j]更新a[i],因为决策单调。
同时我们维护二元组,去维护f[i][j]是由谁更新来的
那么我们因为每个i难以维护,我们可以只维护实际的j
在更新maxn时,也需要二元组,每次都是用make_pair(i-1,j)更新,
我们画图发现转移中,i的大小与最后查询无关,我们只要用j就好了...