您当前的位置: 首页 > 

*DDL_GzmBlog

暂无认证

  • 1浏览

    0关注

    605博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

[nk]牛客月赛48 D

*DDL_GzmBlog 发布时间:2022-04-22 21:24:47 ,浏览量:1

题意

给定一个 n n n长度的 a [ ] a[] a[],你可以任意排列 a [ ] a[] a[]

最后使得交替相乘最大(这个是什么看题)

思路

贪心

显然的 (当然不是,我只会赛后口嗨

显然 我们让和最大的数先加,那么后面计算乘法的时候,贡献是最大的

因此我们考虑 (大的*大的)*大的+小的

400 400 400多个人过的贪心,感觉这个贪心好怪

code

c o s e c a n t cosecant cosecant大佬的

const int N = 1e5+10 ,mod =  1e9+7;

int a[N],n,b[N];

void solve(){
	cin>>n;
	for(int i=1;i>b[i];
	sort(b+1,b+1+n);
	
	int j = 1;
	//偶数 用来加 (小的放后面加)
	for(int i=n/2*2;i>=2;i-=2)  a[i] = b[j++];
	//奇数 用来乘 (大的放前面乘)
	for(int i=1;i            
关注
打赏
1657615554
查看更多评论
0.0463s