【題目描述】
給定了乙個正整數 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 因為要使得一定有交,所以考慮選了一定數目後,沒有交的最壞情況。最...