布丁 梦幻hnoi 2009

[洛谷 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

【题解】HNOI2012 - 集合选数

HNOI2012 - 集合选数 https://www.luogu.com.cn/problem/P3226 不算难的非显然状压 dp。 首先根据限制条件建图,\((x,2x),(x,3x)\) 连边,表示边上相邻两个点不能同时选,然后一组独立集就是一个可行的集合。 发现画出来的图是若干个部分网格图 ......
题解 HNOI 2012

[HNOI2015] 开店

妈的,杀软动态点分治。 你考虑建出点分树,然后把所有子树塞进该点。 根据经典结论 \(\sum dep_x = \sum sz_x = n\log n\) 然后我们考虑每次按照 \(v\) 来排序,做前缀和,然后我们发现每次我们只需要查询一段区间和,使用二分查找即可。 注意容斥,具体来说,就是考虑在 ......
HNOI 2015

【题解】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

P3722 [AH2017/HNOI2017] 影魔

题目链接 Part1 先想暴力,对于每次询问,可以直接 \(\Theta(n^2)\) 枚举数对,用 \(ST\)表 判断一下,复杂度为 \(\Theta(qn^2)\)。 发现枚举数对没有前途,考虑 \((i,j)\) 之间的最大值,发现一个数对产生的贡献只和区间的最大值有关,我们从这个最大值入手 ......
2017 P3722 3722 HNOI AH

解题 [HNOI2008] GT考试

题目:[HNOI2008] GT考试 阿申准备报名参加 GT 考试,准考证号为 \(N\) 位数\(X_1,X_2…X_n\ (0\le X_i\le 9)\),他不希望准考证号上出现不吉利的数字。 他的不吉利数字\(A_1,A_2,\cdots, A_m\ (0\le A_i\le 9)\) 有 ......
HNOI 2008

[HNOI/AHOI2018] 转盘

首先可以发现一定不会停下,因为把停下的时间转化为开头往前挪一步不会使得其他物品的限制变紧 考虑在最后一次经过某个物品时取这个物品,那么枚举终点进行一个时光倒流,断环为链后相当于从 \([n+1,2n]\) 的某个位置出发,一直往前走,使得经过物品 \(i\) 的时间 \(\ge T_i\) 设终点为 ......
转盘 HNOI AHOI 2018

洛谷 P2290 [HNOI2004] 树的计数(Prufer序列,Cayley 公式)

传送门 解题思路 关于Prufer序列的构造,见OI-wiki 这里直接放结论: 一个Prufer序列与一个无根树一一对应 度数为 \(d_i\) 的节点在序列中出现了 \(d_i-1\) 次 \(\sum(d_i-1)=n-2\) n个点的完全图的生成树有 \(n^{n-2}\) 种 所以相当于 ......
序列 公式 Cayley Prufer P2290

[HNOI2016] 网络

[HNOI2016] 网络 题目描述 一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据的交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。 由于这条路径是唯一的,当路径上的某个服务器出现故障,无 ......
网络 HNOI 2016

P3233 [HNOI2014] 世界树

将关键点以深度为第一关键字,编号为第二关键字从小到大排序。 建完虚树后依次考虑这些关键点可能的管辖的结点。每次在虚树上向上跳,当遇到某个已经被访问过的结点时,根据我们的排序条件,显然再往上的结点就一定不是当前关键点管辖的了。但是在向上跳的这条链上的子树内的结点不一定由当前关键点管辖,也有可能由管辖上 ......
世界 P3233 3233 2014 HNOI

P3217 [HNOI2011] 数矩形

P3217 [HNOI2011] 数矩形题解 前言 提交记录 本题其实并不是非常难想,那么为什么本蒟蒻还交了那么多发呢? cal 函数求平方的时候传值未开 long long ,我谔谔。 正文 题面省流:给定 $n$ 个点求最大举行的面积,矩形的边可以不与坐标系垂直。 如果每次枚举矩形的四个点的话, ......
矩形 P3217 3217 2011 HNOI

P3239 [HNOI2015] 亚瑟王

P3239 bzoj #4008 根据期望的线性性,我们设 \(E_i,P_i\) 分别表示第 \(i\) 张卡牌期望造成伤害和第 \(i\) 张卡牌被选择的概率。我们可以知道: \[\begin{align} Ans &= \sum\limits_{i=1}^{n} E_i \\ &= \sum\ ......
P3239 3239 2015 HNOI

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

[HNOI2010] 平面图判定-平面图性质、带权并查集/2-sat

[HNOI2010] 平面图判定-平面图性质、带权并查集/2-sat https://www.luogu.com.cn/problem/P3209 题意:给一张 \(n\) 个点,\(m\) 条边的哈密顿图,并且哈密顿回路已知,问是否是平面图,\(T\) 组询问。 \(1\leq T\leq 100 ......
平面图 平面 性质 HNOI 2010

梦幻西游手游详细图文架设教程

提到梦幻西游,大家肯定不陌生。在 2001 年正式上线,它成为了很多人的第一款网游,陪伴了一代又一代的玩家成长。没错,今天要架设的就是梦幻西游手游! ......
梦幻西游 梦幻 图文 教程

【区间 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

P4437 [HNOI/AHOI2018] 排列

P4437 [HNOI/AHOI2018] 排列 Solution \(a_i \to i\) 连边,出现环则无解,否则因为 \(1 \sim n\) 每个点入度为 \(1\),一定会构成森林。 安排点 \(1 \sim n\) 的选取顺序,使得父节点总是比子节点先选。记点 \(i\) 的选取时间为 ......
P4437 4437 2018 HNOI AHOI

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

[SHOI2009] 会场预约 题解

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

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

P4425 HNOI/AHOI2018 转盘

Day 21。 容易发现最优解里一定存在一种方案,为「一开始停留一段时间,然后一直往下一个取」的形式。通过调整容易证明。 断环成链,直接列出式子: \[\text{ans}=\min\limits_{n\le i<2n}\max\limits_{i-n< j\le i}a_j-j+i \]令 \(t ......
转盘 P4425 4425 2018 HNOI

11_诺曼 约定的梦幻岛

这是一篇原发布于2020-01-02 18:15:00得益小站的文章,备份在此处。 awsl,?爱的诺曼 https://www.bilibili.com/bangumi/play/ep259766 第9集,7:12处 在攒技术文章,今天先这样水一下。 ......
梦幻 11

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