当前位置: 首页 > news >正文

P4099 [HEOI2013] SAO

P4099 [HEOI2013] SAO

题意

给你一棵 \(n\) 个点的树,每条边 \((u,v)\) 有一个参数 \(c\) 表示 \(u,v\) 谁必须放在前面。

求有多少种排列,使得所有边都满足条件。

\(n \le 1000\)

(题意其实对原题做了一丁点转化)

思路

本来想补补 zr2024 B 班的题。然后刚好发现上上周多校杂题选讲也讲了这题。这下不得不补了。

考虑容斥。

我们把 \(1\) 看作根,对于边 \((fa,u)\)\(c=0\) 表示 \(fa\) 先,\(c=1\) 表示 \(u\) 先。

我们先把所有 \(c=1\) 看作无限制,求方案数,然后减去有一个 \(c=1\) 被钦定成 \(c=0\) 的方案数,然后再加上有两个 \(c=1\) 被钦定成 \(c=0\) 的方案数,以此类推。


这段做法不够优美,不建议阅读。

考虑再树形 DP 中带上容斥系数。

朴素 DP:

\(f_{u,p,s}\) 表示 \(u\) 的子树中,\(u\) 在排列的第 \(p\) 位,有 \(s\)\(c=1\) 被钦定成 \(c=0\) 的方案数。

这样复杂度超了。

我们把这一维改成 \(0/1\) 表示 \(s\) 的奇偶性,也是一样的。

看来上上周的 ppt,我这个是什么杂糅做法,我们还是来一个小清新容斥做法吧。


我们会外向树拓扑序计数,即父亲的必须在儿子前面:

\[\frac{n!}{\prod_{i=1}^n siz_i} \]

证明:对于随机排列,一个点 \(u\)\(siz_u\) 的概率在它子树的所有点的前面。

那么我们有一些 \(c\) 没有限制,就相当于把原树割成了若干棵外向树。每个连通块计数然后乘起来即可。

所以设 \(f_{u,s,0/1}\) 表示满足 \(u\) 的连通块大小为 \(s\),钦定 \(c=1\) 变成 \(0\) 的边的奇偶性为 \(0/1\)\(u\) 的整棵子树的方案数。

事实上不需要 \(0/1\) 那维,转移的时候带上容斥系数就好。

时间复杂度是树形背包复杂度,是 \(O(n^2)\)

具体怎么转移见代码。

解释一下转移系数:

合并 \(u,v\) 时,子树 \(u,v\) 内部已经有序,所以只需要再乘上组合数 \(\binom{siz_u+siz_v}{siz_v}\)

但是这样合并完所有儿子之后 \(u\) 所在连通块不一定符合拓扑序。

\(u\) 所在连通块的贡献应该为 \(\frac{s_u!}{\prod s_i}\)。现在它的贡献是啥?合并 \(u,v\) 时会贡献 \(\frac{(s_u+s_v)!}{s_u!s_v!} \times \frac{s_v!}{\prod_{i \in T_v} s_i}\)\(T_v\) 表示 \(v\) 的连通块的点集)。

合并完所有儿子之后很多都会消掉,剩下 \(\frac{s_u!}{\prod_{i \in T_u \land i \neq u} s_i}\)

code

