The 2023 ICPC Asia Hangzhou Regional Contest (The 2nd Universal Cup. Stage 22: Hangzhou) D题

题目来源:The 2023 ICPC Asia Hangzhou Regional Contest (The 2nd Universal Cup. Stage 22: Hangzhou) - External - Virtual Judge (vjudge.net)

题意:给定一个整数n,输出2n个数,并且这些2n个数满足\sum a_{2i-1} a_{2i}=a_{1}a_{2n}\sum a_{2i-2}+a_{2i-1}

思路:思维构造题,由等号的右边(a2+a3)*(a4+a5),可以构造2和-1(0不可取),这样2+(-1)为1,等号右边就为a1和a2n,等号左边为2a1*(-2)*(-2)*(-a2n),这样就相当于解二元方程,那么直接去a2n为1,解得a1为1-(-2)*(n-2),然后按题意输出即可。

实现代码:

#include<bits/stdc++.h>
#define int long long 
#define endl "\n"
#define fi first
#define se second
#define PII pair<int,int> 
using namespace std;
const int N=1e6+5;
int a[N];
void solve(){
	int n;
	cin >> n;
	cout << 1-(-2)*(n-2) << " "<<2<<" ";//先输出a1,然后输出2
	for(int i=1;i<=n-2;++i){//输出n-2个(-1 2)
		cout << "-1 2 ";
	} 
	cout << "-1 1" << endl;//最后输出-1和a2n
	return ;
}
signed main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	int t=1;
	cin >> t;
	while(t--) solve();
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值