NOIP 2023模拟赛
A.merge
- 数学题,错位相减,快速幂,注意mod
附代码:
#include<bits/stdc++.h>
using namespace std;
const long long M=1000000007;
long long n;
long long qpow(long long a,long long nn) {
if (nn==0)
return 1;
else if (nn%2==1)
return qpow(a,nn-1)%M*a%M;
else {
long long temp=qpow(a,nn/2)%M;
return temp*temp%M;
}
}
int main() {
freopen("merge.in","r",stdin);
freopen("merge.out","w",stdout);
cin>>n;
if(n==1) {
cout<<1;
return 0;
}
if(n==2) {
cout<<3;
return 0;
}
cout<<qpow(2,n-1)%M*(n-1)%M+1;
return 0;
}
B.homework
- 期望的线性性,
对不起,不会,正在学习
C.最短路
- 分层图最短路
D.排序
- 线段树,
对不起,不会,正在学习
总结
- 考试A题70(TLE),D题20(暴力)
改题第一题快速幂AC,其余改不动了……