#include<bits/stdc++.h>
#define sf scanf
#define pf printf
#define rep(x,y,z) for(int x=y;x<=z;x++)
#define per(x,y,z) for(int x=y;x>=z;x--)
using namespace std;
typedef long long ll;
namespace wing_heart {#define gc getchar_unlockedconstexpr int N=1e3+7,mod=1e9+7;struct modint {int x;modint (int _x=0): x(_x) {}modint operator + (modint b) const { return x+b.x < mod ? x+b.x : x+b.x-mod; }modint operator - (modint b) const { return x+mod-b.x < mod ? x+mod-b.x : x-b.x; }modint operator * (modint b) const { return 1ll*x*b.x%mod; }modint &operator += (modint b) { return *this = *this + b; }modint &operator -= (modint b) { return *this = *this - b; }modint &operator *= (modint b) { return *this = *this * b; }modint inv () const { int b=mod-2;modint s(1),a=*this;while(b) {if(b&1) s*=a;a*=a;b>>=1;}return s;}void write() const { pf("%d\n",x); }};int T,n;struct pii {int v,c;};vector<pii> son[N];int siz[N];modint f[N][N],g[N];modint fac[N],inv[N],ifac[N];modint binom[N][N];void clear() {rep(i,1,n) son[i].clear();memset(f,0,sizeof(f));}void init() {fac[0]={1};rep(i,1,n) fac[i]=fac[i-1]*(modint){i};ifac[n]=fac[n].inv();per(i,n-1,0) ifac[i]=ifac[i+1]*(modint){i+1};inv[1]=1;rep(i,2,n) inv[i]=inv[mod%i]*(mod-mod/i);binom[0][0]=1;rep(i,1,n) {binom[i][0]=1;rep(j,1,n) binom[i][j]=binom[i-1][j-1]+binom[i-1][j];}}void dfs(int u,int fa) {f[u][1]={1};siz[u]=1;for(pii p : son[u]) if(p.v^fa) {int v=p.v;int op=p.c;dfs(v,u);memset(g,0,sizeof(g));rep(i,1,siz[u]) {rep(j,1,siz[v]) {if(op) {g[i]+=f[u][i]*f[v][j]*binom[siz[u]+siz[v]][siz[v]];g[i+j]-=f[u][i]*f[v][j]*binom[siz[u]+siz[v]][siz[v]];} else {g[i+j]+=f[u][i]*f[v][j]*binom[siz[u]+siz[v]][siz[v]];}}}memcpy(f[u],g,sizeof(g));siz[u]+=siz[v];}rep(i,1,siz[u]) f[u][i]*=inv[i];}void main() {sf("%d",&T);n=N-7;init();while(T--) {sf("%d",&n);clear();rep(i,1,n-1) {int u,v;char c;sf("%d",&u);++u;c=gc();while(c!='<' && c!='>') c=gc();sf("%d",&v);++v;if(c=='>') swap(u,v);son[u].push_back({v,0}), son[v].push_back({u,1});}dfs(1,0);modint ans={0};rep(i,1,n) {ans+=f[1][i];}ans.write();}}
}
int main() {#ifdef LOCALfreopen("in.txt","r",stdin);freopen("my.out","w",stdout);#endifwing_heart :: main();
}

相关文章:

P4099 [HEOI2013] SAO

题意:给定一棵有 \(n\) 个点(\(n \le 1000\))的树,每条边 \((u, v)\) 有参数 \(c\) 表明 \(u\) 和 \(v\) 谁必须排在前面,求满足所有边条件的排列种数。思路:采用容斥原理解决。先以 \(1\) 为根,将所有 \(c = 1\) 的边看作无限制,求方案数,再通过容斥调整。可在树形DP…...

Linux chronyd 时间同步服务器,命令

Linux chronyd 时间同步服务器,命令chronyd 是 Linux 系统中常用的时间同步服务工具,以下是其常用命令:启动 / 停止 / 重启服务:# 启动服务 sudo systemctl start chronyd # 停止服务 sudo systemctl stop chronyd # 重启服务 sudo systemctl restart chronyd # 查看服务状…...

2025暑假集训总结lh

暑假进行了一个月的集训,也刷了不少题,参加了几场萌新赛。让我看出来我目前最大的问题:基础不太牢固。 以前学习c语言,从来没有看过具体的课程,从来都是用到什么就搜什么来学习,导致没有具体的框架在脑子里。 不少题,大致思路我能看出来,也大概知道要用哪些板子,但是一…...

ET框架的 阻止 ddos 设计,软路由

https://et-framework.cn/d/17ET7 软路由 ET7分支已经添加软路由功能~早期分享 最近在做防攻击设计,今天终于完成并且实现了,这里分享给大家,特别是搞棋牌的项目,还有小公司没法通过法律手段来防止别人攻击。特别有用处。因为高防实在太贵,用不起。 设计思路如下:需要有很…...

Serena 最佳实践方案

