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

BZOJ-2298|区间dp|线段树的更多相关文章

  1. Wannafly Winter Camp 2020 Day 5C Self-Adjusting Segment Tree - 区间dp,线段树

    给定 \(m\) 个询问,每个询问是一个区间 \([l,r]\),你需要通过自由地设定每个节点的 \(mid\),设计一种"自适应线段树",使得在这个线段树上跑这 \(m\) 个区 ...

  2. cf834D(dp+线段树区间最值,区间更新)

    题目链接: http://codeforces.com/contest/834/problem/D 题意: 每个数字代表一种颜色, 一个区间的美丽度为其中颜色的种数, 给出一个有 n 个元素的数组, ...

  3. ZOJ 3349 Special Subsequence 简单DP + 线段树

    同 HDU 2836 只不过改成了求最长子串. DP+线段树单点修改+区间查最值. #include <cstdio> #include <cstring> #include ...

  4. 【BZOJ4653】【NOI2016】区间(线段树)

    [BZOJ4653][NOI2016]区间(线段树) 题面 BZOJ 题解 \(NOI\)良心送分题?? 既然是最大长度减去最小长度 莫名想到那道反复减边求最小生成树 从而求出最小的比值 所以这题的套 ...

  5. xdoj-1324 (区间离散化-线段树求区间最值)

    思想 : 1 优化:题意是覆盖点,将区间看成 (l,r)转化为( l-1,r) 覆盖区间 2 核心:dp[i]  覆盖从1到i区间的最小花费 dp[a[i].r]=min (dp[k])+a[i]s; ...

  6. Bzoj 2752 高速公路 (期望,线段树)

    Bzoj 2752 高速公路 (期望,线段树) 题目链接 这道题显然求边,因为题目是一条链,所以直接采用把边编上号.看成序列即可 \(1\)与\(2\)号点的边连得是. 编号为\(1\)的点.查询的时 ...

  7. Codeforces Round #620 F2. Animal Observation (hard version) (dp + 线段树)

    Codeforces Round #620 F2. Animal Observation (hard version) (dp + 线段树) 题目链接 题意 给定一个nm的矩阵,每行取2k的矩阵,求总 ...

  8. hdu 5700区间交(线段树)

    区间交 Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...

  9. hdu 3016 dp+线段树

    Man Down Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

随机推荐

  1. MySQL InnoDB Online DDL学习

    MySQL Online DDL这个新特性是在MySQL5.6.7开始支持的,更早期版本的MySQL进行DDL对于DBA来说是非常痛苦的.现在主流版本都集中在5.6与5.7,为了更好的理解Online ...

  2. eclipse二、保证svn导入的项目正常运行

    1.环境说明 eclipse4.11 需要jdk1.8支持 公司项目大都jdk1.6与jdk1.5 为保持公司项目正常运行而配置jdk运行场景 2.window需按照jdk1.8.jdk1.6 jdk ...

  3. CDI services--Scope(生命周期)&&EL.(Sp El)

    一.EL/SpEL 1.EL语言(CDI与表达式语言(EL)集成,允许在JavaServer Faces页面或JavaServer Pages页面中直接使用任何组件) 1)概述:EL是JSP内置的表达 ...

  4. Leetcode: The Maze(Unsolved locked problem)

    There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...

  5. 自定义Win10右键“发送到”菜单

    打开Win10文件资源管理器窗口(打开“这台电脑”或任一文件夹即可),然后在资源管理器窗口的地址栏中输入 shell:sendto ,回车或点击地址栏右侧的“转到”箭头即可打开“SendTo(发送到) ...

  6. Intellij IDEA 配置Tomcat远程调试

    一.前言 在服务器端开发过程中,由于服务器环境差异导致运行结果不符合预期. 所以就需要到IDEA Debug 服务器代码.看起来貌似很高大上的事情. 今天就说说使用Intellij IDEA 配置的方 ...

  7. Beyond Compare相同文件为何显示差异

    原文地址: http://www.beyondcompare.cc/wenti/wenjian-chayi.html Beyond Compare是一款经典老牌且优秀的专业级文本比较工具,它可以很方便 ...

  8. CentOS 7 FTP环境部署

    FTP协议有两种工作方式: 1)port方式:主动模式 port(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求 , 服务器接受连接 , 建立一条命令链路 当需要传送数据 ...

  9. kafka安装教程

    今天需要在新机器上安装一个kafka集群,其实kafka我已经装了十个不止了,但是没有一个是为生产考虑的,因此比较汗颜,今天好好地把kafka的安装以及配置梳理一下: 1,kafka版本选取: 现在我 ...

  10. linux系统安装MongoDB

    1.在官网https://www.mongodb.org/dl/linux/x86_64下载对应的安装压缩包,我用的是3.2.5,建议使用此版本,版本越高,可能会出现其它未知问题,比如需要glibc高 ...