上海高校金馬五校賽 C 序列變換 全排列

2021-08-19 16:28:17 字數 1262 閱讀 1793

時間限制:c/c++ 2秒,其他語言4秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

題目描述

給定兩個長度為n的序列,ai, bi(1<=i<=n), 通過3種魔法使得序列a變換為序列b,也就是ai=bi(1<=i<=n).

魔法1: 交換ai和aj,i!=j

首先通過若干次的魔法1將序列a變換成序列c

魔法2: 對1個數乘2或者加1

魔法3: 對1個數除以2或者減1,如果是奇數,則不能除以2

若ci>bi, 則只能對ci實施魔法3,若ci

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define ll long long int

#define inf 0x3f3f3f3f

#define irish_moonshine main

const

int maxn = 1e6 + 2333;

int t, n;

int a[maxn], b[maxn];

int cost[20][20];

int p[maxn];

int u[maxn];

int f[maxn];

int work(int x, int y)

else

}return sum;

}int get()

for (int i = 1; i <= n; i++) }}

return sum;

}int irish_moonshine()

for (int i = 1; i <= n; i++)

for (int i = 1; i <= n; i++)

}for (int i = 1; i <= n; i++)

int ans = 2e9;

do ans = min(ans, tmp);

} while (next_permutation(p + 1, p + 1 + n));

printf("%d\n", ans);

}return0;}

//_crt_secure_no_warnings

上海高校金馬五校賽 D 數字遊戲 套路

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 題目描述 小埃和小森在玩乙個數字遊戲,小埃先從區間 l1,r1 裡選擇1個數字n1,小森看到小埃選的數字後,從 l2,r2 裡選擇1個數字n2,將n1和n2連線在一...

上海高校金馬五校賽 J 小y寫文章

傳送門 題意 太懶了,去原題看吧。題解 最大值最小,明顯的二分痕跡,於是果斷二分最大值。check的話,可以比較明顯看出是乙個匹配問題,n個數字,共產生了n 1個空位,現在有m個數字要全部填進去,我們可以nm的建立數字 空位的邊,然後單獨再考慮一下最前最後兩個空位,但是這樣的匹配是n 1和m匹配,不...

埃森哲杯金馬五校賽 L K序列

時間限制 c c 1秒,其他語言2秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 給乙個陣列 a,長度為 n,若某個子串行中的和為 k 的倍數,那麼這個序列被稱為 k 序列 現在要你 對陣列 a 求出最長的子串行的長度,滿足這個序列是 k 序列。...