1. 全局安装 Serena 你需要用 包名 serena-agent 来安装,但安装完后命令行工具叫 serena: uv tool install --from git+https://github.com/oraios/serena serena-agent安装成功后,全局会有一个可执行命令: serena --help后续操作 升级: uv tool upgrade serena-agent卸载…...

C++ 零散记录:条件编译与 if constexpr 的区别

核心区别 条件编译发生在预处理期,由预处理器根据条件关掉代码片段,即不让这些代码到达编译期。 if constexpr:发生在编译期,由编译器在编译期确定要执行的分支。 其他所有的区别都是此核心区别的衍生。 用法的区别 能放的位置 条件编译几乎在哪都行。 if constexpr 只能在…...

ubuntu 22.04安装mysql8.0.41(glibc2.17)

环境Os:ubuntu 22.04 desktop桌面版mysql:mysql:8.0.41 glibc2.17查看操作系统信息root@db:/soft# ldd --version ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35 Copyright (C) 2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. …...

cURL调试功能磁盘空间耗尽导致拒绝服务漏洞分析

本文详细分析了cURL工具在使用--trace或--trace-ascii选项时存在的磁盘空间耗尽漏洞,攻击者可通过发送大量数据使日志文件无限增长,导致系统拒绝服务,并提供了修复方案。报告 #3250490 - 磁盘空间耗尽导致拒绝服务(DoS) 描述 当使用--trace或--trace-ascii选项处理大量数据时…...

mysql常用函数,数据处理效率提升实战指南

还在为SQL查询效率低下而烦恼吗?MySQL内置的强大函数库能让你事半功倍!无论是字符串处理、日期计算还是数值运算,熟练使用这些函数能极大简化开发工作。本文将全面解析MySQL最实用的内置函数,助你轻松应对各种数据处理需求。 字符串处理函数的妙用 在处理用户输入、日志分析…...

Tita 一体化管理:赋能互联网企业产品迭代全流程

在互联网行业,产品迭代速度直接决定企业的市场竞争力。然而,多数互联网企业在产品从需求提出到最终上线的全流程中,常面临需求混乱、开发低效、上线失控等问题。Tita 以一体化管理思维,打通产品迭代的全链路,让每一次版本更新都精准、高效、可控。 一、互联网企业产品迭代…...

【2025-09-15】动起来了

20:00仅仅通过改变自己,我们就能改变我们的整个人生和身边人的态度。——鲁道夫德雷克斯今天打算下班在园区投投篮,缓解一下职业病问题。临下班前的一个多小时,突然下起了大雨。那在还要想想,换种运动方式。我的车后备箱有几种运动装备,例如跑步、篮球和游泳。下雨天最好的…...

二叉树的层次遍历

前言 代码 非递归,使用size记录我们到第几层了,每次存入一层的node只有遍历完了才进入下一次循环,queue为空了就结束 代码: class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;if (root != NULL) que.push…...

Mysql索引失效场景

以下是导致索引失效的常见情况,分类并举例说明: 1. 对索引列进行运算或函数操作 当在索引列上使用函数、表达式、计算或类型转换时,MySQL无法直接使用索引来定位数据。 失效示例:sql-- 使用函数 SELECT * FROM users WHERE YEAR(create_time) = 2023; -- 使用表达式 SELECT…...

写了一个BBP算法的实现库,欢迎讨论

BBP 算法可以直接计算 π 的第 n 个十六进制数字,而无需计算前面的所有数字。 我的仓库:https://github.com/davelet/bbp先来说说π这个老朋友吧。π,3.14159……,数学界的“网红”,从古希腊的阿基米德开始,就有无数人试图用它丈量圆的秘密。为什么这么迷人?因为它是个无…...

统计建模库 statsmodels(时序单变量数据)

statsmodels 是一个基于 Python 的科学计算库,专注于统计数据分析、统计模型估计、统计检验和数据探索。它提供了对 R 语言中许多统计方法的完整复现,同时紧密集成在 Python 的科学计算生态(NumPy, Pandas, SciPy)中。 1. 线性模型 这是最基础也是最常用的部分。普通最小二…...

【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!

