noi2014专题

【NOI2014模拟6.20】慎二的随机数列

Description 间桐慎二是间桐家著名的废柴,有一天,他在学校随机了一组随机数列,准备使用他那强大的人工智能求出其最长上升子序列,但是天有不测风云,人有旦夕祸福,柳洞一成路过时把间桐慎二的水杯打翻了…… 现在给你一个长度为n 的整数序列,其中有一些数已经模糊不清了,现在请你任意确定这些整数的值,使得最长上升子序列最长(为何最长呢?因为间桐慎二向来对自己的人品很有信心)。 Input

bzoj3670 Noi2014动物园 - exkmp

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3670 题意:求出一个num数组一一对于字符串S的前i个字符构成的子串T,有字符串既是T的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作num[i]。求对1,000,000,007的取模 题解:不会kmp的我用exkmp做了。。求出的extend[]就是下面

#2. 【NOI2014】起床困难综合症

拆分二进制 #include <cstdio>#include <iostream>#include <algorithm>#include <cstring>using namespace std;#define LL long longLL n,m;int to0[40],to1[40]; // 30char s[30];int main(){// freopen

[UOJ 3]【NOI2014】魔法森林:LCT

点击这里查看原题 将所有路径按a升序排序,用LCT维护路径上最大的b,将边权化为点权,如果加入一条边x,其两端点分别为u,v,那么将u与i+x连边,v与i+x连边。 如果(u,v)路径最大的b值大于当前边的b,那么删去b最大的边。 注意:access操作中必须pushup,因为这个调了好久 /*User:SmallLanguage:C++Problem No.:3*/#inclu

[UOJ 5]【NOI2014】动物园:KMP

点击这里查看原题 cnt[i]表示从i出发,经过cnt[i]次nex[i]到达0。于是做两次KMP,第一次求nex[i]和cnt[i],第二次求i一直nex[i]到达的第一个≤i/2的位置 /*User:SmallLanguage:C++Problem No.:5*/#include<bits/stdc++.h>#define ll long long#define inf ((

「NOI2014」 魔法森林 - 动态树LCT

题目描述 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含个 N N N节点 M M M条边的无向图,节点标号为 1 ⋯ N 1\cdots N 1⋯N,边标号为 1 ⋯ M 1\cdots M 1⋯M。初始时小E同学在号节点 1 1 1,隐士则住在号节点 N N N。小E需要通过这一片魔法森林,才能够拜访到隐士。 魔法森林中居住了一些妖怪。每当有

[BZOJ3669][Noi2014]魔法森林 LCT

这道题有两个权值 我们把所有边按权值a排序 剩下的边都看成点放进一个LCT中 维护每一节点的最大权值点的位置 枚举所有的边 如果u, v连通 则删去最大的边 加入这条边 否则直接加入这条边 当发现1和n连通的时候更新答案 开数组的时候把val 和 MAX开成bool也是醉了orz #include<cstdio> #include<algorithm> #include<cstr

bzoj3670动物园【NOI2014】

Description 近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。 某天,园长给动物们讲解KMP算法。 园长:“对于一个字符串S,它的长度为L。我们可以在O(L)的时间内,求出一个名为next的数组。有谁预习了next数组的含义吗?” 熊猫:“对于字符串S

【NOI2014】bzoj3668 起床困难综合症

Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因:在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间。正是由于 drd 的活动,起床困难综合症愈演愈烈,以惊人的速度在世界上传