文章
8
粉丝
0
获赞
42
访问
1.5k
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int n, m;
while (cin >> n) {
vector<ll> agent;
vector<ll> sever;
int a, b, c, d;
// 读取代理服务器 IP
for (int i = 0; i < n; i++) {
scanf("%d.%d.%d.%d", &a, &b, &c, &d);
// 使用位移来表示 IP
ll temp = (a * 1000000000) + (b * 1000000) + (c * 1000) + d;
agent.push_back(temp);
}
cin >> m; // 读取目标服务器的数量
// 读取目标服务器 IP
for (int i = 0; i < m; i++) {
scanf(&quo...
登录后发布评论
算法时间复杂度高了导致超时
问题分析:我们需要在访问一系列目标服务器时,使用代理服务器,避免使用与目标服务器相同IP的代理。每次切换代理的次数应尽可能少。
动态规划优化:使用动态规划来记录每一步的最小切换次数,但需要将时间复杂度从O(mn^2)优化到O(mn)。
修改代码