【云栖大会】AI原生、AI可观测、AI Serverless、AI中间件,4场论坛20+议题公布!大模型技术既展现出重塑生产力的巨大潜力 也孕育着重构生产关系的无限可能 为全球数字经济的智能化升级注入全新动能 2025 年 9 月 24 日至 26 日,杭州云栖小镇 4 大论坛、20+ 主题分享 从云原生…...

docker-oracle安装

1.dockere 拉取oracle镜像 # 下载镜像 docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c[!TIP] 备注:镜像有6.2G,我上传了夸克网盘 链接:https://pan.quark.cn/s/32ea287adca8?pwd=E19X 打包和解压命令 docker save > oracle-19c.tar registry.cn-han…...

static注意事项

static方法中没有this.xxx 不带static的方法可以调用所有变量或方法 带static只能访问带static的变量或方法...

微算法科技(NASDAQ: MLGO)研究隐私计算区块链框架,赋能敏感数据流通

在当今数字化时代,数据成为了极为重要的资产,然而在医疗、金融等诸多关键领域,数据孤岛现象严重,各机构间难以实现有效的数据共享。同时,隐私泄露风险又如同高悬之剑,让数据所有者顾虑重重,不敢轻易开放数据。微算法科技(NASDAQ: MLGO)正是敏锐察觉到这一困境,决心结…...

2D变换——坐标系

Halcon的坐标系主要分为三类。像素坐标系、亚像素坐标系、亚像素边缘坐标系。像素坐标系和亚像素坐标系统称为Halcon标准坐标系。亚像素边缘坐标系(Edge Centered)称为Halcon非标准坐标系。 Halcon标准坐标系 在Halcon标准坐标系下,坐标系的原点在图像的左上角像素的中心位置。…...

关于POST NETLIST (后提网表)备注

Calibre PEX SPI & calibreview ,以及StarRC介绍 Calibre PEX SPI & calibreview ,以及StarRC PEX SPI 和 PEX CALIBREVIEW 是输出结果的两种不同形式,代表了处理寄生参数的两种方法论:合并 vs 反标。 Synopsys StarRC 是生成这些结果所需要的工具之一。它是一个“提…...

P13693 [CEOI 2025] Equal Mex 题解

Description 罗马尼亚贵族们普遍认为,一个整数数组 \(a[0], a[1], a[2], \ldots, a[m - 1]\) 的美丽值定义为:满足以下条件的正整数 \(k\) 的个数——你可以将该数组划分为 \(k\) 个互不重叠的子数组(即连续元素的序列),使得:每个元素恰好属于一个子数组; 所有子数组具有…...

力扣46题 全排列

题型属于回溯算法 1.递归函数参数 排列有序,因此需要一个used数组,标记已经选择的元素 2.递归终止条件 当收集元素的数组path的大小达到和nums数组一样大的时候,说明找到了一个全排列,也表示达到了叶子节点。 3.单层搜索的逻辑 与组合问题相比最大的不同就是for循环里不用s…...

C++ std::unordered_map

std::unordered_map 是 C++ STL 中无序键值对容器的核心成员,底层基于哈希表实现,存储唯一键(key)与对应值(value)的映射关系,且不保证键的顺序。其最大优势是插入、查找、删除操作的平均时间复杂度为 O(1),适合对效率敏感且无需键有序的场景。 1、底层数据结构与特性 …...

Rust mut

