标签: 分块
分块9题 出题人hzw的解析 (tips.以下代码中IO优化都已省去,想看可以点传送门) 数列分块入门 1 修改:区间加 查询:单点值查询 ...这是一道经典题目,线段树、树状数组等都可以搞,这里讲讲分块 ...
LOJ #6277. 数列分块入门 1 题意:给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 时间限制:100ms 分块 我们将整个数列划分为很多块,暂且分为n / m块,用block[ i ]记录第 i 个数据arr[ i ]...
loj6277 数列分块入门 1 给定数列,区间修改,单点查询。 区间修改可以打永久标记。没什么好说的,毕竟是 1。 #include <bits/stdc++.h> #define int long long using namespace std; inline int read(){ ...
容斥。挺有意思的。
题目链接:https://loj.ac/p/510给出一个代码 其中lowbit(x)\text{lowbit(x)}lowbit(x)表示xxx在KKK进制下最低非零位的值。现在给出n,q,Kn,q,Kn,q,K,qqq次调用add(x,v)add(x,v)add(x,v)或者query(x)query(x)query(x)...
但是我们不能离线建生成树,因为我们存不下所有的边,考虑一下别的方向的优化。我们会发现对于非树边来说,如果这一条非树边能被其他非树边完全覆盖,那么说明这条边就没有用,所以我们对于非树边来说也只需要保留一...
loj 6546 (分块+斜率优化 题意: 给两个长度为n的数列A,B,三个操作 对A区间加 交换B中的两个数 求区间最大Ai∗Bi{A_i*B_i}Ai∗Bi 思路: 看起来很像一道线段树,但我们发现区间加后根本难以维护Ai∗BiA_i*B...
题目链接:https://loj.ac/p/6564 题目大意 给两个序列a,ba,ba,b求它们的最长公共子序列。 1≤n,m,ai,bi≤7×1041\leq n,m,a_i,b_i\leq 7\times 10^41≤n,m,ai,bi≤7×104 解题思路 无意间看到的一个...
LOJ146: 给定一棵 nnn 个结点的树,根结点为 rrr,初始点权 wiw_iwi,mmm 次操作: ① 1,a,b,x1, a, b, x1,a,b,x,aaa 到 bbb 最短路径间点权都加上 xxx; ② 2,a2, a2,a,求结点 aaa 的点权; ③ 3,a3, a3,a,求...
标签: 开源软件
Loj X 使创建真正的计算单元甚至小型完整处理器成为可能。 除了逻辑门,存储盒和程序阅读器可以集成到电路中。
数列分块入门 1[loj6277] 题目大意:区间加,单点查 直接分块,区间加时完全覆盖的块打tag,边界块暴力重构 块大小设为n\sqrt nn,复杂度O(nn)\mathcal O(n\sqrt n)O(nn) code #include<cstdio> #include&...
这几天把LOJ的分块专题刷了个大概,总结一下。 LOJ 6277 数列分块入门一 给出一个长为 n的数列,以及 n个操作,操作涉及区间加法,单点查值。 思路:这个还是比较容易的,我们只需要快内暴力修改,再记录一个...
给你一个 n 个点 m 条边的无向图不一定连通,把每个连通块看做子图,求每一个子图的桥。 n 1e5 m 6e6 空间 16 MB
汽车加油行驶 分层图 最短路 C++
给你一棵树,会有单点修改,要你在其中求有多少棵子树的权值异或和是一个询问的 k。
题目链接:https://loj.ac/p/3005有一个长度为nnn的括号串SSS,其中包括[]和两种括号类型,一个合法的括号串要求同类型的括号一一对应。你每次可以询问SSS中的一个字符并且传递一个[0,222)[0,2^{22})[0,222)的数字到...
这里是本人在 LOJ 上刷的一本通题目的综合题解,不定时更新。具体更新策略 戳这儿. 如果题目较简单,则本人会 简略地阐述思路等,然后 根据具体需要,给出伪代码,贴链接全代码,或不给代码。 注释较少或没有。 如果...
题目链接:https://loj.ac/p/2769 题目大意 给出nnn个点mmm条地铁线路,每条线路是一条路径。 求111到nnn的最短路且在最短路径的情况下相邻换乘点的距离平方和最大。 1≤n,m,∑si≤1061\leq n,m,\sum s_i\leq 10^61...
题目传送门:LOJ #556。 题意简述: 有 \(m\) 种物品,第 \(i\) 种物品的体积为 \(a_i\),数量为 \(b_i\)。 对于 \(1\le i\le n\),求出使用这些物品恰好填满容积为 \(i\) 的背包的方案数。 两种方案不同当且仅当...
https://loj.ac/problem/6074 题解 对于子序列的dp,我们可以设置一个dp。 我们设dp[i]表示以i这个字符结尾的子序列个数,转移为dp[i]+=∑dp[k]-dp[i]。其实我们发现这样等价于dp[i]=∑dp[k]。 另外我们还要再设...
总目录 在线测评地址(ybt) 在线测评地址(LOJ)
当你的脑子里全是浆糊时试着用势能分析复杂度.gif
进一步地,无论如何去生成一个全黑的行,“全黑列的数量”始终不改变,因此“填黑列的步数”不改变。显然,如果填出一个全黑的行的过程中有列变成了全黑,那么这个行也是全黑,这与全黑行不存在矛盾。...
参考文章 无源汇有上下界的可行流 ...以 loj115 为例。 剥离出必要边与自由边。 #include <iostream> #include <cstring> #include <cstdio> #include <queue> using namespace std;...
的右子树,所以我们优先比对两个连接的部分作为子树时字典序最小的第一个数是啥。个(每条边的两个方向),我们可以先预处理出每个子树字典序最小时第一个是啥。你要求它的一个二叉树结构(根任意选择)使得其中序...
总目录 在线测评地址(ybt) 在线测评地址(LOJ)
算Trie模板题了吧
loj 6077 「2017 山东一轮集训 Day7」逆序对 题目传送门 一个经典问题 我们一个一个加入元素,第i个贡献的逆序对数量在区间[0,i−1][0,i-1][0,i−1]内 问题也就是有多少个排列xxx满足: ∑ixi=k ∣ xi∈[0,...
给你一个 DAG,要你找最少数量的路径,使得一个点只会被一个路径经过,也一定会有路径经过它。 路径的长度可以是 0,即一个点也代表一个路径。 输出路径数量和每条路径的走法。