bzoj2298: [HAOI2011]problem a
咸鱼做题天天%题解
那么我们可以把这道题转化成线段覆盖问题
读进来的a,b说明在最后的小到大顺序中,n-a+1~n比我大,1~b比我小
换言之就是b+1~n-a是和我相等的。
那么相同区间的我们可以合并,这个区间的权就是min(相同的个数,区间大小)
我们可以利用DP计算选择一些不相交的区间的最大值,答案就是n减去它
记得特判不合法的情况
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std;struct node{int l,r,d;}a[110000];int len; bool cmp(node n1,node n2){return n1.r==n2.r?n1.l<n2.l:n1.r<n2.r;} int f[110000]; int main() {freopen("a.in","r",stdin);freopen("a.out","w",stdout);int n,x,y;scanf("%d",&n);len=0;for(int i=1;i<=n;i++){scanf("%d%d",&x,&y);if(x+y>n||y+1>n-x)continue;a[++len].l=y+1,a[len].r=n-x;}sort(a+1,a+len+1,cmp);int tp=0;for(int i=1;i<=len;i++){if(a[i].l!=a[i-1].l||a[i].r!=a[i-1].r)tp++,a[tp].l=a[i].l,a[tp].r=a[i].r,a[tp].d=0;a[tp].d=min(a[tp].d+1,a[tp].r-a[tp].l+1);}len=tp;int j=1;f[0]=0;for(int i=1;i<=n;i++){f[i]=f[i-1];while(j<=n&&a[j].r==i){f[i]=max(f[i],f[a[j].l-1]+a[j].d);j++;}}printf("%d\n",n-f[n]);return 0; }
转载于:https://www.cnblogs.com/AKCqhzdy/p/9918217.html
bzoj2298: [HAOI2011]problem a相关推荐
- [LG P2519][BZOJ2298][HAOI2011]problem a
[LG P2519][BZOJ2298][HAOI2011]problem a 题目描述 一次考试共有n个人参加 第i个人说:"有ai个人分数比我高,bi个人分数比我低." 问最少 ...
- BZOJ2298 [HAOI2011]problem a
先把所有人从小到大排序,则 如果一个人说a个人比他大,b个人比他小,等价于他声称[b + 1, n - a]的值是相等的 问题转化为给一些线段,找出一些不重叠的线段,价值最大 (注意:线段可以重合!! ...
- BZOJ2298 [HAOI2011]problem a 【dp】
题目 一次考试共有n个人参加,第i个人说:"有ai个人分数比我高,bi个人分数比我低."问最少有几个人没有说真话(可能有相同的分数) 输入格式 第一行一个整数n,接下来n行每行两个 ...
- BZOJ2298: [HAOI2011]problem a(带权区间覆盖DP)
Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1747 Solved: 876 [Submit][Status][Discuss] Descrip ...
- [POI2007]ZAP-Queries [HAOI2011]Problem b 莫比乌斯反演
1,[POI2007]ZAP-Queries ---题面--- 题解: 首先列出式子:$$ans = \sum_{i = 1}^{n}\sum_{j = 1}^{m}[gcd(i, j) == d]$ ...
- BZOJ2301: [HAOI2011]Problem b
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MB Submit: 6435 Solved: 2986 [Submi ...
- [HAOI2011]Problem c
链接 P2523 [HAOI2011]Problem c 想法还是很巧妙的. 其实只是问一个先后顺序,因为编号相同的话,那么\(id\)小的就在前面,\(id\)大的就在后面. 所以我们考虑的是到底有 ...
- BZOJ 2301 [HAOI2011]Problem b
2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函 ...
- BZOJ 2301: [HAOI2011]Problem b
二次联通门 : BZOJ 2301: [HAOI2011]Problem b /*BZOJ 2301: [HAOI2011]Problem b莫比乌斯反演 + 容斥将k除下来后就变为了一道原题后像求二 ...
- 【BZOJ 2298】 2298: [HAOI2011]problem a (DP)
2298: [HAOI2011]problem a Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1326 Solved: 637 Descrip ...
最新文章
- 三分钟教会你搭建动态网络
- python小乌龟消除_悄悄告诉你,Python 里面有一只小乌龟
- 北京2019高考分数线:本科理423文480
- ipad怎么和mac分屏_ipad学习方法分享[1]
- Response.Redirect ,Server.Transfer ,Server.Execute, 的区别(比较)
- 高斯金字塔 拉普拉斯金字塔_金字塔学入门指南
- Leetcode 279. Perfect Square
- 超级计算机清华,从清华到华科 名校为何主办超级计算机大赛?
- 崩坏3服务器故障 临时维护,崩坏3 11.5游戏故障处理及补偿说明
- VIM使用小技巧-重新载入文件
- Flume Sink Processor
- LeetCode刷题——64. 最小路径和
- 【Tools】位、字节、机器字、储存单元、主存等概念剖析
- web前端入门到实战:CSS实现平行四边形布局效果
- html 让按钮立体,纯CSS3打造立体质感按钮
- 初出茅庐,请“专业”赐教!
- IAP的无线版(stm32无线下载程序)(基于有线升级)
- 《新财富》500富人榜 参考
- Java编程思想第4版第三章习题
- org.Hs.eg.db安装
热门文章
- HDU - 3506 Monkey Party
- git报错之fatal: protocol error: bad line length character: No This
- [转]在ubuntu下安装sublime text
- android调用系统的自定义裁剪后得到的图片不清晰,使用MediaStore.EXTRA_OUTPUT获取缓存下的清晰图片...
- 浅谈对称加密和非对称加密
- 搜索场 day1 A 求和
- linux 串口内核加载,linux对串口编程的详解(从应用层到内核驱动,包括232,485)
- python 单向链表实现快速排序_若干排序算法的Python实现方法及原理
- pcb天线设计和hfss仿真分析实例_5G天线与多天线系统设计
- 线程同步与互斥:POSIX无名信号量