当前位置: 首页 > news >正文

2025 --【J+S 二十连测】-- 第十三套 总结

总结

T1 T3

考试时很快就写出了代码,没什么问题

T2

考试时很快就写出了代码,但思路不严谨,故失分

T4 T5

考试时很快就写出了部分分代码,无失分

题解

T1

利用最近学的数学方法即可

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e6+5;
int a[maxn];
signed main()
{freopen("num.in","r",stdin);freopen("num.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int n;cin>>n;for(int i=1;i<=n;i++) cin>>a[i];sort(a+1,a+1+n);int mid=(1+n)>>1,sum=0;if(n&1){for(int i=mid;i<=n;i++) sum+=a[i];for(int i=1;i<=mid;i++) sum-=a[i];}else {for(int i=mid+1;i<=n;i++) sum+=a[i];for(int i=1;i<=mid;i++) sum-=a[i];}cout<<sum<<endl;return 0;
}

T2

不难发现他所抽出来某个数的倍数一定是所有数和的因数。且一定是质因数。

那么此时我们枚举每一个质因数。

由于他不是减一就是加一。所以我们会发现那些余数比较小的减更好,余数比较大的家更好。于是就按照余数给他们排个序,然后枚举分界线即可。

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e5+5;
int a[maxn],b[maxn];
signed main()
{freopen("mod.in","r",stdin);freopen("mod.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int n,sum=0,ans=inf;cin>>n;for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i];for(int m=2;m*m<=sum;m++){if(sum%m==0){while(sum%m==0) sum/=m;for(int i=1;i<=n;i++) b[i]=a[i]%m;sort(b+1,b+1+n);int sum1=0,sum2=0;for(int i=1;i<=n;i++) sum1+=b[i];for(int i=n;i>=1;i--){if(sum1==sum2){ans=min(ans,sum1);break;}sum1-=b[i];sum2+=m-b[i];}}}if(sum>0){int m=sum;for(int i=1;i<=n;i++) b[i]=a[i]%m;sort(b+1,b+1+n);int sum1=0,sum2=0;for(int i=1;i<=n;i++) sum1+=b[i];for(int i=n;i>=1;i--){if(sum1==sum2){ans=min(ans,sum1);break;}sum1-=b[i];sum2+=m-b[i];}}cout<<ans;return 0;
}

T3

直接把所有数打出来,然后直接按照字典序排序即可。

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=1e6+5;
string a[maxn];
signed main()
{freopen("cmp.in","r",stdin);freopen("cmp.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int n,q;cin>>n>>q;for(int i=1;i<=n;i++) a[i]=to_string(i);sort(a+1,a+1+n);while(q--){int k;cin>>k;cout<<a[k]<<endl;}return 0;
}

T4

不难发觉,每一个指所拥有的系数一定是 \(C_{i+m-2}^{i-1}\),利用卢卡斯定理判奇偶性即可。

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e5+5;
int a[maxn],b[maxn];
signed main()
{freopen("xor.in","r",stdin);freopen("xor.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){int x=i+m-2,y=i-1;if((x&y)==y) for(int j=i;j<=n;j++) b[j]^=a[j-i+1];}for(int i=1;i<=n;i++) cout<<b[i]<<' ';return 0;
}

T5

首先有一个观察:\(x=\frac{10^A-1}{9},y=\frac{10^B-1}{9}\)

然后我们接下来来考虑它的gcd。

有一个定理:

\[\gcd(x^n-1,x^m-1)=x^{\gcd(n,m)}-1; \]

那么此时设:\(c=\gcd(A,B),ac=A,bc=B\)

那么答案就为。

\[\frac{10^c-1}{9}\times \frac{10^{ac}-1}{10^c-1}\times \frac{10^{bc}-1}{10^c-1}\\\\ 10^{ac}-1=(10^c-1)\sum_{i=0}^{a-1}10^{ic} \]

将最后这个式子照着计算即可。

代码

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f3f3f3f3f
#define int long long
#define endl '\n'
using namespace std;
const int maxn=2e5+5;
int a,b,mod;
int kasumi(int a,int b)
{int ans=1;while(b){if(b&1) ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans;
}
int f1(int n,int c)
{if(!n) return 1;int x=f1(n/2,c);x=(x+kasumi(kasumi(10,(n>>1)),c)*(x-1+mod)%mod)%mod;if(n&1) x=(x+kasumi(kasumi(10,n),c)%mod)%mod;return x;
}
int f2(int n)
{if(!n) return 1;int x=f2(n/2);x=(x+kasumi(10,(n>>1))*(x-1+mod)%mod)%mod;if(n&1) x=(x+kasumi(10,n)%mod)%mod;return x;
}
signed main()
{freopen("e.in","r",stdin);freopen("e.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);cin>>a>>b>>mod;int c=__gcd(a,b);a/=c,b/=c;cout<<f1(a-1,c)*f1(b-1,c)%mod*f2(c-1)%mod;return 0;
}
http://www.hskmm.com/?act=detail&tid=25627

相关文章:

  • 文件提供的基本操作
  • 深入解析:MySQL(50)如何使用UNSIGNED属性?
  • 迈向人机价值共生文明:AI元人文范式下的演化架构与协同治理
  • 10.6
  • 文件存储空间管理
  • 详细介绍:关于ios点击分享自动复制到粘贴板的问题
  • 新一代数据平台替代传统大数据技术栈
  • 攻击者如何绕过macOS内置安全防护机制
  • 在A列连续且相等行的最后插入空行,并求和
  • 10.6集训改错
  • @Prometheus 监控-MySQL (Mysqld Exporter) - 教程
  • AI元人文:走向人机价值共生的文明新范式
  • 实用指南:【机器学习基础】机器学习入门核心算法:层次聚类算法(AGNES算法和 DIANA算法)
  • CSP-J 第二轮集训 :总结 + 专题细分精讲_from_黄老师
  • ROIR 2024
  • 软件工程第一次随笔 - Nicholas
  • 深入解析:【数据库】关系数据库标准语言-SQL(金仓)下
  • Codeforces Round 1056 (Div. 2) (4/6)
  • 20251006
  • UV使用
  • 动手实验——mybatis generator
  • 学生管理系统面向对象分析报告
  • 荷兰青少年通过Telegram被招募,涉嫌参与俄罗斯支持的黑客活动
  • Moscow International Workshops 2017. Day 4. Lviv NU Contest, GP of Ukraine
  • 小代码使用npm包的方法
  • day18 课程(模块 )
  • Kubernetes(K8s)核心架构解析与实用命令大全 - 教程
  • mzoj 2025/10/6
  • 实验作业1-8 陆绎
  • 全源最短路 Johnson算法