• 1月24日考试(ftp密码)


    错因分析

    ♦对文件的保存不够恰当,例如第一题和第三题的题目,我是真的很愤怒,第一题在我写了一个多小时,终于样例成功.可是当我再一次打开文件时,里面只有我最开始的代码,谁可以告诉我这是为什么(我绝对保存了,还试了样例),还有第三题,也是莫名失踪,那个躺拿35分的题,我也是0分,真是愤怒(;′⌒`)

    ♦对字符串及其相应的应用掌握不够,例如今天的第二题,如果想简单一点,还是很好实现的,但是我由于对字符串掌握不牢靠,对那些简单的问题处理起来特别麻烦,写了好久还是放弃了

    学习方法

    ♦今天学习了GQL大佬的写题方法,首先把自己的思路给写了出来,然后在大致思路的基础上去敲题,感觉思路清晰明快了了许多,找起错误来也更加快了,所以今天第一题我本来都放弃了,可我绝对思路很清晰,就照思路一步一步改,错误也还找的快

    ♦我今天改了我好久以来的一个习惯,以前我做题都是从第一题做起,然后死磕到最后一题,导致后面的即使很容易实现也没有做,今天我敲了一下第一,二题,发现总不能一遍过,由于我在题目下写了思路,我也就不怕到时候回来看题时不知道自己写的是什么,于是我就放心大胆的去看后面的题目,发现最后以题特别简单,然后就对啦(也就只有最后一题让我今天得了分(;′⌒`))

    题目分析:

    第一题: Bags (Bags)

    题目描述

    ldl和好朋友们要去爬山啦!他们一共有 K 个人,每个人都会背一个包。这些包的容量是相同的,都是 V。可以装进背包里的一共有 N 种物品,每种物品都有给定的体积和价值。在 ldl 看来,合理的背包安排方案是这样的:
    1.每个人背包里装的物品的总体积恰等于包的容量。
    2.每个包里的每种物品最多只有一件,但两个不同的包中可以存在相同的物品。
    3.任意两个人,他们包里的物品清单不能完全相同。
    在满足以上要求的前提下,所有包里的所有物品的总价值最大是多少

    输入数据

    第一行有三个整数:K、V、N
    第二行开始的 N 行,每行有两个整数,分别代表这件物品的体积和价值。

    输出数据

    只需输出一个整数,即在满足以上要求的前提下所有物品的总价值的最大值。

    输入样例

    2 10 5
    3 12
    7 20
    2 4
    5 6
    1 1

    输出样例

    57

    数据约定

    总人数 K<=50。
    每个背包的容量 V<=5000。
    物品种类数 N<=200。
    其它正整数都不超过 5000。
    输入数据保证存在满足要求的方案。

    思路

    这种类型的题有一个固定的名称,叫多人背包,意思就是让你求前k个优解,那很显然的这个就是要用DP来解

    1.状态设置

    f[i][k]

    其中i表示是装到了第几个物品,而k代表的是第几优解

    2.转移方程

    if(f[j][c1]>f[j-V[i]][c2]+W[i])

    now[++cnt]=f[j][c1++];

    else now[++cnt]=f[j-V[i]][c2++]+W[i];

    这是一个解决最优解和次优解的方式

    你当前的最优解是取f[j-V[i]]的最优解+w[i]与当前最优解f[j][c1]的max,如果确定是由之前最优解推出来的,则次优解就是在f[j-V[i]]的次优解+w[i]和当前最优解之间取max,依次类推.......(tips由于我换了一个now数组来储存这次的最优解及k优解,所以在f数组中的上一步最优解和k优解是没有变化的,这也便于我们去寻找这一步1~k优解)

    3.循环方式和背包是差不多的,只是在内部多加了一个1~k优解的确定

    4.我输出1~k优解之和就可以了

    第二题:Substr (Substr)
  • 相关阅读:
    以定位为核心的互联网产品思维
    互联网服务有两种,1是靠软件卖产品,2是靠卖软件盈利
    以用户为核心的互联网思维
    xpath定位详解
    jmeter性能测试的经验总结
    IT男的”幸福”生活"续2
    MySql索引数据结构
    机器学习第四章学习记录和心得
    《机器学习》第一次作业——第一至三章学习记录和心得
    华为云使用初探
  • 原文地址:https://www.cnblogs.com/KSTT/p/10314777.html
Copyright © 2020-2023  润新知