如何判断网站开发语言,网盘网站建设,明星用什么软件做视频网站,wordpress设置版权A - 回文数
回文数条件#xff1a;奇数个数的个数最多有一个 如果0的数量是0#xff0c;那么直接先找到奇数个数的数是谁#xff0c;然后正序输出一半逆序输出一半即可。 如果0的数量不是0#xff0c;只需要找到一个偶数个个数的数放置第一个即可#xff08;只需要放一个…A - 回文数
回文数条件奇数个数的个数最多有一个 如果0的数量是0那么直接先找到奇数个数的数是谁然后正序输出一半逆序输出一半即可。 如果0的数量不是0只需要找到一个偶数个个数的数放置第一个即可只需要放一个最开头一个末尾
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#includeset
#includemap
#includecmath
#includequeue
#includestring
#includevector
#includecstdio
#includecstring
#includeiostream
#includealgorithm
#includeunordered_map
using namespace std;
typedef long long ll;
typedef pairint,int pii;
const int N20;
int cnt[N];
int now[N];
int main()
{IO;int T1;//cinT;while(T--){int odd0;for(int i0;i9;i){cincnt[i];if(cnt[i]1) odd;}if(odd1) {cout-1;continue;}if(!cnt[0]){int p-1;// 找到奇数个的数for(int i1;i9;i)if(cnt[i]1) pi;// 先输出一半for(int i1;i9;i)for(int j1;jcnt[i]/2;j) couti;if(p!-1) coutp;// 再倒序输出一半for(int i9;i1;i--)for(int j1;jcnt[i]/2;j) couti;}else{int p-1;for(int i1;i9;i)if(cnt[i]) if(p-1||cnt[p]1)pi;if(p-1){if(cnt[0]1) cout0;else cout-1;continue;}else{if(cnt[p]1){cout-1;continue;}int q-1;for(int i0;i9;i)if(cnt[i]1) qi;coutp;cnt[p]-2;for(int i0;i9;i)for(int j1;jcnt[i]/2;j) couti;if(q!-1) coutq;for(int i9;i0;i--)for(int j1;jcnt[i]/2;j) couti;coutp;}}}return 0;
}C - 数学考试
状态表示fif_ifi表示1∼pi1 \sim p_i1∼pi是pip_ipi的排列且1∼pj1 \sim p_j1∼pj不是是pjp_jpj的排列jijiji情况下的方案数 状态计算fipi!−∑j1i−1fj×(pi−pj)!f_ip_i!-\sum_{j1}^{i-1}f_j×(p_i-p_j)!fipi!−∑j1i−1fj×(pi−pj)!
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#includeset
#includemap
#includecmath
#includequeue
#includestring
#includevector
#includecstdio
#includecstring
#includeiostream
#includealgorithm
#includeunordered_map
using namespace std;
typedef long long ll;
typedef pairint,int pii;
const int N2010;
const int mod20000311;
int n,m;
ll f[N],fact[N],p[N];
int main()
{IO;int T1;//cinT;while(T--){cinnm;for(int i1;im;i) cinp[i];fact[0]1;for(int i1;in;i) fact[i]fact[i-1]*i%mod;sort(p1,p1m);for(int i1;im;i){f[i]fact[p[i]];for(int j1;ji;j)f[i](f[i]-f[j]*fact[p[i]-p[j]]%mod)%mod;}ll resfact[n];for(int i1;im;i)res(res-f[i]*fact[n-p[i]]%mod)%mod;cout(res%modmod)%mod\n;}return 0;
}