2298: [HAOI2011]problem a

Time Limit: 10 Sec  Memory Limit: 256 MB
Submit: 1326  Solved: 637

Description

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

Input

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

Output

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

Sample Input

3

2 0

0 2

2 2

Sample Output

1

HINT

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

Source

【分析】

  啊。。主要是这么搞笑的题目我错了2次。。。【还要对拍。。。

  题目可以弄成n个区间,意思是这n个区间的分数要一样的。

  显然区间不能相交但是可以完全重合。

  把完全重合的区间合并起来,就是一个带权的最大不相交区间了。

  这个直接DP。。

  还有一个我后来错了就是那个区间的权值不能大于那个区间的规模,要取一下min。

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define Maxn 100010 int mymax(int x,int y) {return x>y?x:y;}
int mymin(int x,int y) {return x<y?x:y;} struct node
{
int x,y,c;
}t[Maxn]; bool cmp(node x,node y) {return x.y==y.y?(x.x>y.x):(x.y<y.y);} int f[Maxn]; int main()
{
int n;
scanf("%d",&n);
int cnt=;
for(int i=;i<=n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
if(x+y>=n) continue;
t[++cnt].x=x+;t[cnt].y=n-y;t[cnt].c=;
}
sort(t+,t++cnt,cmp);
int p=;
for(int i=;i<=cnt;i++)
{
if(t[i].x==t[p].x&&t[i].y==t[p].y) t[p].c++;
else t[++p]=t[i];
}
for(int i=;i<=p;i++) t[i].c=mymin(t[i].c,t[i].y-t[i].x+);
memset(f,,sizeof(f));
f[]=;t[].y=;
for(int i=;i<=p;i++)
{
if(t[i].y!=t[i-].y||i==)
{
for(int j=t[i-].y+;j<=t[i].y;j++) f[j]=mymax(f[j],f[j-]);
}
f[t[i].y]=mymax(f[t[i].y],f[t[i].x-]+t[i].c);
}
printf("%d\n",n-f[t[p].y]);
return ;
}

2017-04-05 09:55:53

最新文章

  1. ThreadLocal&lt;T&gt;的是否有设计问题
  2. lucence.net+盘古分词
  3. springmvc(4)注解简单了解
  4. OceanBase架构(二)
  5. nmon性能监控工具总结
  6. 输入参数varargin
  7. sqlsever2008数据库的备份与还原
  8. 转---在ASP.NET MVC中实现登录后回到原先的界面
  9. oracle触发器应用
  10. OpenSSL与公钥私钥证书签名的千丝万缕
  11. centos上如何安装mysql
  12. iOS UILabel UITextView UIButton 等等显示文本行间距
  13. TelerikUI_RadGrid_Filter 自定义方法
  14. java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
  15. spark transform操作卡死,请先对rdd进行action操作
  16. mysqldump 使用说明
  17. c# networkcomms 3.0实现模拟登陆总结
  18. go语言中的文件创建,写入,读取,删除
  19. socket练习:FTP
  20. [转]OkHttp3 最有营养的初级教程

热门文章

  1. WPF集合控件实现分隔符(ItemsControl Separator)
  2. 关于jQuery UI 使用心得及技巧
  3. 微信小程序开发(三)项目目录及文件结构
  4. matlab核函数与滑窗
  5. 阿里iconfont引入方法
  6. Chrome浏览器任意修改网页内容
  7. android 图片旋转 移动 放大缩小
  8. php查询mysql返回大量数据结果集导致内存溢出的解决方法
  9. Supply
  10. BurpSuite 设置Hostname Resolution