fn main() {// `let mut var`: mutable bindinglet mut i = 5;i = 6; // 整体替换println!("i: i32= {}", i);let mut s = String::from("Hi");s = String::from("Hello"); // 整体替换s.push_str(" World!"); // 部分修改println!(&q…...

数论与组合(模板)

gcd与exgcd inline int gcd(int a, int b) { return b == 0 : a ? gcd(b, a % b); } inline ll exgcd(ll a, ll b, ll &x, ll &y) {if (b == 0) { x = 1, y = 0; return a; }ll d = exgcd(b, a % b, x, y);ll z = x; x = y; y = z - y * (a / b);return d; }...

自动感应门的感应雷达怎么选型?

​  感应门目前在市面上用的还是比较多的,不仅能给人一种高级感同时还能够给开空调的空间起到节能的作用,广泛应用在公共营业场所比如商超酒店机场等场所。在感应门控制系统中,雷达传感器作为核心检测模块,其选型直接决定了整个感应门的响应门的速度、检测精度、抗干扰能…...

hadoop部署步骤

一、环境准备(centos7.9)点击查看代码 1、关闭防火墙 [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld2、关闭selinux [root@localhost ~]# sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config3、修改主机名…...

达成调用libchdb.a静态连接库中的未公开导出函数

达成调用libchdb.a静态连接库中的未公开导出函数pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace …...

一些寄存器相关的知识

考试要求: 只需关注x86汇编语言 题目给出的某段简单程序的C语言,汇编语言,机械语言表示,能结合c语言看懂汇编语言的关键语句 汇编语言机器语言一一对应,结合汇编语言分析机器语言指令的格式,寻址方式 不会考:将c语言人工翻译成汇编语言或机器语言 ARM和MIPS不考 x86架构…...

Redis常用命令

目录启动主节点启动从节点启动哨兵节点查看主从状态查看哨兵状态方式 1:通过 redis-cli 关闭(需认证)方式 2:如果未设置密码方式 3:通过进程 ID 关闭(不推荐,可能导致数据丢失)参考资料 启动主节点 redis-server /usr/local/install/redis_sentinel/master/redis.conf …...

力扣42题 接雨水,力扣84题 柱状图中最大的矩形,力扣739题 每日温度

这三道题都是单调栈的应用 力扣739题 每日温度 使用单调栈主要有三个判断条件 1.当前遍历的元素T[i]小于栈顶元素T[st.top()]的情况 2.当前遍历的元素T[i]等于栈顶元素T[st.top()]的情况 3.当前遍历的元素T[i]大于栈顶元素T[st.top()]的情况 要保持单调递增的栈,如果栈头元…...

使用HTTPS 服务在浏览器端启用摄像头的方式解析

使用HTTPS 服务在浏览器端启用摄像头的方式解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !…...

5分钟SAE极速部署Dify,高效开发AI智能体应用

自2024年 Dify.ai 开源以来,全球开发者基于其框架已构建超2.3万个智能客服、企业知识库、AI 营销助手等 AI 应用项目。Dify 通过可视化拖拽操作即可实现生产级 AI 智能体开发,显著降低了技术门槛。 然而,本地私有化部署模式常面临维护成本高、可靠性不足等问题。阿里云Serve…...

.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)

在使用MudTools.OfficeInterop.Word库进行Word文档自动化处理时,深入理解Word对象模型的核心组件是至关重要的。Word对象模型提供了一套层次化的结构,使开发者能够通过编程方式控制Word应用程序、文档以及文档内容。本章将详细介绍Word对象模型中最核心的三个对象:Applicati…...

事件轮循机制EventLoop

事件轮循机制 Event Loop(事件循环)是 JavaScript 中非常重要的概念,它是 JavaScript 执行模型的核心部分。为了理解事件循环,我们需要从 JavaScript 的单线程特性入手。 1. 单线程模型 js是单线程的, 这意味着它一次只能执行一个任务 但是现代需要处理大量异步操作(处理用…...

ruoyi-vue初步接触

因为最近参加了一个比赛,培训的时候说最终考试是要求使用ruoyi-vue来做功能,于是我在网上找到了ruoyi这个项目,准备给他搭建起来。 找了一下官网 发现了这个 准备工作然后我就开始查看本机环境java --version openjdk 21.0.8 2025-07-15 OpenJDK Runtime Environment (build…...

AT_arc180_c [ARC180C] Subsequence and Prefix Sum

考虑只让你进行一次操作,值域很小,DP。 考虑设 \(f_{i, j}\) 表示到了第 \(i\) 个数,选择的子序列和为 \(j\) 的方案数,显然只需要判断当前位置选没选即可。 如果只是这样,这个题还放不到 ARC 的 C。 发现如果 \(j = 0\),会出现一些奇怪的去重问题,就是这个时候选和不选…...

如何快速看懂「祖传项目」?Qoder 强势推出新利器

今天, Repo Wiki 正式上线新功能:支持Wiki 共享、编辑和导出。为了让知识更好地在团队中流转,Qoder 提供了 Wiki 共享能力。当用户在本地生成 Wiki 时,会自动在代码库中创建一个专属目录,只需将该目录推送至代码仓库,即可将生成的文档轻松共享给团队成员,实现协作共建。…...

测试不再碎片化:AI智能体平台「项目资料套件」功能上线!

在实际项目中,你是否遇到过这样的困扰: 项目需求被拆散在多个文档里,测试准备时要反复切换查找? 功能文档、接口文档、用户流程文档分属不同来源,整理耗时费力? 新版本发布时,常常因为文档引用不一致导致测试遗漏? 这些问题,不仅影响测试效率,更容易造成测试覆盖不完…...

大模型与知识图谱驱动测试公开课

大模型与知识图谱驱动测试公开课来啦! 内容包含: 知识图谱介绍与模型结构 图数据库选型与数据检索 文档生成知识图谱与GraphRAG 利用大模型与知识图谱生成测试用例 自动化测试用例生成 09月18日(周四)20:00,思寒老师将为分享如何利用大模型生成业务测试用例与自动化测试用…...

上位机项目展示

项目名称:装备状态多模-态视觉检测系统 (上位机平台开发) 项目简介 本项目旨在为多种先进的视觉检测算法提供一个通用、稳定且高性能的上位机平台。我独立负责该平台的设计与开发,它作为硬件控制中心和用户交互界面,无缝集成了偏振相机等多种硬件,并为外部Python算法模块提…...

美化自己的Github主页-Github profile页面仓库使用指南

GitHub 的 Profile 页面仓库 是 GitHub 在 2020 年 7 月 推出的一个小功能,官方名字叫 “Special repository for your profile”。你可以创建一个跟自己用户名完全同名的公共仓库,仓库的 README.md 内容会显示在你的个人主页顶部。而在此之前,Github的个人主页只会在左侧一…...

充气泵方案:充气泵用数字传感器有什么好处?

在充气泵应用中,数字传感器相比模拟传感器能带来多维度优势,这些优势直接匹配充气泵对精准控制、稳定运行、简化生产的核心需求,具体好处可从以下5个关键维度展开:1.气压测量更精准,避免“过充/欠充”问题充气泵的核心需求是精准控制气压(如汽车轮胎需2.2-2.5bar、自行车…...

windows系统下anaconda的安装和使用

https://blog.csdn.net/D18010492948/article/details/149262110Rust编程语言群 1036955113 java新手自学群 626070845 java/springboot/hadoop/JVM 群 4915800 Hadoop/mongodb(搭建/开发/运维)Q群481975850GOLang Q1群:6848027 GOLang Q2群:450509103 GOLang Q3群:436173132…...

Lock分析:systemstate分析row cache lock

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。Lock分析:systemstate分析row cache lock 案例是一次测试row cache lo…...

mysql查看连接数,从查询到优化

你的MySQL数据库最近是否响应变慢?很有可能是因为连接数过多导致的资源抢占!作为数据库管理员或开发者,掌握查看和监控MySQL连接数的技能至关重要,今天我们就来深入探讨这个话题。 快速查看MySQL当前连接数 最直接的命令当属show status like %connect%,这个命令可以一次性…...

遗传算法与偏最小二乘结合的化学光谱变量选择方法

一、方法原理与优势 1. 核心思想 遗传算法(GA)通过模拟自然选择的全局搜索能力,优化偏最小二乘(PLS)模型的变量选择与参数配置,解决以下问题:高维数据降维:从数万波长点中筛选关键特征 多重共线性消除:避免相邻波长点的冗余信息 模型稳定性提升:通过进化策略避免局部…...

云剪贴板

消える飛行機雲 僕たちは見送った Ki e ru hi kō ki gu mo bo ku ta chi wa mi o ku tta 眩しくて逃げた いつだって弱くて Ma bu shi ku te ni ge ta i tsu da tte yo wa ku te あの日から変わらず いつまでも変わらずに A no hi ka ra ka wa ra zu i tsu ma de mo ka wa ra …...

读书笔记:Oracle数据库的水位线秘密:为什么空表查询还很慢?

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学习《Expert Oracle Database Architecture Techniques and…...