牛客练习赛99—C
2024-10-20 16:46:46
数的和与积
https://ac.nowcoder.com/acm/contest/34330/C
思路:
2和4是不可以的,除了3意外其他的都可以用三项解决,其中一项为1,剩余两项分别设为x,y. sum=x+y+1+x*y。可以化简成sum=(x+1)(y+1)。
前n项的和为n(n+1)/2,可以等位置替换一下,其中奇偶是不同的,因为当奇数除2时会又偏差,所以要把他们都转化为偶数。
奇数:sum=((n+1)/2-1+1)*(n-1+1).
偶数:sum=(n/2-1+1)*(n+1).
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;
const int N=5e5+5;
ll vis[N],a[N],ans,temp[N];
priority_queue<ll,vector<ll>,greater<ll>> q;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll t;cin>>t;
while(t--){
ll n;cin>>n;
if(n==2||n==4) cout<<"-1"<<endl;
else if(n==3) cout<<"1"<<endl<<"3"<<endl;
else if(n&1) cout<<3<<endl<<1<<" "<<(n-1)/2<<" "<<(n-1)<<endl;
else cout<<3<<endl<<1<<" "<<(n-2)/2<<" "<<n<<endl;
}
}
最新文章
- C语言复杂声明
- 使用Dapper时,如何将MySqlParameters[] 变成Dapper.DynamicParameters动态对象
- JS 清除字符串数组中,重复元素
- Linux下Keepalived 安装与配置
- poj3349(哈希+链地址法)
- 关于jquery选择器中:first和:first-child和:first-of-type的区别及:nth-child()和:nth-of-type()的区别
- 【译】Java中的字符串字面量
- 【极简版】SpringBoot+SpringData JPA 管理系统
- 播放器更改语言归属地后Cnario player软件无法启动的问题
- netty解码器详解(小白也能看懂!)
- kettle使用笔记1--基本安装和使用
- lucene简单搜索demo
- hive 字段名称显示
- 下载以及安装VMware Player Pro 64位
- springmvc 笔记一
- css之3D变换
- vue $options 获取自定义属性
- springmvc el表达式取值顺序问题
- android破解
- 解决WCF跨机器调用时发生“调用方未由服务进行身份验证”的错误