LOJ分块⑨题汇总】的更多相关文章

从零开始的分块学习系列(感谢hzwer) 题目顺序是我建议的做题顺序 先说一句:分块的核心思想(其实本身分块就可以说是一种思想)是:均摊(或者说平衡/权衡?)复杂度,同时这种思想本身不只局限于序列分块(前一篇解题里有提到) 序列分块之① 区间加法+单点查询 分块入门题 知道分块的思想之后应该都会做,对整块打标记,对不超过块大小的零散区间暴力修改:查询的时候就是原数+所在块的标记 #include<cmath> #include<cstdio> #include<cstring…
\(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 '1' 出现的次数为奇数,则在 \(A\) 的末尾插入 '1',否则在 \(A\) 的末尾插入 '0'. 现在给出一个同样仅由 '0' 和 '1' 组成的字符串 \(B\),请你判断 \(A\) 能否在任意多次操作后转化为 \(B\). 输入 输入文件第一行一个正整数 \(T\),表示有 \(T\…
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2017年8月24日 如何快速安装perl模块? 第121天 2017年8月23日 如果在mysql命令行临时开启自动补全? 第120天 2017年8月22日 如何统计脚本执行的时间? 第119天 2017年8月21日 用kvm创建的虚拟机,如何开机实现自启动? 第118天 第二十四周 2017年8月…
太裸的我就不放代码了...(黑体字序号的题表示值得注意) 1.搭配飞行员 [LOJ#6000] 二分图最大匹配. 2.太空飞行计划 [LOJ#6001] 最小割常规套路.输出方案.(注:这题换行符要用 \r) 3.最小路径覆盖 [LOJ#6002] 网上大多数题解都是二分图相关的,但这题有一个更直观的做法. 我们限制每个点的流量上下界都为 \(1\),从源点向每个点的"入点"连容量为 \(1\) 的边,从每个点的"出点"向汇点连容量为 \(1\) 的边,然后跑最小流…
单点插入,单点查询. 优化了的链表. 链表老写错,干脆用vector,也不算慢. 注意链表退化的问题,及时(比如操作根号n次)就重新建块,实测速度可以提高一倍,这还是数据随机的情况,若涉及大量同一位置插入,会让分块大大退化. build没必要写两个. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cmath> #include<cstring> #include…
https://loj.ac/problem/6280 区间修改,区间求和. 本来线段树的活. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cstdio> #include<cctype> #include<cmath> using namespace std; typedef long long ll; const int MAXN=500005…
https://loj.ac/problem/6279 区间修改,区间查询前驱. TLE无数,我觉得这代码最精髓的就是block=1000. 谜一样的1000. 两个启示: 块内可以维护数据结构,比如set 可以换换块大小,自造数据测试时间 //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<algorithm> #include<cstring> #include&…
https://loj.ac/problem/6278 区间修改,查询区间第k大. 块内有序(另存),块内二分. 还是用vector吧,数组拷贝排序,下标搞不来.. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> #i…
https://loj.ac/problem/6277 区间修改,单点查询. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cstdio> #include<cctype> #include<cmath> using namespace std; const int MAXN=500005; inline int read_d(){ int ret=…
区间查询数值+整体赋值 维护tag代表整个区间被赋成了tag[i] 用pushdown操作,而不是修改了再check. 不压缩代码了,调起来心累,长点有啥不好. //Stay foolish,stay hungry,stay young,stay simple #include<iostream> #include<cmath> #include<cctype> #include<cstdio> using namespace std; inline int…