9 7多校聯考

2021-09-26 23:59:33 字數 2309 閱讀 8801

【題目描述】

給定了乙個正整數 n。有多少種方法將 n 分解成為四個質數 a,b,c,d 的和。

例如:9 = 2 + 2 + 2 + 3 = 2 + 2 + 3 + 2 = 2 + 3 + 2 + 2 = 3 + 2 + 2 + 2,故共有 4 種方法將 9 分

解成為四個整數。

【輸入格式】

本題多組資料測試:

第一行讀入乙個整數 t 表示資料組數。

接下來共 t 行,每行包含乙個正整數 n。

【輸出格式】

共 t 行,每行乙個整數表示答案。

【輸入樣例】29

10noip2019 多校聯測-提高組

【輸出樣例】46

【資料範圍】

對於 10%的資料,n≤10。

對於 40%的資料,n≤100。

對於 70%的資料,n≤1000。

對於 100%的資料,t≤10,n≤100000。

#include#include#define n 100010

#define ll long long

int t,n,k;

int vis[n];

int p[n];

ll ans;

int main()

memset(vis,0,sizeof(vis));

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

for(int j=1;j<=cnt&&p[j]+p[i]<=nn;j++)

vis[p[i]+p[j]]++;

scanf("%d",&t);

while(t--)

}

【題目描述】

假設給定了兩個整數 m,n。有 n 個互不相同的整數 x 1 ,x 2 ,...,x n (0≤x i ≤2 m -1)。對於每

乙個屬於 0 到 2 m -1 的 y,我們找到 p y 使得 x p_y 異或 y 有最大值。即對於任意的 i≠p y ,

有 y⊕x p_y >y⊕ x i 。(其中⊕表示二進位制異或)。

現在我們把這個問題反過來。給定 m 和 n,以及序列 p 0 ,p 1 ,...,p 2^m-1 ,計算有多少個

不同序列 x 1 ,x 2 ,...,x n 可以通過上文描述的問題生成出序列 p。兩個序列是不同的當且僅當

存在乙個 i 使得兩個序列中 x i 是不同的。

答案對 1000000007(10 9 +7)取模。

【輸入格式】

第一行兩個用空格隔開的整數 m,n。其中 2 m 是 p 序列的長度,n 是 x 序列的長度。

之後 2 m 行,每行乙個整數,表示 p 序列。保證 1 到 n 中的每乙個數在輸入中都至

少出現一次。

【輸出格式】

輸出一行乙個整數表示答案。

【輸入輸出樣例】

樣例輸入 1:

3 6112

2345

6樣例輸出 1:

4樣例輸入 2:

noip2019 多校聯測-提高組

2 3121

3樣例輸出 2:

0樣例輸入 3:

3 8123

4567

8樣例輸出 3:

1【資料範圍】

對於 30%的資料:m≤3,n≤4

另外 10%的資料:m=0

另外 10%的資料:n=1

另外 10%的資料:p i =i

對於 100%的資料:0≤m≤16,1≤n≤2 m

#include#define mod 1000000007

#define ll long long

int m,n;

int a;

int p[(1<<16)];

ll dfs(int l,int r)

if(f)return dfs(l,mid)*2ll%mod;

//當 [l,mid]段和[mid+1,r]完全相同時,該位為0或1均可

for(int i=l,j=mid+1;i<=mid;i++,j++)

if(p[i]==p[j])return 0;

//當[l,mid]段和[mid+1,r]不完全相同時,該位不同但這兩段有相同指向的xi,矛盾無解

return dfs(l,mid)*dfs(mid+1,r)%mod;

}int main()

while(fa[a]!=fa[b])

if(a!=b)

}else

while(a!=b)

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

}} }

}

11 7多校聯考

t1 為了避免晚上種種事情導致寫不成題解就先把t1寫了,畢竟也是很值得寫的。我這道題憑著乙個半感性半理性的想法意外的水到了80分 真的是很考人品啊 學競賽啊,墜重要的就是人品!先看正解 我們可以這樣化 t s bk1 i1 a b k2 i 2 a bk3 i3 a b k4 再化簡一下 t s b...

2020多校聯考 樹

沒有定根就非常的離譜,後來告訴根直接就是 1 先考慮鏈上怎麼做,顯然維護乙個單調棧,求出第乙個比當前數大的位置,然後倍增即可。再放在樹上怎麼做?依舊維護單調棧,但這次不能暴力地彈掉棧頂元素了,因為這樣的複雜度是假的。因為單調棧有單調性,所以直接在單調棧內二分出單調棧彈得不能再彈的位置,然後修改 to...

2020多校聯考 手套

有兩個可重集 a 和 b 每個集合裡有若干元素,每種元素有若干個。可以選擇從 a 集中等概率隨機選 x 個到 c 集 從 b 中等概率隨機選擇 y 個到 d 使得一定會使 c 和 d 有交。最小化 x y 在 x y 相等時最小化 x 因為要使得一定有交,所以考慮選了一定數目後,沒有交的最壞情況。最...