news 2026/5/30 13:30:58

lis|

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
lis|

lc1626

//双升sort后lis dp

for (int j = 0; j < i; j++)
//if condition
dp[i] = max(dp[i],dp[j] + as[i].second);

class Solution {
typedef pair<int, int> pii;
//sort后lis dp
public:
int bestTeamScore(vector<int>& scores, vector<int>& ages) {
int n = ages.size();
vector<pii> as;
for (int i = 0; i < n; i++) {
as.push_back({ages[i], scores[i]});
}

sort(as.begin(), as.end(), [](const pii& a, const pii& b) {
if (a.first != b.first) return a.first < b.first;
return a.second < b.second;
});//双升

vector<int> dp(n);
int max_score = 0;
for (int i = 0; i < n; i++) {
dp[i] = as[i].second; //init
// 年龄≤当前且分数≤当前的,累加最大得分


for (int j = 0; j < i; j++) {
if (as[j].second <= as[i].second) {
dp[i] = max(dp[i],dp[j] + as[i].second);
}
}
max_score = max(max_score, dp[i]);
}
return max_score;
}
};

优雅的idx写法

class Solution {
public:
int bestTeamScore(vector<int>& scores, vector<int>& ages) {
int n=ages.size(),ans=0;
vector<int> index(n),dp(n);//下标数组和dp数组
iota(index.begin(),index.end(),0);//index赋值为0~n-1
sort(index.begin(),index.end(),[&](int i,int j){return ages[i]==ages[j]?scores[i]<scores[j]:ages[i]<ages[j];});//先按年龄升序,再按分数升序进行排序


for(int i=0;i<n;++i)//递推过程
{
int res=0;
for(int j=0;j<i;++j)
if(scores[index[i]]>=scores[index[j]])//满足约束,进行保留
res=max(res,dp[j]);

dp[i]=res+scores[index[i]],ans=max(ans,dp[i]);//得到dp[i],并维护ans
}
return ans;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 8:20:10

检测与防护CVE-2016-1000027的实用工具推荐

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成一个工具推荐列表&#xff0c;详细介绍可用于检测和防护CVE-2016-1000027漏洞的工具&#xff0c;包括开源工具和商业工具。每个工具应包含功能介绍、使用方法和适用场景。点击项…

作者头像 李华
网站建设 2026/5/26 12:54:28

终极解密:AdGuardHome如何用百万规则实现微秒级域名过滤

你是否曾好奇&#xff0c;当你的设备向AdGuardHome发起DNS查询时&#xff0c;这个看似简单的应用如何在瞬间完成对海量过滤规则的匹配&#xff0c;同时保持响应速度毫秒级&#xff1f;这背后隐藏着一套精密的过滤引擎设计&#xff0c;让我们一探究竟。&#x1f680; 【免费下载…

作者头像 李华
网站建设 2026/5/27 15:58:38

效率对比:传统排查vs快马AI解决conda报错

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个效率对比工具&#xff0c;功能&#xff1a;1. 模拟传统排查流程计时 2. 记录AI解决耗时 3. 生成对比图表 4. 计算时间节省百分比 5. 支持导出测试报告。要求使用PythonMatp…

作者头像 李华
网站建设 2026/5/27 22:47:49

Prism框架+AI:如何用快马自动生成WPF模块化代码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用Prism框架创建一个WPF模块化应用程序&#xff0c;要求包含以下功能&#xff1a;1)主Shell窗口包含顶部菜单栏和内容区域&#xff1b;2)实现模块化加载机制&#xff0c;至少包含…

作者头像 李华
网站建设 2026/5/27 11:16:18

如何快速集成React Native评分组件:完整指南

如何快速集成React Native评分组件&#xff1a;完整指南 【免费下载链接】react-native-ratings Tap and Swipe Ratings component for React Native. 项目地址: https://gitcode.com/gh_mirrors/re/react-native-ratings 想要为你的React Native应用添加专业的用户评分…

作者头像 李华