problem a
Description

一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数)

Input
第一行一个整数n,接下来n行每行两个整数,第i+1行的两个整数分别代表ai、bi

Output
一个整数,表示最少有几个人说谎

Sample Input 1

3
2 0
0 2
2 2
Sample Output 1

1
Hint

100%的数据满足: 1≤n≤100000 0≤ai、bi≤n

Source

BZOJ-2298

思路:https://blog.csdn.net/niiick/article/details/82857386
https://blog.csdn.net/z_mendez/article/details/46991699

dp[i]=max{dp[j-1]+sum[j][i]} j < i
其中sum[x][y] 表示(x~y)名次中有多少人。

dp做法代码已AC

#include<bits/stdc++.h>
using namespace std;const int maxn = 1e6+10;
int n;
map<pair<int,int>,int > mp;
vector<vector<int> > v;
int dp[maxn];int main(){scanf("%d",&n);v.resize(n+1);for(int i=1;i<=n;i++){int a,b;scanf("%d%d",&a,&b);int l = a+1;int r = n-b;if(l > r) continue;mp[make_pair(l,r)]++;if(mp[make_pair(l,r)] == 1){v[r].push_back(l);}}for(int i=1;i<=n;i++){dp[i] = dp[i-1];for(int j=0;j<v[i].size();j++){dp[i] = max(dp[i], dp[v[i][j]-1] + min(i-v[i][j]+1, mp[make_pair(v[i][j],i)]));} }printf("%d\n",n-dp[n]);return 0;
} 

线段树做法过几天补:https://www.cnblogs.com/Slrslr/p/10032172.html

转载于:https://www.cnblogs.com/fisherss/p/10746634.html

BZOJ-2298|区间dp|线段树相关推荐

  1. hdu5489 Removed Interval dp+线段树优化

    现在看这题居然直接秒了...去年看的时候还以为神题.. 设以第i项为结尾的lis前缀为f[i],以第j项为结尾的lis后缀为g[i],如果求出f[i]和g[j],然后枚举i,快速找到最大的满足a[j] ...

  2. 27.CF1004F Sonya and Bitwise OR 区间合并线段树

    27.CF1004F Sonya and Bitwise OR 区间合并线段树 个人Limitの线段树题单题解主目录:Limitの线段树题单 题解目录_HeartFireY的博客-CSDN博客 给定序 ...

  3. BZOJ 1852 [MexicoOI06]最长不下降序列(贪心+DP+线段树+离散化)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1852 [题目大意] 给你N对数A1,B1--An,Bn.要求你从中找出最多的对, 把它 ...

  4. 【BZOJ】1672: [Usaco2005 Dec]Cleaning Shifts 清理牛棚(dp/线段树)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1672 dp很好想,但是是n^2的..但是可以水过..(5s啊..) 按左端点排序后 f[i]表示取第 ...

  5. BZOJ 4422 Cow Confinement (线段树、DP、扫描线、差分)

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=4422 我真服了..这题我能调一天半,最后还是对拍拍出来的...脑子还是有病啊 题解: ...

  6. BZOJ.1558.[JSOI2009]等差数列(线段树 差分)

    BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...

  7. [动态dp]线段树维护转移矩阵

    背景:czy上课讲了新知识,从未见到过,总结一下. 所谓动态dp,是在动态规划的基础上,需要维护一些修改操作的算法. 这类题目分为如下三个步骤:(都是对于常系数齐次递推问题) 1先不考虑修改,不考虑区 ...

  8. Codeforces Round #699 (Div. 2) E.Sorting Books(贪心+DP / 线段树)超高质量题解,看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 E - Sorting Books 一排书架上有 nnn 本书排成一排,每本书上有一个颜色 aia_i ...

  9. poj3171(dp + 线段树)

    (和 poj1769 几乎一样,利用线段树dp的基础题) 题目大概意思为选几个区间,使 M 到 E 全都被覆盖,求选取区间的最少数量 (我们把从 M 到 E 转化成从 1 到 E - M + 1 ) ...

最新文章

  1. NSTimer与Run loop Modes
  2. JAVA-初步认识-第三章-if语句练习-星期和季节
  3. 汤家凤高等数学基础手写笔记-极限与连续
  4. eclipse集成lombok了但是无法使用_编码神奇Lombok!搭配IDEA更爽哦!
  5. 为什么有时打不开爬取到的图片
  6. 使用gitkraken来push的流程
  7. [蓝桥杯][2013年第四届真题]带分数
  8. 一题多解(四)—— 数组中唯一出现 2 次的数
  9. 反编译获取任何微信小程序源码——看这篇就够了
  10. 【C语言程序设计】C语言求圆周率π(三种方法)
  11. 传智黑马java基础学习——day11(接口、多态)
  12. 虚拟机安装OpenGauss企业版
  13. html文件做屏保win10,给Win10系统设置一个漂亮屏保的三种方法(图文)
  14. 施乐3030工程机驱动安装
  15. 混合IP-SDN环境的仿真实验
  16. 让机器认知中文实体 — 复旦大学知识工场发布中文实体识别与链接服务
  17. English words page one
  18. html手机端一键复制,一键粘贴复制功能-兼容IE9+及其移动端-clipboard.js
  19. 重学 Java 设计模式:实战组合模式(营销差异化人群发券,决策树引擎搭建场景)
  20. Dr.Cleaner:清理磁盘和内存,深度卸载应用程序,监控CPU使用率和网络占用情况

热门文章

  1. 盖茨发文谈如何实现零碳目标 称看好电动车未来
  2. Jenkins 升级、迁移、备份
  3. 深度学习——02、深度学习入门——经典卷积神经网络架构实例——AlexNet
  4. 大数据WEB阶段Mybatis(二)
  5. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics
  6. 【STM32】窗口看门狗
  7. 【Linux】一步一步学Linux——dig命令(160)
  8. linux xps 13 wifi,XPS13-9350安装linux以及网卡连接失败修复的临时方案
  9. tcp port numbers reused出现原因_谈谈 TCP 的 TIME_WAIT
  10. textarea限制字符数_PAT乙级-1002 写出这个数