10.26考试

T1
题意:给定一个数n,要求找n的三个约数,使得这三个数的和为n,并且乘积最大;
找规律题:
当n%30 时,答案是(n/3)(n/3)(n/3);
else 当n%4
0时,答案是(n/2)(n/4)(n/4);
其他情况都没有满足条件的方案
T2

题意:

士有K个属性,大小分别为v[1],v[2],...,v[K],一共有N只怪物,每只怪物也有相应的K个属性,第i只怪物的第j项属性标记为a[i][j]。若对于任意的j(1≤j≤K)都有a[i][j]≤v[j],则勇士可以干掉第i只怪物,而且干掉第i只怪物后,勇士的各项属性都会得到提升,其中第j项属性的提升了b[i][j]。现在小Z好奇,按照最优策略来打怪,最多能干掉多少只怪物。

考虑贪心,能杀的一定要杀,所以用k个小根堆来维护,如果满足第一个条件,就把该怪物放到第二个小根堆了,以此类推,就![img](file:///C:UsersADMINI~1AppDataLocalTempSGPicFaceTpBq10556124983BF.png)了

T3

一年一度的趣味运动会马上就要开始啦!作为班长的小Z最近正忙于制定策略,决定派哪些同学参加哪些趣味项目。其中最棘手的莫过于二人三足,顾名思义,这个运动需要每组两位同学默契配合,才能走得尽可能的快。已知全班共有N位同学报名参加趣味运动会,小Z需要在这N位同学中选出若干对同学,组队参加二人三足。可惜的是,这N位同学之间总是小摩擦不断,说不准昨天A和B吵架了,不再适合组队,而没过多久,前天吵架的C和D就又突然和好了。小Z得知这N位同学的吵架及和好事件的发生,他好奇每发生一次吵架或和好后,派出k组同学参加二人三足的方案数,分别是多少。其中k=1,2,......,N/2。

状压DP。用f[i][S]表示前i个操作都考虑上以后,已匹配的顶点状态为S的方案数。于是,加入一条新的边后,所有方案可以分为两类,第一类是包含新加的边,第二类是不包含新加的边。两类方案的方案数分别为(f[i-1][S-(1<]和f[i-1][S],f[i][S]=f[i-1][S]+f[i-1][S-(1<])至于删边,就是把加边逆过来,(f[i][S]=f[i-1][S]-f[i-1][S-(1<])

原文地址:https://www.cnblogs.com/Aswert/p/13882389.html