首页 > TAG信息列表 > NOI2015

[NOI2015] 品酒大会 题解

[NOI2015] 品酒大会 题解 link 题目大意 给定一个长度为 \(n\) 的字符串 \(s\) ,和第 \(i\) 个位置的权值 \(a_i\) 对于每一个 \(r\in [0,n)\) ,求满足 \(\text{lcp}(i,j)\ge r\) 的 \((i,j)\) 的对数 以及所有的 \((i,j)\) 中, \(a_i\times a_j\) 的最大值 \(n\le 3\times 10^5\) 题

P1955 [NOI2015] 程序自动分析

Luogu P1955 [NOI2015] 程序自动分析 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设 \(x_1,x_2,x_3,\cdots\) 代表程序中出现的变量,给定 \(n\) 个形如 \(x_i=x_j\) 或 \(x_i\neq x_j\) 的变量相等/不等的约

【题解】P2150 [NOI2015] 寿司晚宴

题意 P2150 [NOI2015] 寿司晚宴 对于 \(2\) 到 \(n\) 共 \(n - 1\) 个自然数,考虑从中选取一些数并将其分成两部分,使得从两部分中各取任意一个数 \(x, y\) 都满足 \(x, y\) 互质。求选数并分数的方案总数,结果对给定常数 \(p\) 取模。 对于 \(30\%\) 的数据,\(2 \leq n \leq 30\) 对

luogu P2304 [NOI2015] 小园丁与老司机

题面传送门 非常码农的二合一题。 首先第一问看上去非常simple。因为只能往左,往右,和往上走(包括左上,上,右上),往上走显然是没有后效性的。而往左和往右因为每一层最多1000个,所以直接枚举从上一层跑过来的地方转移即可,时间复杂度\(O(1000n)\) 然后第二问只要按照我们dp的过程输出即可

P1955 [NOI2015] 程序自动分析

开学了,初二预备小中考,事真多;这不期中刚过就来做题了?唉,这都是借口,其实就是管不住自己,唉~,其实,其实可以抽出很多的时间来编程的。 这道题如果数据量不大的话是可以轻松用并查集解决的。1得话合并;0的话判断是否在同一集合,如果在同一集合则直接NO。 但数据量达怎么办?离散化,我发现很多题

2022.3.2#NOI2015 荷马史诗

2022-03-02 对于哈夫曼树和哈夫曼编码已经有所认识,此题相当于使用多叉树的哈夫曼编码方式。对于k叉树,我们可以不用树形结构而用队列来做,会更方便,哈夫曼编码又需要选择最小的k个值来结合,故我们使用优先队列,在头文件queue中,名为 priority_queue 这个STL的使用方法: 默认从大到小:prior

【题解】[NOI2015] 寿司晚宴

链接 能学好多东西 题意描述: 两个人各从正整数 2 ~ n(<=500) 中取一些数,可以不取;若取出的两个集合中,任意属于不同集合的的两个元素都互质,则方案合法;求合法方案数 首先注意到一个方案合法的等价条件是:两个人的质数集合没有交集 可以想到 \(f[s1][s2]\) 表示两个人的质数集合为 s1

【洛谷P2150】[NOI2015] 寿司晚宴

前言 【题目传送门】 本题之前在 \(lyn\) 大佬讲课的时候讲过,但当时没怎么听懂,只记得是分解质因数然后状压。 题解 设计 DP 从状压入手。 首先考虑朴素 DP。 一开始我想到设计一维 \(dp_{stat}\) 表示一个人拿的数字的质因子集合,从此可以推出另一个人可以选择的物品。但是这样转移

P2168 [NOI2015] 荷马史诗

