题目链接

#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相关推荐

  1. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

  2. UVALive2678:Subsequence

    UVALive2678:Subsequence 题目大意 给定一个数组A和一个整数S.求数组A中,连续且之和不小于S的连续子序列长度最小值. 要求复杂度:Ο(n) Solution 用变量L表示所选区 ...

  3. swift Sequence 和 SubSequence

    1 序列 Sequence 序列协议是集合类型结构中的基础. 一个序列是代表有一系列具有相同类型的值,并且对这些值进行迭代. 协议中主要有两个参数,一个是元素Element,一个就是迭代器Iterat ...

  4. 动态规划—最长公共子序列问题 HDU-1159 Common Subsequence

    动态规划-最长公共子序列问题 Common Subsequence [ HDU - 1159 ] A subsequence of a given sequence is the given sequ ...

  5. 贪心 ---- E. Maximum Subsequence Value[位运算]

    E. Maximum Subsequence Value 题目大意:有点难解释..建议自己看题.我这里就粗略解释:给定一个数组aaa,要求选出具有最大价值的子序列.假设此子序列的长度为kkk,那么最大 ...

  6. 尺取法 POJ 3601 Subsequence

    题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分 ...

  7. HPU第三次积分赛-D:Longest Increasing Subsequence(DP)

    Longest Increasing Subsequence 描述 给出一组长度为n的序列,a1​,a2​,a3​,a4​...an​, 求出这个序列长度为k的严格递增子序列的个数 输入 第一行输入T ...

  8. 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 ...

  9. Openstack nova-scheduler 源码分析 — Filters/Weighting

    目录 目录 前言 调度器 FilterScheduler调度器的工作流程 Filters 过滤器 Filters 类型 Weighting 权重 源码实现 关键文件及其意义 阶段一nova-sched ...

  10. LeetCode-334. Increasing Triplet Subsequence

    Description: Given an unsorted array return whether an increasing subsequence of length 3 exists or ...

最新文章

  1. c++ mysql 取出数据,c++从数据库的表中读取数据
  2. [测试]将TestCase整合
  3. collapse mode 严重_从泛化性到Mode Collapse:关于GAN的一些思考
  4. linux终端vim底行模式点冒号,Vim基本使用方法
  5. 远程桌面服务器office版本,在启用远程桌面服务的计算机上部署 Office 2010
  6. 【Python】实现输出成绩最高或最低分的学生姓名以及低于平均分的学生姓名
  7. 用eslint + prettier + pre-commit管理项目(React)
  8. VMware Horizon7安装-分步指南
  9. 怎样写一个具有异步交互的React组件的单元测试
  10. 如何使用导入平面文件向导将平面文件导入SQL Server数据库
  11. 0829 数据库的增删改查
  12. 自定义控件设置宽度_自定义View开篇,必须跨过的一道坎儿
  13. 智慧工厂3D物联网可视化建模管理系统
  14. java 事务级别_java事务隔离级别
  15. Leetcode刷题95. 不同的二叉搜索树 II
  16. Rabbit MQ消息队列原理
  17. OpenJ_Bailian - 3468
  18. Switch模拟器调研
  19. length和length()
  20. LR关联知识点详解(精品总结)一定要看

热门文章

  1. 1+X计算机视觉考证一些知识点
  2. 生物信息学二级计算机,生物信息学-张红-第二章-计算机基础
  3. Paradoxes of particularity: Caribbean literary imaginaries【翻译】
  4. 写完十四章卡农后,莫比乌斯带属实是给巴赫玩明白了
  5. 1. VCS仿真原理——当我们谈论simv时,我们在谈论什么
  6. android备份手机号码,简单四步 完成Android手机通讯录云备份操作
  7. Unbuntu ./btest : cannot execute binary file: Exec format error解决方案(CSAPP)
  8. python发送cmd命令_python 执行终端/控制台命令的例子 如何使用python在同一个控制台发送cmd命令...
  9. docker设置系统开机自动启动,docker容器随着docker服务启动自动运行
  10. HDU多校第六场——HDU6638 Snowy Smile(线段树区间合并)