T1.阅览室(reading)
有一个0~T时间内开放的阅览室,n个读者来读书每人k本,编号和看完所需时间在输入中。其中喜欢度降序排列(不考虑数值),每个人先看喜欢的,如果没有(被人拿走了)就继续找第二本。如果找不到书就一直等。每个人每次开始等都要登记直到书腾出来。
对每本书,先登记的人先拿到,如果同时登记,那就先来的人先拿到。
于是乎一个蛋疼的模拟题就横空出世了。关键点在于处理每本书的登记情况和借阅顺序(真的很烦啊啊啊啊),然后按时间模拟就好了。
T2.影像之结构化特征(graph)
(什么玩意儿)
其实就是一张n*n的01图,求每个1的联通块的bfs遍历深度,输出连通块个数和每个连通块的深度(升序)。
如上,就是bfs(一列一列来)(可能也可以吧老师那里好像有数据的。)
T3.诸侯安置(empire)
有n*n的方格(其实不是严格的,是长这样的)
现在要选k个,每行和每列只能有一个。求方案数%504
据大神题解,发现可以这样
然后就dp了。f[i][j]=sum(f[k][j-1]*(len[i]-j+1)) 其中len[i]表示的是当列的长度,f[i][j]表示前i列选j个的方案数,(j-1<=k<i) 。
一开始k从1开始循环然后就TLE了一个点。。。还有一个不知错在哪儿的前缀和做法(一脸懵逼)。。。