首页 > TAG信息列表 > Noi2014
P2375 [NOI2014] 动物园
定义字符串的前 \(i\) 个字符组成的字符串中一最大子串 \(T\) 即使前缀也是后缀,且 \(|T|\leq i/2\) ,则定义 \(num[i]=|T|\) ,求 \(num[i]+1\) 之积 \(mod\) 1000000007。 \(|S|\leq 10^6\) 。 熊猫:“对于字符串S的前i个字符构成的子串,既是它的后缀又是它的前缀的字符串中(它本身除[NOI2014] 动物园 (kmp)
题面 浅讲一下思路 1、最开始呢,并没有意识到问题的严重性。认为num与nxt是一样的,再加上一个不重叠的条件即可。然后就发现样例都过不去,还觉得自己可对了。再次读题发现num是字符串的数量,于是又加上了nxt inline void get_nxt(const string s){ int j=0;nxt[0]=num[0]=0;P2114 [NOI2014] 起床困难综合症
https://www.luogu.com.cn/problem/P2114 位运算的题都考虑从高到低。那么可以确定最高位。那么就看看转移到最高位需不需要这一位为 1,然后将这一位置 1,继续下一位。 \(f[i][j],g[i][j]\) 分别表示到第 i 个操作,第 j 位能否为 1,以及能否不为 1。 \(pre[i][j]\) 表示这一位为 1 需NOI2014购票
题意: 给出根节点为 \(1\) 的一颗树,\(d_i\) 表示 \(1\) 到 \(i\) 的距离, 每个点 \(i\) 可以跳到距离 \(\leq l_i\) 的点 \(j\) 上,花费是 \((d_i - d_j) \times p_i + q_i\),求每个点到根节点的最小花费。 dp 方程转移: \[f_i = \min \{f_j + (d_i - d_j) \times p_i + q_i\} \]斜率3737. 【NOI2014模拟7.11】挖宝藏(treasure)
Description “挖矿小子”是一个经典的益智小游戏。玩家需要指挥矿工下地挖掘宝藏,每次矿工可以挖开其左边、右边或下方的格子,不可以挖上方的格子。矿工往下挖矿后就再也不能上来。获得所有宝藏后游戏结束。 这个游戏太简单了,在 \(3 \mathrm{D}\) 版 2048 出现之前若干年,就有人开发3736. 【NOI2014模拟7.11】数学题(math)
Description 给定两个向量 \(\mathbf{a}=\left(x_{1}, y_{1}\right), \mathbf{b}=\left(x_{2}, y_{2}\right)\) 。求出一对整数 \(\lambda_{1}, \lambda_{2}\), 使得 \(\left|\lambda_{1} \mathbf{a}+\lambda_{2} \mathbf{b}\right|\) 最小 \((|\mathrm{v}|\) 表示向量 \(NOI2014 起床困难综合症
NOI2014 起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。 作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。 通过研究相关文献,他找到了该病的发病原因: 在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握P2375 [NOI2014] 动物园
【题意】 求一个字符串的num数组,表示1-i的即使前缀也是后缀且不重叠的串的个数 【分析】 考虑不断跳nxt数组,如nxt[i],nxt[nxt[i]].... 直到跳到长度小于i的一半的时候开始计数那么就得到了num数组 可是这样做的最坏时间复杂度仍然是$O(n^2)$,继续考虑优化,即减少重复递归 现在正常计P2354 [NOI2014] 随机数生成器
前半段模拟。 后面贪心:从小到大依次选。判断能不能选: 每行维护 \(L,R\)。 红色位置不能走。然后暴力。 卡空间,以下 \(70pts\)。 #include<bits/stdc++.h> using namespace std; const int maxn=5001*5001; long long x0,a,b,c,d,n,m,q,u,v; struct l{ int x;int t,val; bool opBZOJ3668: [Noi2014]起床困难综合症(贪心 二进制)
Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2708 Solved: 1576[Submit][Status][Discuss] Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相[NOI2014] 购票
这题怎么大家都做过了/kk 感谢 Fz 的题解! 首先这题有一个 DP 式子, \[f_i = d_i \times p_i + q_i +\min(-d_j\times p_i+f_j) \]明显是斜率优化的形式。 但对于 \(u\) 有贡献的只有离他较近的若干个祖先。 这里就有几个做法; 点分 树剖,u 到某个祖先可以剖为 若干条重链的前缀 + 一P2387 [NOI2014] 魔法森林
【题意】 一张无向图,每个边有两种边权,求1-n的路径中,经过两种边权最大值的和最小是多少 【分析】 这道题很巧妙地模仿了生成树的思想,先按照一个边权b排序,然后依次加入,这样能保证每一次的bi的最大值是不用计算的,就是当前加的bi值 只要维护ai最大值最小即可,所以我们利用LC不断加边,当x[NOI2014]购票(斜率优化dp+CDQ分治+点分治)
题目:洛谷P2305、LOJ#2249 题目描述: 给定一棵\(n\)个点的树,根为\(1\),树上每条边的长度已知,从每个点\(x\)到根的方法为:选择一个祖先\(a\),到达它需要消耗的代价为\(dis_{x,a} \cdot p_{x} + q_{x}\),然后依次往上,直到到达根,其中\(dis_{x,y}\)表示的是树上两点\(x,y\)之间的距离,\(p,q\)[NOI2014]随机数生成器 题解
原题网址: bzoj P3671 洛谷 P2354 附原题: 时间限制 内存限制 1.00s ~ 5.00s 250.00MB 题目描述 小 H 最近在研究随机算法。随机算法往往需要通过调用随机数生成函数(例如 Pascal 中的 random 和 C/C++中的 rand)来获得随机性。事实上,随机数生成函数也并不是真正的“随机”,「题解」「NOI2014」起床困难综合症
目录 题目 题解 代码 题目 传送门 题解 一道思路十分巧妙的题。 这道题与二进制有关,那么我们从分析二进制入手。 不难发现,二进制运算的每一位都是相互独立的,他们的运算不会影响到其他的数位。 那么我们可以分开运算每一位,把 \(0\) 与 \(1\) 带入到运算当中,而结果将会有不同[NOI2014]购票
题目 读懂题目之后能写出一个dp方程,\(dp_i=dp_j+(d_i-d_j)p_i+q_i(d_i-d_j\leq lim_i)\),其中\(d_i\)是根路径前缀和 不难发现这个东西长得像斜率优化,需要建个凸壳来搞一搞;不难想到一个树剖+线段树维护的无脑做法,是\(O(n\log^3n)\)的,看起来和暴力差不多; 考虑有脑做法————有根树[NOI2014] 魔法森林 - Link Cut Tree
[NOI2014] 魔法森林 Description 给定一张图,每条边 \(i\) 的权为 \((a_i,b_i)\), 求一条 \(1 \sim n\) 路径,最小化 \(\max_{i\in P}{a_i} + \max_{i\in P}{b_i}\) Solution 如果我们限定最大的 \(b_i\) ,那么路径一定在以 \(a_i\) 为权的最小生成树上。 Proof. 考虑反证,假设这条路径[NOI2014]魔法森林[最短路 spfa]
[NOI2014]魔法森林 一条边有\(a_i,b_i\)两个权值 求\(1->n\)路径上\(a\)的最大值与\(b\)的最大值之和的最小 ==有lct的做法 但是spfa动态加点的做法也很巧妙! 先将其按\(a\)从小到大排序 然后依次加入边 对于ans的每次更新 当ans第一次更新时说明在加入这条边后才存在\(1->n\)的路【NOI2014】魔法森林
Description 给定一张无向图,边有a,b两种边权,求一条1~n的路径,使得路径上a最大值与b最大值之和尽可能小 Solution LCT维护生成树 将边按照a从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有联通,那么直接在LCT上连边即可 如果当前这条边的两个端点已经连通,那么在LCT上找「NOI2014」魔法森林
题目链接 题目分析 实则毫无思路…… 由于权值是两维的,首先尝试正常操作排序一维。然后问题就变成了求另外一维的最小。不难想到另外一维是一个最小生成树。每次的答案就是\(1\)到\(n\)路径上的两个最大加起来(不一定是枚举的一维加上另一维的最大)。 然后考虑如何维护。动态加边的最[NOI2014] 随机数生成器
传送门:>Here< 给出一个\(n*m\)的矩阵,其中元素为\(1\)~\(n*m\)互不相同。要从左上角走到右下角,只能向右向下走。怎样走才能使沿路经过的所有元素排序后字典序最小?(\(n,m \leq 5000\)) 解题思路 一类字典序最小问题的贪心。显然第一个应该取1,取了1之后就对剩下能取的元素产生了约束—P2375 [NOI2014]动物园
秘籍之kmp阅读理解---2 这题的题面好像比上一题好理解一点点??但原谅我样例可能理解了半年。。。(其实后来发现luogu讨论里有对于样例的提问和解释,但是很开心的是,我并没有看到。。/微笑/) 这里对于一样不理解样例的人说一句,这里的num数组并不是存储最长的子串长度,而是满足条件的子串个[NOI2014]动物园(KMP,字符串)
半年前看这题还感觉很神仙,做不动(没看题解)。 现在过来看发现……这tm就是一个sb题…… 首先题面已经提示我们用 KMP 了。那 KMP 究竟能干啥呢? 看 $num$ 的定义。发现对于前缀 $i$,$nxt[nxt[\dots nxt[i]]]$ 这个长度的前缀和后缀是相等的。 那么令 $cnt[i]=cnt[nxt[i]]+1$(其中 $cnt[0[NOI2014]动物园
题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。 某天,园长给动物们讲解KMP算法。 园长:“对于一个字符串S,它的长度为L。我们可以在O(L)P2114 [NOI2014]起床困难综合症
题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因: 在深邃的太平洋海底中,出现了一条名为drd的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