Two Arrays -每天一把CF - 20201017

每天一把CF : 2020-10-17
其实今天有想过现暂停一段时间的,因为报了个大数据比赛,但是自己根本没学过…那是下学期乃至下下学期的事情,不过报都报了,就得顶,找了尚学堂的教学资料开始看了起来,还有半个月就比赛,任重而道远啊.
说实话,自己感觉自己并不擅长算法,当然这也跟我才训练算法3个月有关,而且高中文科生,真的吃很多亏,不过话不能说太早,因为真正的无能为力是在尝尽所有办法后的结论,而不是自己一开始就给自己下的定论。所以,大家还是顶起来啊。奥利给。
太晚了,这道题今晚只有思路,明天起来补。
明天还要参加CPC选拔,虽然我就是走个过场,但是我好烦呐,我宝贵的时间。
感谢你看了我那么多的发的牢骚,emmmm.

文章目录

题目

原题链接:https://codeforces.com/problemset/problem/1417/B

在这里插入图片描述

思路

题目大意:给定一个包含n个非负整数的数组a和一个霉运数t,定义f(x)为数组x中和为t的整数对(i!=j)的对数,现将数组a分割成两个数组c和d(可空),求使f©+f(d)最小的切割方案。

思路:

暂时思路是将能够组成t的数对放进不同的数组中。明天起来实现。奥利给

实现了一下,算法复杂度是n^2,明显必炸无疑,emmm。

考虑更加简单的思路,所以小于t/2的数必定无法组成霉运数,同理,所有大于t/2的数也同样无法组成霉运数,对于a[i]==t/2 两个数组一个个放就是了。

然后考虑一下t是奇数偶数的情况下的细小区别。完。

小声哔哔:wtm没有写输出答案的语句交了两次都错了还在那找错,hhhhh,卒。

代码实现

#include <iostream>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值