
NOI
文章平均质量分 63
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 3671 NOI2014 随机数生成器 贪心+暴力
题目大意:。。。。。有点长自己看吧首先既然是排序后的序列字典序最小,那么一定要选尽量小的数字走然后T是1~m*n的序列 所以不存在重复(一开始我居然把这个条件看漏了)好的这题贪心每次选择没有被标记的最小点,然后把左下方和右上方都标记掉(记得标记重复时break,不然就挂了)注意5000*5000的数组开两个int就是极限了 开多了妥妥MLE 所以T数组记得重复利用暴力跑了3原创 2014-09-01 15:40:11 · 2153 阅读 · 0 评论 -
BZOJ 3669 NOI2014 魔法森林 SPFA
题目大意:给定一个无向图,每条边有两个权值ai和bi,从1走到N,设路径上a权的最大值为A,b权的最大值为B,求A+B的最小值首先这题如果只有一个权值就是水题无误……但是多了个权值之后我们就要好好考虑一下了我们对a排序,枚举a,对于每一次枚举求b权最大值的最小值即可跑M遍SPFA肯定超时无误 网上很多人写了LInk-Cut-Tree维护动态最小生成树 我的LCT没写明白 就去写了S原创 2014-09-01 12:22:23 · 3936 阅读 · 0 评论 -
BZOJ 1499 NOI2005 瑰丽华尔兹 单调队列
题目大意:给定一个m*n的地图,一些点有障碍物,钢琴初始在一个点,每个时间段可以选择向给定的方向移动一段距离,求最长路径长朴素DP的话,我们有T个时间段,每个时间段有m*n个点,n个时间,一定会超时考虑到一个时间段所有的更新操作都是相同的,我们可以考虑单调队列优化设队尾为(x,y),新插入的点为(x',y'),那么当Distance( (x,y) , (x',y') ) 四遍单调队原创 2014-10-14 10:43:39 · 2085 阅读 · 0 评论 -
BZOJ 1867 NOI1999 钉子和小球 动态规划
题目大意:给定一个钉子阵,小球从最上方的钉子释放,求到达最底端某个位置的概率只需要DP就好了 f[i][j]表示小球落在第i行第j个钉子上的概率如果一个点有钉子 f[i+1][j]和f[i+1][j+1]平分这个点的概率如果一个点没有钉子 f[i+2][j+1]得到这个点的全部概率最后输出f[n+1][m+1]即可 注意不能输出回车 否则PE无视这凶残的结构体操作符重载吧0.0原创 2014-10-16 11:06:49 · 2029 阅读 · 0 评论 -
BZOJ 1565 NOI2009 植物大战僵尸 最大权闭合图+拓扑排序
题目大意:给定一个m*n的草坪,每块草坪上的植物有两个属性:1.啃掉这个植物,获得收益x(可正可负)2.保护(r,c)点的植物不被啃掉任何一个点的植物存活时,它左侧的所有植物都无法被攻击求最大收益首先这个保护和被保护的关系就是最大权闭合图的连边关系 然后直接跑就行然后我们就会发现没过样例0.0原因当图出现环时,根据题意,环上的所有点都不能取(想象一个无冷却的食人花前面放原创 2014-09-17 16:45:02 · 2100 阅读 · 0 评论 -
BZOJ 2434 NOI2011 阿狸的打字机 fail树+树状数组
题目大意:初始字串为空,首先给定一系列操作序列,有三种操作:1.在结尾加一个字符2.在结尾删除一个字符3.打印当前字串然后多次询问第x个打印的字串在第y个打印的字串中出现了几次卡了很久……到底还是对AC自动机了解不是很深啊QAQfail树不是很难想 至少在用AC自动机切掉3172之后不是很难想……首先构建AC自动机 注意由于这个字串的特殊构造 我们不必每打印一个字符串再原创 2014-11-26 16:39:36 · 3324 阅读 · 0 评论 -
BZOJ 2877 NOI2012 魔幻棋盘 二维线段树
题目大意:给定一个矩阵,支持两种操作:1.将某个子矩阵中的每个值增加一个数2.询问某个子矩阵中的所有数的GCD 已知所有询问恒过定点(x,y)算了BZOJ没有原题我还是把原题发上来吧- -《论代码长度与注释长度以及题目简单程度的比例失调关系以及日本饮用水资源的解决方案》《10K+代码是怎样炼成的》《GCD与修改标记的正确用法》《出题人我*你吗系列》《原创 2015-01-07 10:09:22 · 4756 阅读 · 9 评论 -
BZOJ 1408 NOI2002 Robot 数论
题目大意:- -我不行了自己看逗比题- - 用了这么大篇幅来讲述什么是φ和μ- -不过不是普通的φ和μ,有些变形- -新定义的φ(1)=0,新定义的μ只计算奇质数,含有2为因子的数都按照μ值为零处理我们首先求出第一问和第二问,即μ值不等于0的部分由于μ的定义,μ值不等于0当且仅当每个质因数的次数都是1次因此我们枚举每个奇质数 计算加上这个奇质数之后φ值之和多出来的部分由原创 2015-01-14 16:44:27 · 1905 阅读 · 0 评论 -
BZOJ 2876 NOI2012 骑行川藏 二分+数学算法
题目大意:给定n段路,每段长度为si,如果在这段路上以vi的速度匀速行驶,那么消耗的体力为ki*(vi-v'i)^2*si,求在不超过体力上限情况下的最大速度我去年买了个表- - 去网上百度了半天一元三次方程的求根公式才发现函数是递增的- - 百度百科写的什么NM破玩应- -好像没讲明白- - MS只要知道拉格朗日乘数法就能差不多搞懂这道题了- -原创 2015-01-03 19:57:42 · 3330 阅读 · 0 评论 -
BZOJ 1563 NOI2009 诗人小G 四边形不等式
题目大意:玩具装箱,然而指数变成了pp(p≤10p\leq10)首先我们需要证明决策单调 由于数死早,还是戳这里吧知道决策单调之后怎么办呢? 由于是1D1D,所以不能分治了每个决策点能决策的区间一定是连续的一段 并且随着决策点的右移 这个区间也在不断右移令g[j]g[j]表示决策点jj能贡献的最左侧的位置 然后我们开一个栈来维护当前存在贡献的贡献点 那么显然stack[i]stack[i]原创 2015-06-18 12:38:56 · 2547 阅读 · 0 评论 -
NOI2015 题解
D1T1 程序自动分析 题目大意:给定10910^9个变量和nn个等于/不等于的关系,判断能否存在一组解满足所有关系并查集傻逼题,NOIP小孩都会做 离散化一下,然后把相等的都用并查集并起来,判断每对不等关系是不是在同一并查集中就行了代码没拷回来,懒得再写一遍了D2T2 软件包管理器 题目大意:给定一棵有根树,每个点有黑白两种颜色,初始都为白色,每次进行以下两种操作: 1.将某个点所在的子树原创 2015-08-10 18:45:58 · 8311 阅读 · 5 评论 -
NOI2015酱油记
这么一想我好像破掉了两个flag。。。 一个是Ag滚粗的flag……(Wc、Ctsc、Apio都是Ag滚粗 另一个是二试被翻的flag……(NOIP,省选,Ctsc,各种二试被艹DAY -1报到日 从长春坐一晚上火车到北京然后坐高铁到杭州。。。 一下车一股热气真爽~ 下了车看到好多人……黄学长居然和我们一趟线? 黄学长:“傻逼题做不出来怎么办” 我:“……” 我:“反正你把该拿到的分原创 2015-08-02 04:07:42 · 9165 阅读 · 7 评论 -
BZOJ 1507 NOI2003 Editor Splay
题目大意:1.将光标移动到某一位置2.在光标后插入一段字符串3.删除光标后的一段字符4.输出光标后的一段字符5.光标--6.光标++和1269很像的一道题,不过弱多了几个问题需要注意:1.插入的字符串中间居然会有回车!!没办法了,只能逐个字符进行读入,一旦读到'\n'或者'\r'就重新读入2.题目描述中说Delete和Get操作后面一定会有足够的字符 纯原创 2014-10-01 21:46:09 · 2220 阅读 · 0 评论 -
BZOJ 2435 NOI2011 道路修建 BFS/DFS
题目大意:给定一棵树(直接给树,不是给图求生成树!),求每条边权值*两边点数之差的和BFS水过即可其实DFS也能过。。。系统栈可能有些不充裕,我们可以利用内嵌汇编手动开大系统栈 详见代码这题读入优化可以优化掉4s左右#include#include#include#include#define stack_size (20001000)#define M 1001001原创 2014-10-10 15:12:57 · 2338 阅读 · 2 评论 -
BZOJ 2006 NOI2010 超级钢琴 划分树+堆
题目大意:给定一个序列,找到k个长度在[l,r]之间的序列,使得和最大暴力O(n^2logn),肯定过不去看到这题的第一眼我OTZ了一下午。。。后来研究了很久别人的题解才弄明白怎么回事。。。蒟蒻果然不能理解大神的思路啊0.0首先维护前缀和,那么以第i个元素结尾的和最大的序列自然就是sum[i]-min{sum[j]}(i-r然后我们维护一个大根堆,每取走一个以i为结尾的元素,加入s原创 2014-09-30 13:12:33 · 2234 阅读 · 0 评论 -
BZOJ 3670 NOI2014 动物园 KMP算法
题意:给定一个长为L的字符串(L求Π(num[i]+1)%1000000007这就是KMP算法的一个变形。。。首先求出next数组,顺便求出cnt数组,代表长度为i的前缀经过几次fix=next[fix]会得到0,然后重新匹配一次,这次注意当fix*2>i的时候令fix=next[fix]即可这题有坑 切忌用num数组代替next此外勿忘开long long这题就水过去了。原创 2014-09-01 12:44:58 · 3111 阅读 · 0 评论 -
BZOJ 3668 NOI2014 起床困难综合症 贪心
题干一堆废话。。题目大意:给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大丰年好大水 AC如土分如铁。。这尼玛根本就是水题好不 枚举选择数字的每一位 分三种情况讨论:1.该位取0时经过n次操作结果取1 这自然是最理想的情况 必须选择02.情况1不满足 该为取1时经过n次操作结果取1 且取1后值不超过m 这样我们也选择13.上两种情况不满原创 2014-09-01 09:25:49 · 4648 阅读 · 1 评论 -
BZOJ 1564 NOI2009 二叉查找树 动态规划
题目大意:给定一棵完全性质的treap,定义代价为每个点的访问频率*深度之和 我们可以花K的代价改变一些点的权值 求最小总代价改变后的权值不能相同 但是由于可以改成任意实数 而且代价与更改的大小无关 所以其实相同与否无所谓了首先键值是不能更改的 而一棵平衡树的中序遍历保证键值递增 故中序遍历一定 我们先按照键值排序得到中序遍历w很大 但是保证不重复 所以我们将w离散化然后就是DP的原创 2014-09-17 21:04:28 · 1983 阅读 · 0 评论 -
BZOJ 1492 货币兑换 Cash 平衡树维护凸包 CDQ分治
题目大意:这题真是为难了我1B。。。做了三天,两种方法都试过了一遍,真是膜拜NOI的神犇们能在一个多小时内干掉这道题首先这题一看就是斜率优化 连递推式都是P=A[i]*X[i]+B[i]*Y[i] 万事俱备 就是AB不单调!斜率不单调其实也好办 反正是凸包 平衡树维护不就简单了简单个熊啊!!!第一天下午开始写,第二天早上还在调,下午才AC,写了足足5原创 2014-08-27 18:46:08 · 4186 阅读 · 3 评论 -
BZOJ 1064 NOI2008 假面舞会 DFS
题目大意:给定n个人,分别戴着k类面具(k>=3,k未知),其中戴着i类面具的人能看见第i%k+1类人的面具,给定一些人互相看到的关系,求k的最大最小值题解见 http://www.cnblogs.com/proverbs/archive/2013/01/17/2865093.htmlDFS求环长度注意当图中不存在环时k的最大值为所有连通图中最长链的长度之和正边权值为+1 负边权值原创 2014-09-12 16:44:32 · 2039 阅读 · 0 评论 -
BZOJ 1502 NOI2005 月下柠檬树 Simpson自适应公式
题目大意:给定一棵由圆台和圆锥构成的柠檬树,月光以α的夹角平行射向地面,求阴影部分面积补充题目大意:看到这题我产生了心理阴影,求阴影部分面积题目不好分析,但其实就是求一堆圆和一堆梯形的面积交样例如图(画的有点烂),将顶点看做半径为0的圆,则图中圆的半径即为给定圆的半径,圆心距为h/tan(α),直线为两圆公切线这题我们采用辛普森自适应公式首先辛普森公式见度受百科 htt原创 2014-09-13 16:31:44 · 2826 阅读 · 0 评论 -
BZOJ 1500 NOI2005 维修数列 Splay
我尽力了。。。从之前的递归版Splay变成非递归,然后各种删除冗余的操作,除了蛋疼的读入优化基本已经精简到底了,连传参都省了-0- 刚交上去是10956MS,差4MS就是BZOJ倒数第一,改完了是9244MS,快了一秒。。。单点测还是死活过不去,等加上读入优化再说吧题目大意:维护一个序列,支持六种操作:1.在某个数后面插入一些数字2.删除从某个数开始的一些数字3.把从某个数开始的一原创 2014-09-18 19:50:39 · 1866 阅读 · 0 评论 -
BZOJ 1493 NOI2007 项链工厂 Splay
题目大意:维护一个环,每个点有一个颜色,提供6种操作:1.将这个环顺时针旋转k2.沿点1所在直径翻转3.将两个珠子互换4.将一段区间染色5.查询这个环上有多少颜色段6.查询一段区间有多少颜色段关于颜色段通用的处理方法是每个区间记录三个值,颜色段数、左端点颜色、右端点颜色,合并时颜色段数相加,如果左区间右端点和右区间左端点颜色相同则减一然后用Splay维护区间即可 不原创 2014-09-20 11:27:43 · 1990 阅读 · 1 评论 -
BZOJ 2875 NOI2012 随机数生成器 矩阵乘法
题目大意:令Xi+1=(a*Xi+c)%m,求Xn%g水题。。。我们令x矩阵为a 0c 1自乘n次,然后计算(aX0+c)%m%g即可此题要写快速乘 不然会挂 我这个沙茶居然把矩阵开成了int 早知道多磕点脑残片了#include#include#include#includeusing namespace std;typedef unsigned long lo原创 2014-09-15 17:52:41 · 1974 阅读 · 0 评论 -
BZOJ 1415 NOI2005 聪聪和可可 期望DP+记忆化搜索 BZOJ200题达成&&NOI2005全AC达成
题目大意:给定一个无向图,聪聪在起点,可可在终点,每个时刻聪聪会沿最短路走向可可两步(如果有多条最短路走编号最小的点),然后可可会等概率向周围走或不动,求平均多少个时刻后聪聪和可可相遇今天早上起床发现194了然后就各种刷……当我发现199的时候我决定把第200题交给05年NOI仅剩的一道题……结果尼玛调了能有一个小时……我居然没看到编号最小这个限制0.0首先我们知道,由于聪聪走两步而可可走原创 2014-11-07 17:50:01 · 3047 阅读 · 1 评论 -
BZOJ 2005 NOI2010 能量采集 数论+容斥原理
题目大意:给定n和m,求Σ(1i和j的限制不同,传统的线性筛法失效了,这里我们考虑容斥原理令f[x]为GCD(i,j)=x的数对(i,j)的个数,这个不是很好求我们令g[x]为存在公因数=x的数对(i,j)的个数(注意不是最大公因数!),显然有g[x]=(n/x)*(m/x)但是这些数对中有一些的最大公因数为2d,3d,4d,我们要把他们减掉于是最终f[x]=(n/x)*(m/原创 2014-10-09 09:18:36 · 3067 阅读 · 0 评论 -
BZOJ 3672 NOI2014 购票 树的分治 NOI2014全AC达成!!!!
警告 本篇文章作者大脑已成一团浆糊,为了保证文章的流畅性,请阅读者将脑子搅成纸浆后方可正常阅读首先题目大意:给定一棵以1为根的有根树,边有边权,每个点有三个参数:p,q,l从该点可以走到它的祖宗节点处,前提是距离d不超过l且花销为pd+q昨天时间不咋多,就没写。。。今天中午吃完饭开始写,结果一直写到五点半,一下午课都没去上,死定了0.0这题如果不是数的话就是斜率优化 但是尼玛原创 2014-09-02 17:38:07 · 6031 阅读 · 0 评论