Codeforces Round #628 (Div. 2)
发布日期:2021-05-09 00:11:25 浏览次数:22 分类:博客文章

本文共 1076 字,大约阅读时间需要 3 分钟。

Codeforces Round #628 (Div. 2)

Description

给定一正整数 \(x\),求正整数\(a,b\),使得 \(gcd(a,b) + lcm(a,b) = x\)

Solution

\(a = 1\) 即可。

#include
int main(){ int t; scanf("%d",&t); while(t--){ int n;scanf("%d",&n); printf("1 %d\n",n-1); } return 0;}

Description

给定一个数组,求由这个数组复制 次产生的数组的最大上升(严格)子序列长度。

Solution

只需在第一次复制中选择最小的,在第二次复制中选择次小的,以此类推即可。

故答案即为数组中不同元素个数,使用 std::unique 获得。

#include
int main(){ int t; scanf("%d",&t); while(t--) { int n, a[100100];scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",a+i); std::sort(a+1,a+n+1); int ans = std::unique(a+1,a+n+1)-(a+1); printf("%d\n",ans); } return 0;}

#include
const int maxn= 1e5+100;using namespace std;int a[maxn],b[maxn],num[maxn];int main(){ int n; scanf("%d",&n); for(int i=1;i
=3) {op = i; break;} if(!op) for(int i=0;i

#include
typedef long long ll;int main(){ ll x,s; scanf("%lld%lld",&x,&s); if(s==0 && x==0) printf("0\n"); else if(s==x) printf("1\n%lld",s); else if(s
上一篇:Codeforce1343C. Alternating Subsequence
下一篇:数论(1):素数

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月30日 14时45分46秒