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. C# ACM poj1002

    排序 public static void acm1002(string[] azx) { string[] a = new string[azx.Length]; ; i < azx.Leng ...

  2. Lisp与JAVA的酷毙结合——abcl

    最近看了一本叫做<黑客与画家>的书,其中对于Lisp语言大加褒奖.自己试着用了一下,虽然确实有反人类之嫌,但是确实是一门不错的语言,New Architect杂志上有一篇介绍ITA软件公司 ...

  3. js闭包的使用例子

    网上关于闭包的介绍太多,这就导致了泛滥,对于新手来说,网上好多讲解就说了闭包是啥,还都是用下面这种例子: 我的天啊,我们都看了不知道多少遍了,看完有啥用?在什么场合下用啊? 于是我翻阅各种资料,自己总 ...

  4. 重构if...else...或者switch程序块 为 中介者(Mediator)模式.的思考

    http://www.cnblogs.com/insus/p/4142264.html 重构if...else...或者switch程序块 为 中介者(Mediator)模式.的思考 首先普世的编程架 ...

  5. Weui 微信网站开发样式插件使用教程

    微信的网页样式正式发布了,搜了一下,正式引入了乐学一百微信端的项目中. <div class="weui_grids"> <a href="javasc ...

  6. 解决fontawesome-webfont 被拦截的问题

    我们最近的项目是java web项目,前端采用了fontawesome-webfont,项目部署之后,图标都显示不出来,在网上学习了一大圈,找到了一个解决方案可行: web.xml中配置       ...

  7. 让c像python一样可以在命令行写代码并且编译

    在你亲爱的.bashrc/.zshrc中添加 ###C###go_libs="-lm"go_flags="-g -Wall -include allheads.h -O3 ...

  8. jtemplate使用笔记

    最近的项目中用到了jtemplate, 它是客户端基于javascript的模板引擎,绑定的数据为json对象.以前我在页面上显示数据列表时最喜欢用Repeater控件了,因为它相对与其它几个服务端控 ...

  9. pngfix 实现Png图片透明效果

    1.http://www.jb51.net/codes/67324.html 2.DD_belatedPNG工具

  10. 第四章 Web表单

    4.1 跨站请求伪造保护 安装flask-wtf app = Flask(__name__) app.config['SECRET_KEY'] = 'hard to guess string' 密钥不 ...