比賽難度:cf 1000~1500
知識點:模擬
題意:乙個陣列,每次操作可以增加乙個數或刪除乙個數。問最少多少次操作可以讓mex=k?(mex值陣列不存在的最小非負整數)
解法:按題意模擬即可。0到k-1若不存在則增加之。k若存在則刪除之。
#includeusing namespace std;
int main();
for(int i=0;i>a[i];
tong[a[i]]=1;
}int cnt=0;
for(int i=x-1;i>=0;i--)cnt+=!tong[i];
cout《知識點:數學/容斥
題意:給定a集合,b集合、a∩b集合和全集的元素數量a,b,c和)n,求a∪b補集的元素數量。如果輸入不合法需要指出。
解法:若合法,解即是n-(a+b-c)。
不合法的情況有以下幾種:
ausing namespace std;
int main()
t=0;
for(;i>=0;i--)
printf("%.8lf",s1/(n1*1.0)+s2/(n2*1.0));
}
知識點:數論
題意:求ax+by=n是否存在非負整數解。若存在,輸出任意。
解法:即判斷是否存在b使得n-by能被a整除。這裡讓y從0遍歷到min(a,n/b)即可。
#includeusing namespace std;
int g(int a,int b)
int main()
else;
int k,i;
cin>>n>>k;
for(i=0;i>x;
sum+=x/10;
tong[x%10]++;
y+=(100-x)/10;
}for(i=9;i>0;i--)
else;
int visited[222222]=;
int jud;
void dfs(int x)
for(i=0;i>n>>m;
while(m--)
int cnt=0;
for(i=1;i<=n;i++)
cnt+=jud;
}cout<}
bistuacm 2023年第三場新生訓練賽題解
a 知識點 排序 桶 題意 給乙個陣列,求其中所有不同非零元素的種類數。解法一 對陣列從小到大排序。很明顯相同的元素排序後一定相鄰,因此種類數 n 相鄰相等的對數 注意要特判0是否存在。時間複雜度o nlogn 空間複雜度o 1 解法二 注意到元素的範圍是 1e5 1e5,因此可以開乙個20萬大小的...
bistuacm 2023年第 場新生訓練賽題解
知識點 列舉 題意 尋找距離陣列某個數最接近的a i k且b i 1的數。解法 按題意模擬即可。includeusing namespace std int main for t 0 t cout 10 t 知識點 數學 題意 找到大於a,且各數字只含乙個非0數字的數,輸出其和a的差。解法 求出a的...
bistuacm 2023年第四場高階訓練賽題解
因vjudge經常崩潰而無法交題,而北交平台偶爾題目亂碼,因此用這種形式 難度 cf 1300 1800原題 知識點 模擬 題意 先求出所有數的和sum,然後從左到右找到字首和大於等於sum的一半即可。includeusing namespace std int main for i 0 i sum...