码迷,mamicode.com
首页 >  
搜索关键字:奇怪的计算器    ( 5个结果
[题解] [JSOI2013] 奇怪的计算器
"题面" 题解 我们发现经过若干次操作后这些数的相对大小都不会变 排序之后, 就只有一段前缀改为 L , 或一段后缀改为 R 了 考虑这样一个函数 $$ \displaystyle\\f(a_1, a_2, a_3) = a_1 c_i + a_2 a_i + a_3 $$ 其中 $c_i$ 代表 ...
分类:Web程序   时间:2020-02-11 20:50:02    阅读次数:77
AHOI2014/JSOI2014 奇怪的计算器
题目描述 题解: 考虑到经过一系列变化后小数不可能比大数大,我们可以用线段树维护区间修改。 重点是,每个节点都可以通过$a[i]=a[i]*t1+a0[i]*t2+t3$这个函数来表示,我们就可以把三个标记一起维护。 代码: ...
分类:Web程序   时间:2019-02-04 14:16:47    阅读次数:202
BZOJ 3878 【AHOI2014】 奇怪的计算器
题目链接:奇怪的计算器 如果没有溢出的话,所有的标记都可以在线段树上直接维护,所以一棵线段树就解决问题了。 现在有了溢出,怎么办呢? 发现就算溢出了,各个元素的相对大小关系也是不变的。所以,如果一开始就把元素排好序,溢出的数一定是两端区间。在线段树上把这两段区间找出来,区间赋值就好了。当然也需要多记 ...
分类:其他好文   时间:2017-04-22 14:55:07    阅读次数:222
【BZOJ3878】【Ahoi2014】奇怪的计算器 维护区间性质。线段树
题解: 先排序然后插入线段树 用线段树每次对全区间进行操作。 然后维护哪些段区间溢出了,对这段区间进行赋值。 溢出处理: 一个区间的左端点大于最大值,或者右端点小于最小值 那么这个区间就该被覆盖。 覆盖,加特技: 乘0+x就是覆盖成x。 剪枝?: 一个区间右端点≤\leq最大值,或者左端点≥\geq最小值,那么return 代码: #include #in...
分类:其他好文   时间:2015-03-03 15:15:08    阅读次数:648
BZOJ 3878 Ahoi2014 奇怪的计算器 线段树
题目大意:给定n个操作,每个操作有四种形式,操作之后若R就变成R,现在给定q个输入,求他们的输出 n,q 将这q个数建立线段树,四个操作都可以在线段树上完成 但是溢出怎么办呢? 容易发现若x 因为四个操作都是线性的,溢出也不会反转两个数的大小关系 那么我们可以预先将q个数排序 那么溢出的数一定是连续的两段 区间修改就行了 至于怎么找两端溢出的区间…… 每个节点维护一个区间最大值和最小...
分类:其他好文   时间:2015-03-01 23:51:49    阅读次数:451
5条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!