From 5af9efe1eb020ac92b7d7af71c5a1fba77f8fa8c Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Wed, 13 Aug 2025 21:01:47 +0800 Subject: [PATCH] update --- CMakeLists.txt | 2 +- src/8/12/P8867.CPP | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/8/12/P8867.CPP diff --git a/CMakeLists.txt b/CMakeLists.txt index 55d2f00..31a5a23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.15) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_options(-Wall) -add_link_options(-fsanitize=address,undefined) +# add_link_options(-fsanitize=address,undefined) include_directories(${CMAKE_CURRENT_LIST_DIR}/include) set(CMAKE_CXX_STANDARD 20) diff --git a/src/8/12/P8867.CPP b/src/8/12/P8867.CPP new file mode 100644 index 0000000..9e4da58 --- /dev/null +++ b/src/8/12/P8867.CPP @@ -0,0 +1,21 @@ +/* + +dp[u][0]: 只考虑以 u 为根的子树,在子树内的城市中不建立任何军营的方案数 +dp[u][1]: 只考虑以 u 为根的子树,在子树内的城市中至少建立一个军营的方案数。 +dp[u][0] = 1 + +看守桥 (u, v): 桥是安全的。u 这边的军营状况和 v 那边的军营状况可以独立。 +u 无军营,v 有军营:dp[u][0] * dp[v][1] +u 有军营,v 无军营:dp[u][1] * dp[v][0] +u 有军营,v 有军营:dp[u][1] * dp[v][1] +不看守桥 (u, v): 桥是不安全的。所有军营必须在同一侧。 +要么所有军营都在 v 的子树中 (u 这边无军营):dp[u][0] * dp[v][1] +要么所有军营都在 v 的子树外 (v 那边无军营):dp[u][1] * dp[v][0] + +*/ + + + +int main(){ + +} \ No newline at end of file