摘要:
P3388 【模板】割点(割顶) #include <stdio.h> #define min(x, y) ((x) < (y) ? (x) : (y)) int n, m; int head[20003], last[200003], to[200003], ccnt = 0; #define a 阅读全文
摘要:
CF977F Consecutive Subsequence 题解 #####原题链接 洛谷 CF 题目大意 给定一个长度为 \(n\) 的数列 \(A\), 求 \(A\) 中最长连续上升子序列的长度并输出任意一种最长的序列中每个数在 \(A\) 中的位置. 思路 求长度应该比较好求, 我们可以设 阅读全文
摘要:
球袜的小 Z UPDATE: 09/09/2021 小 Z 终于找到了他的袜子, 并决定前往球场踢球.足球场可以视为一个平面直角坐标系(如图), x 轴即为地面. 小 Z 从 \(O(0, 0)\) 出发, 延 x 轴一直运动至 \(P(500, 0)\) , 而球门的顶端在 \(Q(514, 2) 阅读全文
摘要:
一个下午做了个 530.. 没写过数论题所以 D2T3 暴力了个 30, 话说 AHOI 的时候也是忘记取膜 100 → 20.. 为什么连同余都不会awa 也只有 14 年的提高组有会做的.. 最难的也不过蓝题+ \({\ }\) 反正我弱弱( 话说这不就是普及组摸你题( 难道我普及 400 都没 阅读全文
摘要:
题解 P5851 [USACO19DEC]Greedy Pie Eaters P 应该比较好看出是区间 DP( n 个派, m 个奶牛 f[l][r][i] 表示第 i 个派尚未被吃时能吃掉它和能吃掉派区间 [l,r] 的奶牛(们)的最大体重 d[l][r] 表示派 [l,r] 全被吃掉后最大的奶牛 阅读全文
摘要:
尚未写完, 过几天会加几道蓝题紫题 咕咕咕~ P1063 [NOIP2006 提高组] 能量项链 不难, 可以算模板题了. d[l][r] 为区间 [l,r] 上能获取的最大值, \(d[l][r] = max(d[l][i] + a[l] * a[i] * a[r] + d[i][r]), l<i 阅读全文
摘要:
/* もぺもぺ!! 先生买一朵小蓝花吗? 你看她多可爱啊! n 个花, m 种花瓶 d i j 表示前 i 种花放在前第 j 个花瓶中, 且第 i 种花放在第 j 个花瓶中时的最大美化值 d[i][j] = max(d[i][j], d[i-1][k] + a[i][j]), 其中 i∈[2,n], 阅读全文
摘要:
#include <stdio.h> inline int abs (const int &x) { return x < 0 ? -x : x; } int n; int fa[30003]; // 当前节点所在树的首领 int s[30003]; // 当前首领所在树的节点数量 int d[30 阅读全文
摘要:
在控制台中加上如下代码 var colors = ['rgb(191, 191, 191)', 'rgb(254, 76, 97)', 'rgb(243, 156, 17)', 'rgb(255, 193, 22)', 'rgb(82, 196, 26)', 'rgb(52, 152, 219)', 阅读全文
摘要:
引入 给定数列 \(a_1, a_2, ... a_n\), 求数列 \(a\) 中子序列 \(b\) 长度 \(m\) 最长, \(b\) 满足 \(b_1 < b_2 < ... < b_m\). 这个序列被称为最长上升子序列(LIS). 要求时间复杂度为 O(nlogn). 算法 n^2 的算 阅读全文
摘要:
先留个坑 我回来了( 什么是 LCA 对于有根树T的两个结点u、v,最近公共祖先LCA(u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。 以上, 百度百科中的定义, 不仅是你, 我也看不懂. 简单点说, 就是一棵有根树中两个节点的最近公共祖先, 阅读全文
摘要:
虽然用的都是树状数组, 但我的方法似乎和其他题解有点不太一样( 简化题意, 将题目转化为这个问题: 给定一个数列 \(s\), 求在$s$中有多少组数$(a,b,c)$满足$a<b<c$且$s_a<s_b<s_c$或$s_a>s_b>s_c$ 对$s_a<s_b<s_c$和$s_a>s_b>s_c$ 阅读全文
摘要:
引入 给定一个长度为 \(n\) 的数列,\(A_1,A_2,…,A_{n-1},A{n}\),支持以下两种操作 \(add(x, y)\) 使得 $A_x$的值加上 \(y\) \(query(x)\) 求得 $\Sigma_^ A_i$的值 如果只有操作 2 的话, 大多数人都能立即想到使用 前 阅读全文
摘要:
定义 对于一个数 x, 将其转化为二进制后的从右往左数的第一个 1 的位数即是 lowbit(x) 举几个个例子吧: \((6)_{10} = (0000\,0110)_2\) , 那么 \(lowbit(6) = 2\) \((9)_{10} = (0001\,0001)_2\) , 那么 \(l 阅读全文
摘要:
引入 (RMQ问题) RMQ (Range Minimum/Maximum Query):询问区间内的最小/最大值 具体要求: 出一个 $n$ 个元素的数组 $A1 ,A2 , …, An$, 设计一个数据结构, 支持查询操作 $query(L, R)$, 计算 $min(A_L, A_{L+1}, 阅读全文
摘要:
左移运算符 << a << b, 指将 a 转化为二进制后将所有数字向左移动 b 位, 末尾用 0 补齐. 可以简单理解为在末尾添上 b 个 0 的操作. 举例 1 << 3 = 8 这里二进制的 1 变为 1000, 即十进制的 1 变为 8. 3 << 4 = 48 这里二进制的 11 变为 1 阅读全文
摘要:
上 72 左 75 右 77 下 80 阅读全文