给定一个 n n n长度的 a [ ] a[] a[],你可以任意排列 a [ ] a[] a[]
最后使得交替相乘最大(这个是什么看题)
思路贪心
显然的 (当然不是,我只会赛后口嗨
显然 我们让和最大的数先加,那么后面计算乘法的时候,贡献是最大的
因此我们考虑 (大的*大的)*大的+小的
400 400 400多个人过的贪心,感觉这个贪心好怪
codec 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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?