3315 :
{zd0}权匹配,直接用KM,但是需要保证顺序改变的幅度最小,所以可以把原来的权值全部扩大100倍,然后s1->x1,s2->x2…这些的权值再加1,{zh1}的{zd0}所求总权值就是KM算出来的权值除以100,而{zh1}顺序与原来顺序的相差个数就是KM算出来的权值mod100的得到的余数。
3316 :
广搜,扫雷,规矩大家都清楚的吧,对于每个扩散开去的点,检查它的周围八,如果有地雷就标记有几个地雷,如果没有地雷就标记没有,并把周围没有检查过的点全部扩散,应该不会又太大的问题。
3317 :
简单数学题,推个公式就可以了,代码只有200B。
3318 :
暴力题吧,BBD的题,说是操作系统里的一个小知识点,直接n*n*n的暴力查找就可以了。不用担心超时。
比赛中据说有数据问题,我也不太清楚,知道我没感觉到。。
3319 :
广搜,也算广搜吧,主要的问题是数据很大,所以要先把木板排序,再建边,但是还是会很容易超时,标程140ms,还用了二分查找,反正标程什么乱七八糟的优化都用上去了。事实上,由于上下跳跃的限制比较严格,可建的边并不多,所以写仔细点也不会超时的,我就是没把建边的条件弄清楚,卡了很久。
3320 :
水题{ms}大师的题,看了这题就不敢写,最怕这种题了,这题就当我不会吧。。。
附大师的解题报告:
用矩阵解决。
glTranslatef生成矩阵:
glScalef生成矩阵:
glRotatef生成矩阵:
向量(rx,ry,rz)为向量(x,y,z)的单位向量
由于数据中不存在x=y=z=0这种数据,不需要将此生成矩阵变为单位矩阵
glVertex3f生成矩阵:
之后的操作就是,将这些矩阵按顺序相乘即可得到答案
3321 :
模拟题,BBD的题,感觉挺好玩的,不是很难,需要的是耐心写,可能大年初一的,大家都没耐心吧,过的人不是很多,对于不在经营时间范围的顾客,直接排除,其他的hash就可以了,主要是边界的时候的处理,晚上11点的时候是不加花的,模拟的难点是{zh1}的时候把状态画出来,我们可以先找到花的最顶点,设为(x,y)然后下一行就是(x-2,y+1)(x-1,y+1)(x,y+1)(x+1,y+1)(x+2,y+1)每个点都赋值就可以了,对于每个有花的顶点都这么画一朵花,然后就是边框的处理了,也是直接算一下的,其实真的不难,有耐心的朋友可以再去做做,挺好玩的。真可惜比赛的时候AC的人这么少,赛前选题目的时候还差点把这题当成太简单的而删去了,囧。。
3322 :
DP, 旅行商双调问题,不过我没学过,不知道是这个问题,具体的可以看专门的论文。
对于此题:
对于1 <= i <= j <= n, 我们定义 b(i, j)是一条包含了P1, P2, P3 …… Pj的途径
这条路径可以分成2部分:递减序列与递增序列
起点是Pi(1 <= i <= j),拐点是P1,终点是 Pj,? b(i, j)为其最小值
状态转移方程为:
B(1,2) = |P1P2|,
i < j-1时, b(i,j) = b(i,j- 1) + |Pj-1Pj|??? 点Pj-1在递增序列中
i = j-1时, b(i,j) = min{ b(k,j- 1) + |PkPj|, 1<= k < j-1 }? 点Pj-1在递减序列中
3323 :
广搜,算广搜吧,感觉这比赛好多‘广搜’的题啊,只要bfs一遍hash一下就可以了,但是要用链表或vector保存,比赛中很多人都用了并查集,这应该不行的吧,并查集好像是处理树的。先对于每个有免疫功能的电脑进行扩散,知道无法扩散或碰到病毒源,假设此次扩散hash为1。然后对于病毒源进行扩散,知道无法扩散或到达hash为1的电脑就停止,假设此次扩散为2,数一下,有几个hash为2的电脑就可以了。当然,电脑源不算。
3324 :
线段树。? 很明显是线段树,但是我就是不会~ -.-||? ?不好意思啊。。
等我会了再补充~ ^_^? 或者哪位大牛会的,帮忙补充一下~ 谢啦。
原创,转载请注明出处。