随笔分类 - 算法 - 前缀和/差分
摘要:显然,对于一条边的两个端点必须选择一个;对于一个块内的点,只能选择一个. 第一种限制好满足,第二个限制的话前/后缀和优化一下建图就行可. code: #include <bits/stdc++.h> #define N 4000009 #define ll long long #define set
阅读全文
摘要:显然从左到右,从上到下依次处理每个格子步数是最少的. 而由于我们的顺序是固定的,每次操作等于是一个区间修改,单点查询. 利用二维差分的方式可以轻松实现. code: #include <cstdio> #include <cstring> #include <string> #include <ve
阅读全文
摘要:这个思路很巧妙啊 ~ code: #include <cstdio> #include <algorithm> #define N 2050 #define ll int #define setIO(s) freopen(s".in","r",stdin) using namespace std;
阅读全文
摘要:好神啊 ~ 打表程序: #include <cstdio> #include <cstring> #include <algorithm> #define N 140000000 #define ll long long #define mod 998244353 #define setIO(s)
阅读全文
摘要:和之前那个 【LNOI】LCA 几乎是同一道题,就是用动态树来维护查分就行. code: #include <bits/stdc++.h> using namespace std; #define N 50006 #define mod 998244353 #define ll long long
阅读全文
摘要:Description 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权 N<=100000 M<=200000 给出一个N个点M条边的无向图,经过一个点的代价是进入和离
阅读全文
摘要:Description 给定一个长度为n的序列a[1],a[2],...,a[n],请将它划分为m段连续的区间,设第i段的费用c[i]为该段内所有数字的异或和,则总费用为c[1] or c[2] or ... or c[m]。请求出总费用的最小值。 给定一个长度为n的序列a[1],a[2],...,
阅读全文
摘要:Code:
阅读全文
摘要:Code:
阅读全文
摘要:题目描述 Sandy和Sue的热衷于收集干脆面中的卡片。 然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型。 每一张卡片都由一些数字进行标记,第i张卡片的序列长度为Mi,要想兑换人物模型,首先必须要集够N张卡片,对于这N张卡片,如果他们都有一个相同的子串
阅读全文
摘要:Code:
阅读全文
摘要:题目描述:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求$\sum_{l\leq i\leq r} dep[LCA(i,z)]$ 题
阅读全文

浙公网安备 33010602011771号