zoukankan      html  css  js  c++  java
  • 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<])

  • 相关阅读:
    vue中$router和$route的区别
    移动端rem自适应
    如何用Mac自带的QuickTime Player录制视频并制作GIF动图
    vue页面刷新重定向
    JavaScript Functional Programming:声明式与命令式
    配置一个可以使用Vue的History模式的后端服务
    vue使用jsx语法开发
    vue多页面项目配置
    JavaScript的本来面貌之默认结构
    JavaScript的本来面貌之默认值
  • 原文地址:https://www.cnblogs.com/Aswert/p/13882389.html
Copyright © 2011-2022 走看看