1568是3165的弱化版,发的代码是3165的
这道题完全没想出来,是看wyl大神的题解http://hi.baidu.com/wyl8899/item/2deafd3a376ef2d46d15e998
对我完全是一个思维上的突破,之前线段树打的标记基本都是代表整个区间的性质
而这道题区间上的标记只是部分优的线段,通过从叶子一步一步的走到根,得出这个点的最大值

 const n=;
p=;
type node=record
k,b:double;
end; var tree:array[..*n] of longint;
a:array[..] of node;
ans,x0,x1,y0,y1,t,m,ch:longint; procedure swap(var a,b:longint);
var c:longint;
begin
c:=a;
a:=b;
b:=c;
end; function cal(i,x:longint):double;
begin
exit(a[i].k*x+a[i].b);
end; procedure ins(i,l,r,k:longint);
var m:longint;
p:double;
begin
if tree[i]= then
begin
tree[i]:=k;
exit;
end;
if cal(k,l)>cal(tree[i],l) then swap(tree[i],k);
if (l=r) or (a[tree[i]].k=a[k].k) then exit;
p:=(a[tree[i]].b-a[k].b)/(a[k].k-a[tree[i]].k);
if (p<l) or (p>r) then exit;
m:=(l+r) shr ;
if (p<=m) then
begin
ins(i*,l,m,tree[i]);
tree[i]:=k;
end
else ins(i*+,m+,r,k);
end; procedure work(i,l,r:longint);
var m:longint;
begin
if (x0<=l) and (x1>=r) then
ins(i,l,r,t)
else begin
m:=(l+r) shr ;
if x0<=m then work(i*,l,m);
if m<x1 then work(i*+,m+,r);
end;
end; function ask(i,l,r:longint):longint;
var m,p:longint;
begin
if l=r then exit(tree[i])
else begin
m:=(l+r) shr ;
if x0<=m then p:=ask(i*,l,m)
else p:=ask(i*+,m+,r);
if cal(p,x0)>cal(tree[i],x0) then exit(p) else exit(tree[i]);
end;
end; begin
readln(m);
while m> do
begin
dec(m);
read(ch);
if ch= then
begin
readln(x0,y0,x1,y1);
x0:=(x0+ans-) mod n+;
x1:=(x1+ans-) mod n+;
y0:=(y0+ans-) mod p+;
y1:=(y1+ans-) mod p+;
if x0>x1 then
begin
swap(x0,x1);
swap(y0,y1);
end;
inc(t);
if x0<>x1 then
begin
a[t].k:=(y1-y0)/(x1-x0);
a[t].b:=y1-a[t].k*x1;
end
else begin
if y1>y0 then a[t].b:=y1 else a[t].b:=y0;
end;
work(,,n);
end
else begin
readln(x0);
x0:=(x0+ans-) mod n+;
ans:=ask(,,n);
writeln(ans);
end;
end;
end.

bzoj3165 1568的更多相关文章

  1. POJ 1568 Find the Winning Move(极大极小搜索)

    题目链接:http://poj.org/problem?id=1568 题意:给出一个4*4的棋盘,x和o两人轮流放.先放够连续四个的赢.给定一个局面,下一个轮到x放.问x是否有必胜策略?若有,输出能 ...

  2. HDU 1568 Fibonacci 数学= = 开篇

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1568 分析:一道数学题 找出斐波那契数列的通项公式,再利用对数的性质就可得到前几位的数 斐波那契通项公 ...

  3. 数据结构(线段树):BZOJ 1568 [JSOI2008]Blue Mary开公司

    1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 602  Solved: 214[Submit ...

  4. 【BZOJ3165】[HEOI2013]Segment(李超线段树)

    [BZOJ3165][HEOI2013]Segment(李超线段树) 题面 BZOJ 洛谷 题解 似乎还是模板题QwQ #include<iostream> #include<cst ...

  5. hdu 1568 (log取对数 / Fib数通项公式)

    hdu 1568 (log取对数 / Fib数通项公式) 2007年到来了.经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列 (f[0]=0,f[1]= ...

  6. [BZOJ 1568][JSOI2008]Blue Mary开公司

    [BZOJ 1568][JSOI2008]Blue Mary开公司 题意 \(n\) 次操作, 维护一个一次函数集合 \(S\). 有两种操作: 给定 \(b\) 和 \(k\), 向 \(S\) 中 ...

  7. 1568: [JSOI2008]Blue Mary开公司

    1568: [JSOI2008]Blue Mary开公司 题目描述 传送门 题目分析 简单分析可以发现就是不停给出了\(n\)条直线,要求每次给出一条直线后求出所有直线在横坐标为\(x\)时\(y\) ...

  8. 1568: [JSOI2008]Blue Mary开公司(超哥线段树)

    1568: [JSOI2008]Blue Mary开公司 Time Limit: 15 Sec  Memory Limit: 162 MBSubmit: 1198  Solved: 418 Descr ...

  9. NOJ——1568走走走走走啊走(超级入门DP)

    [1568] 走走走走走啊走 时间限制: 1000 ms 内存限制: 65535 K 问题描述 菜菜赚了钱回来,想起要买很多桶回来,不同地方的桶质量是不同的,他在(1,1)点出发因为飞机票有点贵所以他 ...

随机推荐

  1. Gulp实战(二)

    一.配置环境 1.基于NodeJs安装Git,npm,gulp 2.安装各类插件 3.参考文档 http://www.tuicool.com/articles/UbaqyyJ http://www.t ...

  2. 11_Servlet的一些细节知识点

    [Servlet的细节知识点1-----一个Servlet映射到多个URL] 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servl ...

  3. 水题~~~~HDU 4788

    Description Yesterday your dear cousin Coach Pang gave you a new 100MB hard disk drive (HDD) as a gi ...

  4. sql的集合操作

    原文转自:http://blog.csdn.net/qsyzb/article/details/12560917 SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作. ...

  5. Java 使用反射拷贝对象一般字段值

    在<Java解惑>上面看到第八十三例--诵读困难者,要求使用非反射实现单例对象的拷贝.查阅了部分资料,先实现通过反射拷贝对象. 1. 编写需要被拷贝的对象Person package co ...

  6. vim插件:latex-suite 使用方法

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4030057.html 零.操作快捷键:对于<++>的块,按下ctrl+j即可快速 ...

  7. Linux EMACS的简单使用

    1 File 菜单项 open file 打开文件 close 关闭当前操作的文件 save 保存当前操作的文件 save buffer as 另存为 split window 拆分窗口 ,同时操作不 ...

  8. ASP.NET MVC验证 - jQuery异步验证

    本文主要体验通过jQuery异步验证. 在很多的教材和案例中,MVC验证都是通过提交表单进行的.通过提交表单,可以很容易获得验证出错信息.因为,无论是客户端验证还是服务端验证,总能找到与Model属性 ...

  9. 为什么要有binary-to-text encoding?

    在wikipedia上看MIME的介绍的时候,有一节是关于Content-Transfer-Encoding的,里面提到了binary-to-text encoding,我就想,既然计算机中的信息使用 ...

  10. php四种基础排序算法的运行时间比较

    /** * php四种基础排序算法的运行时间比较 * @authors Jesse (jesse152@163.com) * @date 2016-08-11 07:12:14 */ //冒泡排序法 ...