用哈夫曼树的思想,每次取出k小,合成。注意要加些0使得最后成为满k叉树 const int N=1e5+79; lxl n,k; struct node{ lxl w,d; bool operator <(const node &x)const { if(w!=x.w) return w>x.w;else return d>x.d;} }; std::priority_queue<node> q; int main() { read(n);re

P1955 [NOI2015] 程序自动分析(并查集+离散化)

数据太大,因此肯定要离散化。 考虑把e1的判断先全部放在前面,然后再考虑e0的部分。这么做的正确性是显然的,假设问题成立,则顺序无影响,假设问题不成里,矛盾也不会因为顺序改变而消失。 其实也可以按照原顺序考虑。只不过需要加入一个vis数组,标记每一个值是否被加入过判断条件。 写法如

BZOJ4195: [Noi2015]程序自动分析(并查集)

题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时

P1955 [NOI2015] 程序自动分析 (并查集 + 离散化)

程序自动分析 题目传送门 解题思路 先排序 把所有e=1的操作放在前面 然后再进行e=0的操作 在进行e=1的操作的时候 我们只要把它约束的两个变量放在同一个集合里面即可 在e=0,即存在一条不相等的约束条件, 于它约束的两个变量 如果在一个集合里面 那就不可能满足 如不相等的约

[NOI2015]品酒大会

题目 传送门 给定一个字符串 \(S\),求 \(S\) 中 \(\forall i\in[0,n)\) 求有多少对后缀满足 \(\text{Len}(lcp)\ge i\),以及满足条件的两个后缀的权值乘积的最大值. 题解 首先将问题转化为求 \(\text{Len}(lcp)=i\) 的有多少,然后对于第一个询问求后缀和,对于第二个询问求后缀最大. 对

题解 P2168 【[NOI2015]荷马史诗】(huffman编码)

------------恢复内容开始------------ 问题转化 \(Huffman\)编码 \(Huffman\)编码即通过统计字符串中不同字符所出现的次数作为叶节点构造一棵\(Huffman\)树。把这个\(Huffman\)树看成一棵\(Trie\),在\(k\)叉\(Huffman\)中不同分支对应着不同的\(k\)进制数,从根节点开始遍历路径,其

数据结构做题计划

还有很多数据结构不会...学会后再加入计划 在CSP2020前做完就行了qwq,当然越早越好 并查集 (4 / 10) 洛谷P1955 [NOI2015]程序自动分析(神奇的取模离散化) 洛谷P1197 [JSOI2008]星球大战 洛谷P1196 [NOI2002]银河英雄传说 洛谷P2024 [NOI2001]食物链 树状数组(3 / 15) 洛谷P3605 [USA

题解 [NOI2015]程序自动分析

据说考前写题解可以$\text{RP}$++? -------------------------------------------------------- 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设$\text{x1}$,$\text{x2}$,$\text{x3}$...代表程序中出现的变

[NOI2015]软件包管理器 —— 树链剖分

题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-ge

[NOI2015]寿司晚宴

题面 https://www.luogu.org/problemnew/show/P2150 题解 这道题没什么高深的知识点, 但仍然是一道极好的题. 先从部分分开始分析. 30分做法 $ n\leq30$ 可以想到一个裸的状压DP, 记录 Dp至第几位<阶段> 小G选数集合 小W选数集合<对之后状态的影响> 但是这样会有\(30*2^{60}\)

洛谷$P2150\ [NOI2015]$寿司晚宴 $dp$

正解:$dp$ 解题报告: 传送门$QwQ$. 遇事不决写$dp$($bushi$.讲道理这题一看就感觉除了$dp$也没啥很好的算法能做了,于是考虑$dp$呗 先看部分分?$30pts$发现质因数个数贼少就考虑状压$dp$就完事鸭. 然后现在$100pts$,发现质因数个数太多就$GG$了. 但是这时候考虑显然每个数最多有一

题解 P2168 【[NOI2015]荷马史诗】

题目链接 Solution [NOI2015]荷马史诗 题目大意:构造\(k\)叉哈夫曼树 分析:这题比较模板,可以当做复习初赛(大雾) 哈夫曼树的定义: 构造一棵有\(n\)个节点的\(k\)叉树,每个节点带有权\(w_i\),深度\(d_i\)(规定根深度为\(0\)),使得\(\sum w_i \times d_i\)最小 当\(k=2\)时即为合

[NOI2015] 软件包管理器 题解

题目描述: Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fed

【NOI2015】品酒大会【后缀数组】【并查集】

传送门 传送门 题意:给一个长度为NNN的字符串和一个长度为NNN的序列AAA,对于所有的k∈[0,N−1]k \in [0,N-1]k∈[0,N−1],求选出两个数i,ji,ji,j满足lcp(suffix(i),suffix(j))=klcp(suffix(i),suffix(j))=klcp(suffix(i),suffix(j))=k的方案数和Ai×AjA_i \times A_jAi​×Aj​

P2146 [NOI2015]软件包管理器

题目大意:1、求1条链点权为1的个数,并将路径上所有点权赋0,2、求节点u子树中点权为0的个数,并把子树点权赋1。 思路:一道裸模板,有个小技巧,我们可以在跳链时边跳边把权值赋0,这样既不会影响答案,还能少些几个函数,而这题我调了2个多小时,在一番对拍下,我终于发现,我树链剖分的模板打错了!!!(怪不得

P1955 [NOI2015]程序自动分析 离散化

   题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件

P1955 [NOI2015]程序自动分析[离散化+并查集]

题目来源:洛谷 题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有