项链20325 2009 sdoi

P5360 [SDOI2019] 世界地图

题目大意: 给出一个有 \(n\) 行 \(m\) 列的网格图,第一列和最后一列是相连的,每条边都有对应的权值。 有 \(q\) 组询问,每次会给出 \(l_i\) 和 \(r_i\),表示第 \(l_i\) 列至第 \(r_i\) 列上所有的点不能经过,求使除此之外所有点连通或间接连通的最小总权值 ......
世界地图 地图 世界 P5360 5360

从[SDOI2011]消防 到[NOIP2007]树网的核

应该都和我一样一下水了两题吧 P2491 [SDOI2011] 消防 P1099 [NOIP2007 提高组] 树网的核 题目描述 在一颗 \(n\) 个节点的无根树中,找到一条不超过 \(s\) 的路径,使得图中所有点到此路径距离的最大值最小,图中边权非负 分析 若想将此题转化到树网的核,首先要证 ......
SDOI 2011 2007 NOIP

[洛谷 P3481] [BZOJ1118] [POI2009] PRZ-Algorithm Speedup

题目描述 你需要计算一个函数 \(F(x, y)\),其中 \(x, y\) 是两个正整数序列。 bool F(std::vector<int> x, std::vector<int> y) { if (W(x).size() != W(y).size()) return false; if (W( ......
PRZ-Algorithm Algorithm Speedup P3481 3481

【题解】BalticOI 2009 Day1 - 甲虫

BalticOI 2009 Day1 - 甲虫 https://www.luogu.com.cn/problem/P4870 首先看到题面就能想到排序后区间 dp。 设 \(f_{i,j,0/1}\) 表示区间 \([i,j]\),收集完毕后在哪个端点时能收集到最多的露水,但是发现转移过程中还需要这 ......
甲虫 题解 BalticOI 2009 Day1

P3202 [HNOI2009] 通往城堡之路

考虑将每个支撑点都先设成其下限高度,即 \(h_i\gets h_1-(i-1)\times d\),这样就只会提高某些支撑点的高度。 显然每次提高的是一个后缀。提高某个后缀的贡献是当前高度低于原先高度的支撑点数量减去当前高度不低于原先高度的支撑点数量。选择贡献最大的后缀直到最后一个支撑点的高度等于 ......
城堡 P3202 3202 2009 HNOI

P3784 [SDOI2017] 遗忘的集合

传送门 description 对于一个元素都 \(\leq n\) 的正整数集合 \(S\)(不含相同元素),\(f(i)\) 表示使用集合 \(S\) 里的数加和为 \(i\) 的方案数,每个元素可以被使用多次,两个方案不同当且仅当存在一个元素在两种方案中使用次数不同。 现给定 \(n\) 和 ......
P3784 3784 2017 SDOI

P4067 [SDOI2016] 储能表 题解

[SDOI2016] 储能表 - 洛谷 题目详情 - [SDOI2016] 储能表 - BZOJ by HydroOJ 一道很好的数位 dp 题 不过这题有一个比较有意思的性质:当 \(n,m\) 为 \(2^k\) 的形式时,最终得到的数组对每一行排序后为 \(0 \sim m-1\) 的排列,如 ......
题解 P4067 4067 2016 SDOI

P3320 [SDOI2015] 寻宝游戏

其实就是动态维护包含所有关键点的极小联通子树边权和。 暴力做法只要子树内有关键点就去遍历,所以按照 DFS 序顺序去遍历这些关键点肯定是没问题的。 用 set 维护即可。在 \(x\) 和 \(z\) 之间加入 \(y\),答案加上 \(dis(x,y)+dis(y,z)-dis(x,y)\),删除 ......
P3320 3320 2015 SDOI

解题报告 P3704 [SDOI2017] 数字表格

P3704 [SDOI2017] 数字表格 经典莫反。 题目要求: \[\prod_{i=1}^n\prod_{j=1}^m fib(\gcd(i,j)) \]不妨令 \(n<m\)。套路地,我们设 \(\gcd(i,j)=d\),然后枚举 \(d\): \[\begin{aligned} &\qu ......
表格 数字 报告 P3704 3704

P8352 [SDOI/SXOI2022] 小 N 的独立集

经典最大独立集问题可设 \(dp_{u,0/1}\) 表示 \(u\) 为根的子树内,不选/选 \(u\) 的独立集最大权。 本题求方案数,且 \(k\) 这么小,暗示我们将上面状态压到维度,设 \(f_{u,i,j}\) 表示以 \(u\) 为根的子树内,\(dp_{u,0}=i,dp_{u,1} ......
P8352 8352 2022 SDOI SXOI

P4069 SDOI2016 游戏

传送门 solution 树剖后一段路径变成了若干链拼起来。自上而下和自下而上分别维护两棵李超线段树,每条链就是一段数轴,提前处理每个点两种方向上的在链内的横坐标。以最近公共祖先为界,把路径分成两段。从一个点向链的顶端跳就是区间加线段。每次跳完要把线段的截距增加一个横坐标偏移量乘上斜率,因为不同链横 ......
P4069 4069 2016 SDOI

P5901 [IOI2009] Regions

P5901 [IOI2009] Regions 更好的阅读体验 根号分治,过掉不难,但是想 \(\mathcal O(n\sqrt n)\) 还是有一些思维含量的。 首先考虑一种暴力:预处理两两颜色间的答案,\(\mathcal O(1)\) 查询。首先枚举颜色数,然后每种颜色 \(\mathcal ......
Regions P5901 5901 2009 IOI

P3870 [TJOI2009] 开关(线段树)

P3870 [TJOI2009] 开关 思路:可以用线段树来维护区间中亮灯的个数,区间修改用加上懒标记就好 #include <bits/stdc++.h> #define LL long long using namespace std; const int N = 1e5 + 10; struc ......
线段 P3870 3870 2009 TJOI

[SDOI2013] 泉

考虑容斥。 我们记至少有 \(i\) 个指标相同的年份对数为 \(f_i\),那么最终答案为: \[\sum_{i=k}^n (-1)^{i-k}\times f_i \]\(f_i\) 可以通过枚举状态,之后通过字符串哈希来计数得到(注意指标只有 \(6\) 个)。字符串哈希可以把 base 设为 ......
SDOI 2013

【区间 dp】P5189 [COCI2009-2010#5] ZUMA 题解

P5189 容易想到区间 dp,考虑设计状态。 首先如果只有 \(l,r\) 两维的话,是无法转移的。然后发现 \(m\) 是转移的一个必要的条件,可加入 \(m\) 这一维。由于是区间 dp,所以只需考虑向左或向右加珠子,不妨令 \(f_{i,j,k}\) 消除 \([i,j]\) 以及 \(i\ ......
题解 区间 P5189 5189 2009

【算法笔记】 数位dp (例题是 [SCOI2009] windy 数)

数位dp 引入 数位 :是指把一个数字按位数一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制,就比如 链接: [SCOI2009] windy 数的二进制同理。 常见特征 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转 ......
例题 数位 算法 笔记 windy

P2595 [ZJOI2009] 多米诺骨牌

轮廓线 DP + 外部容斥。似乎是 CDQ 论文题。 有一个 \(n\times m\) 的矩形表格,其中有一些位置有障碍。现在要在这个表格内放一些 \(1\times2\) 或者 \(2\times1\) 的多米诺骨牌,使得任何两个多米诺骨牌没有重叠部分,任何一个骨牌不能放到障碍上。并且满足任何相 ......
多米诺骨牌 P2595 2595 2009 ZJOI

P1864 [NOI2009] 二叉查找树 题解

二叉查找树 首先该树的中序遍历是唯一可以确定的(直接按照数据值排序即可)。 然后,因为权值可以被修改成一切实数,故我们完全可以把权值离散化掉。 于是我们现在可以设置一个 DP 状态 \(f[l,r,lim]\) 表示: 区间 \([l,r]\) 中的所有东西构成了一棵子树,且树中最小权值不小于 \( ......
题解 P1864 1864 2009 NOI

洛谷P4158 [SCOI2009] 粉刷匠 题解

所有的 \(DP\) ,只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的…… 思路1: 我们考虑设 \(f[i][j][k]\) 表示:当前 \(DP\) 到第 \(i\) 块木板的第 \(j\) 个位置,共涂了 \(k\) 次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到 ......
题解 P4158 4158 2009 SCOI

洛谷P3300 [SDOI2013] 城市规划 题解

[SDOI2013] 城市规划 题意:给你一个 \(6 \times n\) 的网格题,单点修改,询问区间联通块数,\(n \le 10^5\)。 解:看起来就很显然的一道题......线段树每个点用一个 ufs 维护连通性; 我为了方便思考把图转成横着的了。 写起来真是毒瘤...... 重点在于: ......
题解 城市规划 城市 P3300 3300

解题报告P2486 [SDOI2011] 染色

P2486 [SDOI2011] 染色 题目链接 分两段,最后靠同一条重链合 树剖加线段树,典中典。 这题的线段树维护比较新颖。 线段树中维护这个区间左右端点的颜色和颜色段数量。 建树和查询和修改时要判断左区间的右端点和右区间的左端点是否颜色相同。 如果不相同,直接将段数相加,否则减一。 然后就是查 ......
报告 P2486 2486 2011 SDOI

[SHOI2009] 会场预约 题解

LG 任意时刻每个点最多被一条线段覆盖 暴力删每条线段是对的 插入 \([l,r]\) 时需要删除的线段要么被 \([l,r]\) 包含,要么覆盖 \(l\) 或 \(r\) 性质非常强所以做法非常多 一种比较神奇的:对于两条线段 \([l_{1},r_{1}],[l_{2},r_{2}]\),定义 ......
题解 会场 SHOI 2009

项链 题解

随机化写法很强,但是这里不说。 这里只记录数据结构写法。 枚举右端点,快速找左端点。 首先一种合法的方案中,一种颜色只会有两种情况。全部在区间中及全部在区间外。 对于区间外的情况,也就是最后一次出现的位置 \(p\) 大于右端点 \(r\),我们可以维护当前枚举右端点之前的所有颜色非最后一次出现的点 ......
题解 项链

解题报告 洛谷P2155 [SDOI2008] 沙拉公主的困惑

P2155 [SDOI2008] 沙拉公主的困惑 题目 题面非常的简洁,求 \(\sum\limits_{i=1}^{n!}[i\perp m!]\) 直接颓式子, \[\begin{aligned} ans&=\dfrac{n!}{m!}\cdot\varphi(m!)\\\\ &=\dfrac{ ......
沙拉 公主 报告 P2155 2155

「SDOI2011」 黑白棋

绷不住了,洛谷上的 dp 没一个表述清楚了,一怒之下写一篇题解。注意本题解只讲 dp 部分。 首先转化不合法的充要条件就是:设相邻两个棋子中间间隔数量为 \(b\),那么对于任意非负整数 \(i\) 都有 \((d+1)|\sum (b\& 2^i)\)。其中 \(\&\) 是按位与运算。所以我们要 ......
黑白棋 黑白 SDOI 2011

P6411 [COCI2008-2009#3] MATRICA 题解

水题。 发现根据限制 \(M_{i,j}=M_{j,i}\) 可以知道除了主对角线上的点,其他的点都是成对出现的。也就是说如果有一条要求的 \(a_i\) 为奇数,那么至少有一个 \(c_i\) 在主对角线上。 记 \(S=\sum\limits_{i=1}^{k} (a_i\equiv 1\pmo ......
题解 MATRICA P6411 6411 2008

洛谷P8074 [COCI2009-2010#7] SVEMIR 题解

P8074 SVEMIR \(Solution\) : 这道题目乍一看感觉好难... 因为有绿色的加持,再加上一进题目就看见了头疼的三维坐标,不知道的还以为需要用到什么非常高大上的知识来解决这道题,其实只需要用到最小生成树就行了。 不会最小生成树的请出门左转:P3366 【模板】最小生成树 然后来仔 ......
题解 SVEMIR P8074 8074 2009

SDOI2018-旧试题-莫比乌斯反演、容斥、三元环计数

SDOI2018-旧试题 题意 题意:给定\(A,B,C\),求 \[\sum_{i=1}^A \sum_{j=1}^B \sum_{k=1}^C d(i\times j\times k) \]其中\(d(n)\)表示\(n\)的约数个数,即\(d(n)=\sum_{k|n}1\),\(1\leq ......
试题 SDOI 2018

P3866 [TJOI2009] 战争游戏

2023-09-23 题目 P3866 [TJOI2009] 战争游戏 难度&重要性(1~10):6 题目来源 luogu 题目算法 最小割 解题思路 这道题比较简单。 我们考虑建图,需要注意的是我们要将点权变为边权: 当 \(a_{i,j}=0\) 时,\(S\to u\) 流量为 \(inf\) ......
战争 P3866 3866 2009 TJOI

P2598 [ZJOI2009] 狼和羊的故事

2023-09-22 题目 P2598 [ZJOI2009] 狼和羊的故事 难度&重要性(1~10):6 题目来源 luogu 题目算法 网络流,最小割 解题思路 一道大水题。 考虑如何建图: \(u=1\) 时,\(S\to u\) 流量为 \(inf\) \(u=2\) 时,\(u\to T\) ......
故事 P2598 2598 2009 ZJOI