總時限10s
記憶體限制
256mb
出題人sliverriver
提交情況
2/7
【題目描述】
棟棟非常喜歡數列.
數列中有n個數且兩兩不同,並且該數列中所有的數都屬於[0,n],那這個數列即為極好數列。
對於每兩個極好數列a,b都有契合度,契合度的計算公式如下.
契合度 = (a0 xor b0) + (a1 xor b1) + ... + (an xor bn)
棟棟想知道,對於乙個正整數n和數列a,數列b的最大的契合度為多少.
【輸入】
輸入檔案為sequence.in
輸入共2行,乙個正整數n,第二行對數列a進行描述.
【輸出】
輸出檔案為sequence.out
輸出共2行.
第一行輸出最大美好度.
第二行輸出最大美好度所對應的唯一b數列.
【樣例輸入輸出】
sequence.in
sequence.out
10 1
21 0
【樣例解釋】
對於n = 1,有兩種情況(0,1)和(1,0)
對於(0,1):0 xor 0 = 0,1 xor 1 = 0.所以第一種的美好度為0.
對於(1,0):1 xor 0 = 1,0 xor 1 = 1.所以第二種的美好度為2.
【資料範圍】
對於40%的資料,n≤12.
對於100%的資料,n≤100,000.
【時間空間限制】
1s,256m
這題是打表找規律??
吸取經驗教訓,先打乙個。。。
#include#include#include#include#include#include#include#include#includeusing namespace std;
#define for(i,n) for(int i=1;i<=n;i++)
#define fork(i,k,n) for(int i=k;i<=n;i++)
#define rep(i,n) for(int i=0;i=0;i--)
#define forp(x) for(int p=pre[x];p;p=next[p])
#define lson (x<<1)
#define rson ((x<<1)+1)
#define mem(a) memset(a,0,sizeof(a));
#define memi(a) memset(a,127,sizeof(a));
#define memi(a) memset(a,128,sizeof(a));
#define inf (2139062143)
#define f (100000007)
#define maxn (100)
long long mul(long long a,long long b)
long long add(long long a,long long b)
long long sub(long long a,long long b)
typedef long long ll;
int n,a[maxn],ans[maxn],st[maxn],sum=0;
bool b[maxn]=;
void dfs(int l,int tot)
rep(i,n+1) if (!b[i]) b[i]=1,st[l]=i,dfs(l+1,tot+a[l]^i),b[i]=0;
}int main()
long long add(long long a,long long b)
long long sub(long long a,long long b)
typedef long long ll;
int n,a[maxn],b[maxn];
bool used[maxn]=;
int main()
ll ans=0;
rep(i,n+1) ans+=i^b[i];
cout<
打表找規律
題解 此題資料規模較大,如果運用直接暴力方法顯然不可行。對於公式 f n a f n 1 b f n 2 後者只有7 7 49 種可能,為什麼這麼說,因為對於f n 1 或者 f n 2 的取值只有 0,1,2,3,4,5,6 這7個數,a,b又是固定的,所以就只有49種可能值了。由該關係式得知每一...
A Funny Game 打表 找規律
n枚硬幣排成乙個圈。alice和bob輪流從中取一枚或兩枚硬幣。不過,取兩枚時,所取的兩枚硬幣必須是連續的。硬幣取走之後留下空格,相隔空格的硬幣視為不連續。alice開始先取,取走最後一枚硬幣的獲勝。當雙方都採取最有策略時,誰會獲勝?不管,先爆搜找規律。includeusing namespace ...
藍橋杯 Fibonacci數列(打表)
fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入包含乙個整數n。資料規模與約定 1 n 1,000,000。輸出一行,包含乙個整數,表示fn除以10007的餘數。55 在本題中,答案是要...