P5358 [SDOI2019]快速查询】的更多相关文章

把有单点修改和查询的点离散进一个数组,然后单点修改直接改,记录一个修改时间t,维护一个sm表示这些离散的点的和,val表示出了离散点其他点的值,因为都是一样的所以只记录这一个值即可,记录ljlc为加法乘法的lazytag,整体加整体乘的时候像线段树一样改smljlc,还有修改val,整体赋值的时候把valsmljlc都初始化,记录一个赋值时间ti 单点查询的时候如果这个点的修改时间比当前赋值时间早就直接val,否则是数组值和lazytag操作一下,整体查询直接sm+val*has即可 那个求逆元…
原题传送门 神鱼说这道题是强制离线(smog 我们珂以把被单点修改,单点查询的点单独拿出来处理,把每个数表示成\(mul*x+plus\) 初始状态下\(mul=1,plus=0\) 操作1:在总和中减去\(val[pos[x]]\)(\(pos\)表示离散化后的位置,\(val\)表示特殊点的数值):将\(val[pos[x]]\)变成\(\frac{val_{new}-plus}{mul}\):如果\(pos[x]\)不在非零位置的栈中,将\(pos[x]\)压入栈中:在总和中加上\(val…
思路:...乱搞数据结构?? 提交:1次 题解: 观察到除了单点就是全局操作,所以我们维护一个全局加法标记add和乘法标记mul和答案sum. 单点修改时,比如我们要把 \(pos\) 位置改成 \(y\) ,实际上我们应该储存 \(x\) , 且 \(y=mul*x+add\) ,即我们储存的是逆标记操作后的值. 同时要注意全体赋值后标记和 unordered_map 的清空. 代码:自带大常数 #include<bits/stdc++.h> #define ll long long #de…
题目链接: [SDOI2019]快速查询 对于整个序列维护一个标记$(k,b)$表示序列的每个数的真实值为$k*a_{i}+b$(注意要实时维护$k$的逆元),并记录序列的和. 对于单点修改,将$a_{i}$修改为$val$,因为有序列标记,所以实际修改成$\frac{val-b}{k}$并开一个栈将这个位置压入栈中. 对于序列加和序列乘操作,直接修改标记与序列和即可,注意修改$k$时也要修改$b$. 对于序列赋值操作,将$k$赋成$0$,将$b$赋成$val$(即将操作看成先序列赋成$0$再序…
[SDOI2019]快速查询 [题目链接] 链接 [思路要点] 据说是 \(\text{SDOI2019}\) 最水的题 操作次数为 \(1e7\) 范围,显然要求每次操作 \(\mathcal{O}(1)\) 完成 并不需要任何数据结构维护 由于不同的操作数量为 \(1e5\) 级别,可以将所有涉及到的变量离散化出来,并且使用数组直接存储,其它的一些变量全程中值都相同,只需要一个变量记录 如果没有全体赋值的操作,只需要记录一个 \(A\) 和 \(B\) 以及每个数的初值,表示当前某个数的值是…
题目链接 吐槽 竟然让\(nlog\)的做法卡过去了.. 思路 因为\(1 \le q \le 10^5\),所以可以先对每个标准操作,所操作的位置进行重标号.这样所有的下标都是在\(10^5\)以内的. 乘和加操作都可以写成\(kx+b\)的形式.然后对于这些操作维护一个前缀.然后就可以得到一个区间内的操作了. 区间查询我们只要找个\(TOT\)来维护一下当前的所有元素和,就行了. 单点查询,观察其上次赋值的时间.如果早于集体赋值,那么就输出当前大多数的值. 否则就将其上次赋的值乘上从上次赋值…
点此看题面 大致题意: 有单点赋值.全局加法.全局乘法.全局赋值.单点求值.全局求和\(6\)种操作.现在给出操作序列,以及\(t\)对正整数\(a_i,b_i\).让你处理\(t*q\)次操作,每次为操作序列中的第\(((a_i+jb_i)\%q+1)\)个操作.输出询问答案和. 模拟 这是一道很水的模拟题吧. 容易发现所有操作都可以\(O(1)\)搞,因此直接\(O(tq)\)暴力即可. 就是打标记比较烦. 还有\(n\)比较大可以把操作的位置离散化. 代码 #include<bits/st…
链接 vijos 思路 虽然询问1e7,但他询问很有意思,所以最多修改1e5个. 先把他们修改的点缩小到1e5之内并没有什么影响. 然后维护mul和add.不修改很好弄,修改的点可以弄点式子加加减减弄出来,逆元线性推也是可以的. 总的复杂度\(O(qlogq+tq+mod)\) 总结 我考场上连\(O(n^3)\)都写不对,回来不到一个小时就A了?浮躁! 其实已经写了三遍了..码力急需加强 代码 #include <bits/stdc++.h> #define debug(x) cerr &l…
/********************************************************************* * 快速查询Python脚本语法 * 说明: * Charlie给了一个Android monkey test的网址,发现那边文章写的不错, * 于是就多看了作者的几篇blog,发现这张图,真是不错. * * 2016-5-18 深圳 南山平山村 曾剑锋 ***************************************************…
源:http://hi.baidu.com/james_xiao/item/79b961c90623093e45941623 一种快速查询多点DS18B20温度的方法 引言      为了满足实时性要求较高系统的设计需求,针对串联多个器件在一线制总线上的结构导致的在查询多点温度时速度缓慢的问题,北京铭正同创科技有限公司提出了一种快速查询多点温度的解决方案.本方案以Dallas公司开发的一线制数字温度传感器DS18B20为核心,通过采用每个并行端口上连接一个DS18B20器件,实现同时对多个DS1…