Subsequence Weighting
题目链接
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 100010;
const ll inf = 0x3f3f3f3f3f3f3f3fLL;
map<int, ll> mp;
int a[maxn], b[maxn];ll max(ll a, ll b) {return a > b ? a : b;
}int main() {/* Enter your code here. Read input from STDIN. Print output to STDOUT */ int T, n;ll ans, tmp;map<int, ll>::iterator it1, it2;scanf("%d", &T);while(T--) {scanf("%d", &n);for(int i = 0; i < n; ++i) {scanf("%d", &a[i]);}for(int i = 0; i < n; ++i) {scanf("%d", &b[i]);}mp.clear();ans = b[0];mp[a[0]] = b[0];for(int i = 1; i < n; ++i) {if(mp.lower_bound(a[i]) == mp.begin()) {mp[a[i]] = max(mp[a[i]], (ll)b[i]);} else {it1 = mp.lower_bound(a[i]);it1--;mp[a[i]] = max(mp[a[i]], it1->second + b[i]);}ans = max(ans, mp[a[i]]);tmp = mp[a[i]];it1 = mp.find(a[i]);it2 = ++it1;while(it2 != mp.end()) {if(it2->second <= tmp) {mp.erase(it2);it1 = mp.find(a[i]);it2 = ++it1;} else {break;}}}cout << ans << endl;}return 0;
}
Subsequence Weighting相关推荐
- 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...
问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...
- UVALive2678:Subsequence
UVALive2678:Subsequence 题目大意 给定一个数组A和一个整数S.求数组A中,连续且之和不小于S的连续子序列长度最小值. 要求复杂度:Ο(n) Solution 用变量L表示所选区 ...
- swift Sequence 和 SubSequence
1 序列 Sequence 序列协议是集合类型结构中的基础. 一个序列是代表有一系列具有相同类型的值,并且对这些值进行迭代. 协议中主要有两个参数,一个是元素Element,一个就是迭代器Iterat ...
- 动态规划—最长公共子序列问题 HDU-1159 Common Subsequence
动态规划-最长公共子序列问题 Common Subsequence [ HDU - 1159 ] A subsequence of a given sequence is the given sequ ...
- 贪心 ---- E. Maximum Subsequence Value[位运算]
E. Maximum Subsequence Value 题目大意:有点难解释..建议自己看题.我这里就粗略解释:给定一个数组aaa,要求选出具有最大价值的子序列.假设此子序列的长度为kkk,那么最大 ...
- 尺取法 POJ 3601 Subsequence
题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分 ...
- HPU第三次积分赛-D:Longest Increasing Subsequence(DP)
Longest Increasing Subsequence 描述 给出一组长度为n的序列,a1,a2,a3,a4...an, 求出这个序列长度为k的严格递增子序列的个数 输入 第一行输入T ...
- 10-GLBP Weighting //2.1.5(GNS3版本,后面都是如此注明)
一.实验拓扑: 二.实验要求: 1.R1.R2.R3.R4部署EIGRP 90协议: 2.R1.R2.R3的f1/0接口配置192.168.10.X.24地址: 3.PC1的默认网关为:192.168 ...
- Openstack nova-scheduler 源码分析 — Filters/Weighting
目录 目录 前言 调度器 FilterScheduler调度器的工作流程 Filters 过滤器 Filters 类型 Weighting 权重 源码实现 关键文件及其意义 阶段一nova-sched ...
- LeetCode-334. Increasing Triplet Subsequence
Description: Given an unsorted array return whether an increasing subsequence of length 3 exists or ...
最新文章
- c++ mysql 取出数据,c++从数据库的表中读取数据
- [测试]将TestCase整合
- collapse mode 严重_从泛化性到Mode Collapse:关于GAN的一些思考
- linux终端vim底行模式点冒号,Vim基本使用方法
- 远程桌面服务器office版本,在启用远程桌面服务的计算机上部署 Office 2010
- 【Python】实现输出成绩最高或最低分的学生姓名以及低于平均分的学生姓名
- 用eslint + prettier + pre-commit管理项目(React)
- VMware Horizon7安装-分步指南
- 怎样写一个具有异步交互的React组件的单元测试
- 如何使用导入平面文件向导将平面文件导入SQL Server数据库
- 0829 数据库的增删改查
- 自定义控件设置宽度_自定义View开篇,必须跨过的一道坎儿
- 智慧工厂3D物联网可视化建模管理系统
- java 事务级别_java事务隔离级别
- Leetcode刷题95. 不同的二叉搜索树 II
- Rabbit MQ消息队列原理
- OpenJ_Bailian - 3468
- Switch模拟器调研
- length和length()
- LR关联知识点详解(精品总结)一定要看
热门文章
- 1+X计算机视觉考证一些知识点
- 生物信息学二级计算机,生物信息学-张红-第二章-计算机基础
- Paradoxes of particularity: Caribbean literary imaginaries【翻译】
- 写完十四章卡农后,莫比乌斯带属实是给巴赫玩明白了
- 1. VCS仿真原理——当我们谈论simv时,我们在谈论什么
- android备份手机号码,简单四步 完成Android手机通讯录云备份操作
- Unbuntu ./btest : cannot execute binary file: Exec format error解决方案(CSAPP)
- python发送cmd命令_python 执行终端/控制台命令的例子 如何使用python在同一个控制台发送cmd命令...
- docker设置系统开机自动启动,docker容器随着docker服务启动自动运行
- HDU多校第六场——HDU6638 Snowy Smile(线段树区间合并)