• I
    iwktd981220

    '''
    movb $0xF, (%ebx)
    '''
    这里的错误的原因是否应该理解为在x86_64下不应该使用32位的地址来寻址?
    参考:https://stackoverflow.com/questions/31633075/error-moving-a-constant-byte-value-into-ebx

    发布在 CSAPP 讨论区 阅读更多
  • I
    iwktd981220

    @bintou关于17级暑假学习的建议 中说:

    @iwktd981220 这。。。我不知道啊。如果你们指的是Han Kunlin之类的,那就肯定是你们了!!!这么牛的一群人不讲,谁讲?

    瑟瑟发抖(;´༎ຶД༎ຶ`)

    发布在 灌水区 阅读更多
  • I
    iwktd981220

    这个学期大一的GSLA是不是我们讲(;´༎ຶД༎ຶ`)

    发布在 灌水区 阅读更多
  • I
    iwktd981220

    @诟屍课本代码实现:截钢条 中说:

    @iwktd981220课本代码实现:截钢条 中说:

    这个结果是否意味着我只需要找出1到10的最优解即可使用r(n) = floor(n/10)*r(10)+r(n%10),求出任意大值的最优解?

    反例:
    p = [1, 1, 1, 1, 1, 100, 1, 1, 1, 1];
    r(2) = 2
    r(4) = 4
    r(6) = 100
    r(10) = 104
    r(12) = 200 而不是 106

    我的猜想的确是错误的,按照我的算法,是可以输出
    0_1526966187530_1998a442-48de-479e-a0f9-7c51a5b55762-image.png
    我认为是由于题目条件决定这个性质的
    0_1526966740106_f76211e5-94f9-4fee-a87e-3913452ce088-image.png
    我暂时没有问题了,谢谢师兄的解答和质疑,收益匪浅。

    发布在 算法与数据结构讨论区 阅读更多
  • I
    iwktd981220

    @诟屍课本代码实现:截钢条 中说:

    我们需要在朴素算法中访问到大于10的长度的钢条的价格

    不知道具体指什么。。。
    show me the code

    我感觉我是理解错书本上的意思了,书本上:
    0_1526702177104_6517df26-479a-45bf-986f-d6071951ca5e-image.png
    而我之前认为是已知长度1到10的价格,需要求长度为n(n>0)的最大价格。

    我现在使用memo的方法计算我所认为的问题,发现大于10后,单纯的是r(n) = floor(n/10)*r(10)+r(n%10)

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int r[150] = {0,1,5,8,9,10,17,17,20,24,30};
    
    inline int max(int n1,int n2){return n1>n2?n1:n2;};
    
    int cutRod_memo_aux(int n){
        int q = r[n];
        if(r[n] > 0 && n > 11)return r[n];
        if(n == 0) return 0;
        else {
            for (int i = 1; i < n; i++) {
                q = max(q,r[i] + cutRod_memo_aux(n-i));
            }
            r[n] = q;
        }
        return r[n];
    }
    
    int main(){
        cout<<"The best for 150 is "<<cutRod_memo_aux(150)<<endl;
        return 0;
    }
    

    输出为:0_1526702421852_f9e44a8c-9070-46eb-92eb-ce68394f65cf-image.png
    这个结果是否意味着我只需要找出1到10的最优解即可使用r(n) = floor(n/10)*r(10)+r(n%10),求出任意大值的最优解?

    发布在 算法与数据结构讨论区 阅读更多
  • I
    iwktd981220

    我想将截钢条中三种算法:朴素、备忘和自底向上都实现来了解DP。
    我们有的条件是:钢条长度1到10的价格。
    但是在这个过程中,按照课本的想法以及伪代码我们需要在朴素算法中访问到大于10的长度的钢条的价格,意味着在真正的代码实现中,这里存在着越界的问题,然后我就卡在这里了。
    后来和大东聊了两句,发现其实我没有理解切钢条实际上是单向切割的,这一个点。

    暂时想到这么多,写代码看看问题是不是这样(/ω\)

    发布在 算法与数据结构讨论区 阅读更多

与 图灵班论坛 的连接断开,我们正在尝试重连,请耐心等待