当前位置: 首页 > news >正文

贪心拆分

lc2178

贪心

“把偶数拆成最多不同偶数相加”:

先从2开始挨个加不同偶数,最后把剩下的数补到最后一个数上。

class Solution {
typedef long long ll;
public:
vector<long long> maximumEvenSplit(long long finalSum) {
if(finalSum%2LL) return {}; // 奇数直接返回空
vector<ll> ret;
ll sum = 0,num = 2; // 从最小的偶数2开始取
while(sum + num <= finalSum) {
ret.push_back(num);
sum += num;
num += 2; // 取下一个不同的偶数
}
// 补上剩余的差值
if(sum < finalSum)
ret.back() += (finalSum - sum);

return ret;
}
};

dfs tle

class Solution {
typedef long long ll;
public:
vector<long long> maximumEvenSplit(long long s) {
if (s%2) return {};
vector<ll> b, p;
function<void(ll, ll)> dfs = [&](ll l, ll r) {
if (!r) {
if (p.size() > b.size()) b = p;
return;
}
for (ll n = l + 2; n <= r; n += 2) {
p.push_back(n);
dfs(n, r - n);
p.pop_back();
}
};
dfs(0, s);
return b;
}
};

http://www.jsqmd.com/news/122766/

相关文章:

  • LangFlow节点式设计揭秘:提升LangChain开发效率的秘密武器
  • C++ atomic类型详解
  • 【Open-AutoGLM电商自动化运营】:揭秘AI驱动下的店铺效率提升300%实战策略
  • 从泄露到合规:Open-AutoGLM日志权限改造全流程(含RBAC模型落地细节)
  • mysql什么是触发器
  • 如何通过接口获取openid
  • 某金融企业AI反欺诈的数字化创新架构:架构师的设计思路
  • 开题报告不是“填空题”?宏智树AI教你把选题焦虑,变成一场有逻辑、有文献、有数据的学术预演
  • C++常成员函数和常对象
  • 前后端分离动物领养平台系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • 为什么顶级公司都在用Open-AutoGLM做日志加密?真相终于曝光
  • 什么是存储过程?有哪些优点
  • 科研“开题利器”大揭秘:书匠策AI,解锁开题报告撰写新境界
  • 聊聊 MyBatis 缓存的 “安全性”:为啥同一个 SqlSession 里改数据不会查到假数据?
  • Open-AutoGLM账号锁定阈值怎么设?资深架构师亲授4大黄金配置原则
  • 通过授权获取用户 open_id
  • 科研起航“智囊团”:书匠策AI开题报告功能,开启学术探索新纪元
  • C++虚指针, 虚函数表, 虚函数指针
  • 数字化转型企业中的测试中心卓越模型:从成本中心到价值引擎的演进之路
  • LangFlow Reactor反应器模式响应事件
  • LangFlow Cloudflare Workers集成实验
  • 文献综述“魔法棒”:书匠策AI解锁科研信息整合新姿势
  • LangFlow Observer观察者模式监听状态变化
  • Open-AutoGLM日志加密部署难题:90%团队忽略的2个致命风险点
  • 科研“导航仪”:书匠策AI文献综述功能,精准勾勒学术脉络地图
  • LangFlow Ambassador模式实现微服务通信
  • LangFlow服务器响应时间缩短方法
  • 异常检测迫在眉睫,如何用Open-AutoGLM实现毫秒级响应?
  • LangFlow AWS Lambda无服务器运行尝试
  • C++使用rand生成随机数