继《庄子》《老子》《周易》后第四玄
查看原帖
继《庄子》《老子》《周易》后第四玄
150956
StillEmpty楼主2021/11/29 22:24

本人写的是爬山(贪心),CCF得40pts,洛谷28pts,小图灵24pts,核心代码如下:

针灸玄学

    while(true) {
        int mingot = INT_MAX, mini;
        for(int i = 2; i < n; i++) {
            int after = a[i-1]+a[i+1]-a[i];
            int thissqsum = sqsum-a[i]*a[i]+after*after;
            int thissum = sum-a[i]+after;
            if(thissqsum*n*n-thissum*thissum*n < mingot) {
                mingot = thissqsum*n*n-thissum*thissum*n;
                mini = i;
            }
        }
        if(mingot >= sqsum*n*n-sum*sum*n) {
            cout << (sqsum*n*n-sum*sum*n)/n << endl;
            return 0;
        }
        int after = a[mini-1]+a[mini+1]-a[mini];
        sqsum = sqsum-a[mini]*a[mini]+after*after;
        sum = sum-a[mini]+after;
        a[mini] = a[mini-1]+a[mini+1]-a[mini];
    }

除了本人外的玄学程序1号114514 114514 除了本人外的玄学程序2号

2021/11/29 22:24
加载中...