BZOJ3476 : [Usaco2014 Mar]The Lazy Cow
旋转坐标系后转化为正方形,$x'=x+y$,$y'=x-y+1000001$,$k'=2k-1$
两根扫描线从左往右扫
f[i]表示y坐标下边界为i时的价值和
每次加入/删除一个点等价于一段区间加减
然后查询全局最大值
线段树维护扫描线之间的点
#include<cstdio>
#include<algorithm>
const int E=1000001,N=E*2-1,M=N*4+10;
struct P{int x,y,g;}a[100010];
inline bool cmp(P a,P b){return a.x<b.x;}
int n,m,k,i,j,x,y,ans,v[M],tag[M];
inline void add1(int x,int p){v[x]+=p,tag[x]+=p;}
void add(int x,int a,int b,int c,int d,int p){if(c<=a&&b<=d){add1(x,p);return;}if(tag[x])add1(x<<1,tag[x]),add1(x<<1|1,tag[x]),tag[x]=0;int mid=(a+b)>>1;if(c<=mid)add(x<<1,a,mid,c,d,p);if(d>mid)add(x<<1|1,mid+1,b,c,d,p);v[x]=v[x<<1]>v[x<<1|1]?v[x<<1]:v[x<<1|1];
}
int main(){scanf("%d%d",&n,&k);k=k*2+1;for(i=1;i<=n;i++)scanf("%d%d%d",&a[i].g,&x,&y),a[i].x=x+y,a[i].y=x-y+E;std::sort(a+1,a+n+1,cmp);for(i=j=1;i<=n;i++){while(a[i].x-a[j].x+1>k)add(1,1,N,a[j].y-k+1,a[j].y,-a[j].g),j++;add(1,1,N,a[i].y-k+1,a[i].y,a[i].g);if(ans<v[1])ans=v[1];}return printf("%d",ans),0;
}
BZOJ3476 : [Usaco2014 Mar]The Lazy Cow相关推荐
- 二分答案 [Usaco2014 Mar]Sabotage
问题 L: [Usaco2014 Mar]Sabotage 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Farmer John"s arch-nemesis, Farmer ...
- [Usaco2014 Mar]Sabotage
[Usaco2014 Mar]Sabotage 题目 Farmer John"s arch-nemesis, Farmer Paul, has decided to sabotage Far ...
- BZOJ 3479: [Usaco2014 Mar]Watering the Fields( MST )
MST...一开始没注意-1结果就WA了... ---------------------------------------------------------------------------- ...
- 2014.3 USACO月赛T2 The Lazy Cow
T2: The Lazy Cow Description 夏天很热,贝茜越发地懒散了.她想要使自己位于她的田里一个尽可能在短距离内够到美味的青草的位置. 贝茜居住的田野被描述为一个N 乘N 方格组成的 ...
- 转载[POJ题型分类]
北大ACM题分类 主流算法: 1.搜索 //回溯 2.DP(动态规划) 3.贪心 4.图论 //Dijkstra.最小生成树.网络流 5.数论 //解模线性方程 6.计算几何 //凸壳.同等安置矩形的 ...
- ACM 网址和一些建议
USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一 ...
- 【poj题集整理】【存下来并不会看】
主要是整理起来自己用的.网上有多个版本. 初级: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) ...
- (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: ...
- 初学ACM之路(训练大纲)
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj329 ...
最新文章
- 今天起,在广东可以用百度App一键报警!
- python的for语句用法_python中list循环语句用法实例
- Windows Azure Platform Introduction (9) 申请Windows Azure 账户
- oracle每一行的hash值,Hash分区表分区数与数据分布的测试
- 实验1 Windows汇编语言开发环境
- 使用lombok来简化你的Java Bean
- Visual C# 对话框全接触
- 投入大小的伪原创工具
- js判断用户是第一次点击还是第二次点击
- python白噪声检验结果查询_python白噪声
- Spring Security入门01-22 登录验证功能
- html语言计算圆周长和面积,c# 根据半径计算圆的面积和周长
- Java 抽奖系统扩展
- 交通灯keil程序加2位数码管_带数码管显示的十字路口交通灯控制 C 程序
- 平均斯坦和极端斯坦_什么是“斯坦”,名称从何而来?
- VS2010 学习C++动态链接库的创建与使用(带实例代码)
- Android图片选择器 图片裁剪
- 在.NET中进行AutoCAD二次开发(C#+ObjectArx) (一)
- Python学习——Linux命令——wget命令
- iphone 爱思刷机 错误无法恢复-2 卡在19%正在恢复 解决方法