首页 > TAG信息列表 > NOI2009
[NOI2009] 二叉查找树 题解
[NOI2009] 二叉查找树 题解 题解: 通过题目中,对树的描述:按照权值从小到大顺序插入结点所得到的按照数据值排序的二叉查找树,可以想到这是一棵 treap。改变权值相当于 treap 的左旋右旋,通过旋转会使结点的深度发生改变,从而影响最终的答案。 根据 treap 的性质,因为数据值不变,那么树的[NOI2009] 诗人小G [题解]
诗人小G 题目大意 给出 \(n\) 个长度不超过 \(30\) 的句子,要求你对其进行排版。 对于每一行,有一个规定的行标准长度 \(L\) ,每一行的不协调度等于该行的实际长度与行标准长度差的绝对值的 \(P\) 次方,而每一个排版的不协调度为所有行不协调度的总和。 每一行可以放入若干个句子,相邻P1963 [NOI2009] 变换序列
题意: 洛谷 给你 \(n\) 个数 \(0,1,...n-1\), 定义 \(D(x,y) = min(|x-y|,n-|x-y|)\) ,让你求一个序列 \(T\), 满足 \(D(i,T_i) = d\) ,且 \(T_i\in \{0,1,2,...n-1\}\) , \(T_i\) 中的数不能重复。 让你求一个字典序最小的满足条件的序列 \(T\) 。 solution 我们对于 \(i\) 号点向P2805 [NOI2009]植物大战僵尸 · 网络流最大权闭合子图+ 拓扑排序
题解 直接看大佬的题解吧 · 题解 P2805 【[NOI2009]植物大战僵尸】 最大权 = 正点权和 - 最小割 #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; const int INF = 0x3f3f3f3f; bool vis[N]; int n, m, k; int score[N]; int id(int x,int y){[NOI2009]诗人小G
题目描述 小 G 是一个出色的诗人,经常作诗自娱自乐。但是,他一直被一件事情所困扰,那就是诗的排版问题。 一首诗包含了若干个句子,对于一些连续的短句,可以将它们用空格隔开并放在一行中,注意一行中可以放的句子数目是没有限制的。小 G 给每首诗定义了一个行标准长度(行的长度为一行中符P2805 [NOI2009]植物大战僵尸 (拓扑排序 + 最小割)
题意:N*M的矩阵 每个点上都有一颗植物 僵尸只能从每一行的最右边向左进攻 每个植物有攻击范围 可以保护在攻击范围内的植物 同时每一颗植物也保护他左边的植物 摧毁每个植物能获得价值 如果这个植物被保护着就无法摧毁 求最大收益 题解:看了题解说 一个物品被若干物品保luogu P1758 [NOI2009]管道取珠
luogu 这个题中的平方有点东西,考虑他的组合意义,也就是做这个过程两次,如果两次得到的结果一样就给答案+1,所以可以考虑dp,设\(f_{i,j,k,l}\)表示第一个过程中上面取到的第\(i\)个,下面取到第\(j\)个,第二个过程中上面取到的第$ k\(个,下面取到第\)l\(个的答案,转移枚举两个过程洛谷P2805 [NOI2009] 植物大战僵尸
【NOI2009】植物大战僵尸 题面 洛谷 题解 先扯一些无关的,最近怀旧重新玩了玩植物大战僵尸,然后发现打到夜晚池塘的时候矿工僵尸发现很难处理于是回来刷了刷题... 看到洛谷上正好有道植物大战僵尸就写了(看完发现是道最大权闭合子图模型的水题)。 行步入正题。 先说一说什么是闭合子图网络流 - 最大权闭合子图 [NOI2009]植物大战僵尸
算法思想概述 本题是一道最大权闭合子图模型,应用的算法为最大流(BFS增广即可),定理为最大流最小割定理,辅助算法为拓扑排序。 问题初始建模 首先我们我建立图论模型,把每个植物当做一个顶点,植物携带的资源数目为顶点的权值。如果一个植物b在另一个植物a的攻击范围内,连接一条有向边<a,bP2805 [NOI2009]植物大战僵尸 + 最大权闭合子图 X 拓扑排序
传送门:https://www.luogu.org/problemnew/show/P2805 题意 有一个n * m的地图,你可以操纵僵尸从地图的右边向左边走,走的一些地方是有能量值的,有些地方会被一些植物保护起来不能走,只有先吃掉特定植物才能走一些地方。求最大可能拿到的能量值和 思路 最大权闭合子图,由于僵尸只能从一行