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<])

  • 相关阅读:
    Fetch的使用
    if判断中的true和false
    分布式、微服务和集群的初步了解
    关于视频的知识点
    ajax请求
    jq的遍历关系元素方法集合
    docker安装Mysql
    设计模式系列之七大原则之——开闭原则
    设计模式系列之七大原则之——里式替换原则
    设计模式系列之七大原则之——依赖倒转原则
  • 原文地址:https://www.cnblogs.com/Aswert/p/13882389.html
Copyright © 2011-2022 走看看