#include <iostream>

using namespace std;

const int N = 1e4 + 10;
int n, d;
long long Q[N][21], K[N][21], V[N][21], W[N], res[N][21], t[21][21];
int main(){
    cin >> n >> d;
    for (int i = 0;i < 3;i ++){
        for (int j = 0;j < n;j ++){
            for (int k = 0;k < d;k ++){
                switch (i){
                    case 0: cin >> Q[j][k];  break;
                    case 1: cin >> K[j][k];  break;
                    case 2: cin >> V[j][k];  break;
                }

            }
        }
    }
    for (int i = 0;i < n;i ++) cin >> W[i];


    for (int i = 0;i < d;i ++){

        for (int k = 0;k < d;k ++){
            for (int j = 0;j < n;j ++){
                t[i][k] += K[j][i] * V[j][k];
            }
        }

    }

    for (int i = 0;i < n; i ++){
        for (int k = 0;k < d;k ++){
            for (int j = 0;j < d;j ++){
                res[i][k] += Q[i][j] * t[j][k];
            }
            cout << res[i][k] * W[i] << ' ';
        }
        cout << endl;
    }

}

Python

n = int(input())
s = ["" for _ in range(n)]

for i in range(n):
    for j in range(8):
        s[i] += input()
    print(s.count(s[i]))

C++

#include <iostream>
#include <unordered_map>

using namespace std;

const int N = 110, k = 131;
int n;
unordered_map<string, int> map;

int main(){
    cin >> n;
    for (int i = 0;i < n; i ++){
        string t = "";
        int u = 0;
        for (int j = 0;j < 8;j ++){
            string s;
            cin >> s;
            t += s;
        }

        if (map.count(t) == 0){
            map[t] = 1;
            cout << 1 << endl;
        }else{
            map[t] += 1;
            cout << map[t] << endl;
        }
    }
}

坐标变换(其一)

#include <iostream>
using namespace std;

const int N = 110;
int a[N][2], d[N][2], s[2];

int main(){
    int n, m;
    cin >> n >> m;
    for (int i = 0;i < n; i ++){
        cin >> d[i][0] >> d[i][1];
        s[0] += d[i][0];
        s[1] += d[i][1];
    }
    
    for (int i = 0;i < m; i ++){
        cin >> a[i][0] >> a[i][1];
        cout << a[i][0] + s[0] << ' ' << a[i][1] + s[1] << endl;
    }
    
    
    
}

坐标变换(其二)

#include <iostream>
#include <cmath>

using namespace std;

const int N = 1e5 + 10;
int n, m;
double s1[N], s2[N];

int main()
{
    s1[0] = 1;
    cin >> n >> m;
    for (int i = 1; i <= n; i ++){
        int u;
        double v;
        cin >> u >> v;
        if (u == 1){
            s1[i] = s1[i - 1] * v;
            s2[i] = s2[i - 1];
        }else{
            s1[i] = s1[i - 1];
            s2[i] = s2[i - 1] + v;
        }
    }
    
    for (int i = 0;i < m; i ++){
        int l, r;
        double x, y;
        cin >> l >> r >> x >> y;
        
        double k = s1[r] / s1[l - 1];
        x *= k;
        y *= k;
        
        double t = s2[r] - s2[l - 1];
        double x1 = x * cos(t) - y * sin(t);
        double y1 = x * sin(t) + y * cos(t);
        
        printf("%.3f %.3f\n", x1, y1);
    }
    
}

在添加SSL站点时会有个选择叫做

Please enter full path to SSL Certificate file
这里作为PEM的站点要填写你自己的PEM的文件位置
虽然后面还会问到,但是感觉并无卵用。

但是大部分的优化已经做的很棒了,比如无人值守的安装以及添加站点时不用我重复的填自己的邮箱了。

首先备份文件是必须的 对于我而言只需要

Python backup.py

就可以实现文件的打包与上传,接下来去

Qiniu.com

下载对应的文件,之后利用WinSCP工具将下载好的文件上传上去,之后利用解压缩将其解压

yum install -y unzip zip

首先安装解压程序

unzip back.zip

将其解压就可以。

接下来将刚刚提到的Backup.py上传至Root目录 , 因为如果上传到Home 就会陷入一个压缩的死循环。

可是上传好的Backup.py还是不能用的,因为需要七牛云API的支持,所以我们还需要添加一步

pip install qiniu 或 easy_install qiniu

就可以运行了。

之后再通过Crontab将其设置定时

service crond start

启动Crontab服务

crontab -e

编辑定时任务 按Insert进行编辑 编辑完成 :wq

0 */1 * * * python backup.py

意味着每小时执行一次

/sbin/service crond restart

进行服务重启

Crontab到这里结束

注意:千万不要忘记备份数据库以及导出数据库中的用户
一个一个重新创建真的很麻烦的