摘要: 最近一直很忙,为了节省时间,从今以后的题解会一个专题写一篇。刷了一些题后,有了以下总结:模型要点:1.构造流量平衡,在满足流量平衡的情况下,找到要让什么最大。2.一般用于判断性问题,即所有从源点流出的边满流(或者所有流入汇点的边满流)的时候可行.所以往往和二分答案结合起来使用。3.如果答案假设为i+... 阅读全文
posted @ 2015-01-09 22:59 lzw4896s 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个实验要做,做掉奖励相应的钱,但是每个实验需要相应的仪器,每个仪器启动起来要相应的钱,安排使得赚钱最多。首先引入一个闭合图的概念。闭合图就是原图的一个子图,如果一个点u在这个子图内,那么它连出去的所有点v也要在这个子图内。最大权闭合图就是点的权值和最大的闭合图。模型分析:1.很明显这是... 阅读全文
posted @ 2014-12-07 10:06 lzw4896s 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 题目描述:G 公司有n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。如何用最少搬运量可以使n 个仓库的库存数量相同。搬运货物时,只能在相邻的仓库之间搬运。对于给定的n 个环形排列的仓库的库存量,编程计算使n 个仓库的库存数量相同的最少 搬运量。模型分析:1.首先弄清楚题目要求什么,最终... 阅读全文
posted @ 2014-12-06 08:07 lzw4896s 阅读(840) 评论(2) 推荐(4) 编辑
摘要: NOIP2014结束之后,这个博客荒废了有一段时间了,今天重新捡起来。就先从网络流开始吧。题目大意:给尽可能多的飞机配备2名飞行员,1名来自A组,一名来自B组。(给出AB两组之间的配对关系)。模型分析:1.很明显这是一个二分图的最大匹配问题,可以直接用匈牙利算法解决。2.题目的限制条件只有2个:一个... 阅读全文
posted @ 2014-12-06 07:13 lzw4896s 阅读(265) 评论(2) 推荐(0) 编辑
摘要: NOIP2014转眼就结束了,让人不由感慨时间之快,仿佛几天前还是暑假,几天后就已经坐在考场里了。 从暑假8月开始写博客,发了一些解题报告什么的,但这篇文章不再会是“题目大意 & 解题过程 & 总结”的格式了,题目是死的,人是活的,我只想记录一下我的感想。 说说比赛。总体来说比赛的时候状态挺... 阅读全文
posted @ 2014-11-15 12:02 lzw4896s 阅读(369) 评论(3) 推荐(3) 编辑
摘要: 题意就是拓扑排序,要求1的序号尽可能小,然后2的序号尽可能小,3,4...一开始很容易想到直接贪心,每次选一个入度为0的点,如果有多个,就选编号最小的那个,但是很容易找到反例。看了下题解,应该是反着做拓扑排序,每次取编号最大的,但是没有人给出证明。下面给出我的证明,欢迎指出错误。ps:参考了一位大牛... 阅读全文
posted @ 2014-11-08 16:56 lzw4896s 阅读(563) 评论(0) 推荐(3) 编辑
摘要: 第一题:题目大意:数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007. n<=1000000解题过程:1.递推式还真没想出来,就记录每个a[i]的分解质因数的结果,然后转移质因子的个数。可以拿到30分。2.思路:计算a[i]的时... 阅读全文
posted @ 2014-10-31 14:28 lzw4896s 阅读(233) 评论(0) 推荐(1) 编辑
摘要: 第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分。一开始每人都是0分,从Alice开始轮流做任务,她可以选择任意一个任务来做;而Bob只会做难度为1的任务。只要其中有一个人达到n分,即算作那个... 阅读全文
posted @ 2014-10-29 19:23 lzw4896s 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个。解题过程:1.这题是刘汝佳>上的一道经典例题,考察了堆的运用.如果把A,B序列都从小到大排序,那么有:A1<=A2<=A3...<=AnB1<=B2<=B3...<=Bn可以把这N2个... 阅读全文
posted @ 2014-10-29 18:44 lzw4896s 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:给出N个字符串,字符串的前面部分都是字母且都是一样的,后面部分是数字,按照后面的数字排序。N<=10000解题过程:1.第一题是真良心,一开始的做法是把后面的数字分离出来 比较大小,但是出现了傻逼错误样例过不去,就直接换了种方法,先比较长度再比较字典序。 结果就AC了。2.如果按照... 阅读全文
posted @ 2014-10-29 18:09 lzw4896s 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:有mn颗糖,要装进k个盒子里,使得既可以平均分给n个人,也可以平均分给m个人。 求k的最小值。解题过程:1.先看一组小数据(13,21).那么根据贪心的原则很容易想到先拿13个盒子,每个盒子装13颗糖,这样当要分给13个人的时候,每个人还欠8颗糖,当要分给21个人的时候,还有8个人... 阅读全文
posted @ 2014-10-27 21:25 lzw4896s 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:给出N个数的数列,如果相邻的两个数加起来是偶数,那么就可以把这两个数消掉,求最多能消掉多少数。解题过程:1.先自己手工模拟了几组数据,发现不管消除的顺序如何,最终剩下的是一定的。所以就可以每次任意找两个奇偶性相同的消掉。于是就想到可以用双向链表来模拟。2.更好的方法:直接用一个栈来... 阅读全文
posted @ 2014-10-27 20:31 lzw4896s 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:给出N个数的m对关系(a,b)表示a大于b。每个数至少为100,求这些书最小可能的和.解题过程:1.看到这题就想到之前USACO的一道题,那题是N头牛排序,然后给出m对关系(a,b)表示a排在b前面,然后问哪些牛的位置可以确定。只要对每个点2次dfs求出对于每头牛,有多少个比它大的... 阅读全文
posted @ 2014-10-24 21:01 lzw4896s 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小.N,Mn 无解一个点)。2.AC算法(双向链表+堆优化贪心):先贴一段官方题解:借鉴网络流中的残余流思想,用堆来维护解决。映射建大根堆,记录每一个数值在堆中的位置好方... 阅读全文
posted @ 2014-10-23 21:22 lzw4896s 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:N个发射站排成一排,求每个发射站左右第一个比它高的发射站。 N<=1000000解题过程:1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正好派上用场。。。虽然本题2s的时限RMQ+二分应该也不会超时,但是容易写错。而单调栈不仅O(N)的复杂度,写起来也... 阅读全文
posted @ 2014-10-22 19:16 lzw4896s 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 题目大意:(poj 3044)给出城市的正视图,所有的大楼都是矩形,给出正视图每个高度改变时的坐标,问最少有多少大楼。一共N个矩形,N<=50000解题过程:首先可以把问题转化一下:有N块木板要粉刷,每次只能刷矩形,并且矩形要挨着地面,也不能刷到外面,最少刷多少次。题目给出的每块木板的宽度其实是木有... 阅读全文
posted @ 2014-10-22 12:41 lzw4896s 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输。求先取者若必胜,最少需要多少步胜利。(N<=10000)解题过程:1.看到N的范围比较小,先打个素数表,然后dp即可。2.F[i]表示i颗糖,先取的人若必胜,最少要多少步胜利,若必败,最多多少步失败。如果i减去一个质数可以达到一... 阅读全文
posted @ 2014-10-21 20:23 lzw4896s 阅读(344) 评论(2) 推荐(1) 编辑
摘要: 题目大意:给出直线上N个点的位置和颜色(0或1),求最大的区间,使得区间内0的个数大于等于1的个数且0的个数减去1的个数为偶数。解题过程:1.先贴个lsdsjy大牛的线段树的做法:http://www.cnblogs.com/lsdsjy/p/4032614.html2.这题一个非常巧妙的转换是:由... 阅读全文
posted @ 2014-10-20 20:33 lzw4896s 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出直线上N个点的坐标和分数,任意选一个点出发,每次只能跳到另外一个点上并获得相应的分数,且每次跳的方向要相同,本次跳的距离不小于上次跳的距离。 求最大得分。 N<=1000.解题过程:1.借鉴了lsdsjy大牛的O(N^2logN)的方法,二分非常巧妙。http://www.cnblo... 阅读全文
posted @ 2014-10-20 17:44 lzw4896s 阅读(244) 评论(1) 推荐(0) 编辑
摘要: 第一题:题目大意:求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数。N,M<=5000。解题过程:1.看到N,M的范围就明确肯定不会是dp,因为起码要用二维表示状态,就算转移是O(1),也要5000*5000的时间,况且还要高精度,绝对超时。2.于是想到可以根据... 阅读全文
posted @ 2014-10-20 16:15 lzw4896s 阅读(277) 评论(0) 推荐(1) 编辑
摘要: 第一题:题目大意:有一本n个单词的字典,其中每个单词的长度不超过4且大于0。现在给你一篇文章,文章中没有分隔符,只有小写字母。现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成。n≤100000,m≤200000解题过程:1.一开始还以为是Trie树,很开心的打完了Trie 结果发现题... 阅读全文
posted @ 2014-10-20 15:20 lzw4896s 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和。解题过程:1.暂时还没想出来,待AC。第二题:题目大意:给出一些单词,然后建立Trie树,然后求出Trie树的节点个数。解题过程:1.这题学过Trie树的就直接无脑的建树就可以了。。2.另外一种解... 阅读全文
posted @ 2014-10-18 13:27 lzw4896s 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目大意:求出区间 [L,R]里约数最多的数。 L,R Ai-i=x/y --> ans*y-x>=0那么二分ans,设为t,答案就是满足t*y-x >=0的最小的 t。要使不等式恒成立,必须左边的最小值大于等于0,所以用经典的过河卒的dp方法求出这个最小值即可。 阅读全文
posted @ 2014-10-18 12:55 lzw4896s 阅读(143) 评论(2) 推荐(0) 编辑
摘要: 第一题:题目大意:给出一个n位01串,要么不动它,要么把它删掉一个字符,要么插入一个字符(0或1),要么把一个1变成0,.使得有1的位置号的总和是n+1的倍数,或者是0。解题过程:1.直接枚举操作即可,并且先预处理出后i位1的位置和 以及后i位有多少个1,这样每次枚举插入或者删除的时候就不用重新去统... 阅读全文
posted @ 2014-10-14 15:46 lzw4896s 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 第一题:题目描述:一个阅览室每天都要接待大批读者。阅览室开门时间是0,关门时间是T。每位读者的到达时间都不一样,并且想要阅读的刊物不超过5本。每位读者心里对自己想看的刊物都有一个排位,到达之后他会先去找自己最想看的刊物,如果找不到则去找其次想看的刊物。如果找不到任何他想看的刊物,他会开始等待,直到有... 阅读全文
posted @ 2014-10-14 14:21 lzw4896s 阅读(281) 评论(0) 推荐(0) 编辑