09 2014 档案
摘要:概要:这货很强大啊。isap和dinic都算很快的算法,目前貌似卡不了?spfa在费用流中找增广路。上下界的网络流可以用分离必要弧来做。应用:解决许多多约束最优化的问题。技巧及注意:网络流在于建模,但是首先得有个基础。上下界网络流:整体思想就是分离下界,将原边连成上界-下界,终点的界和+=这个下界,...
阅读全文
摘要:概要:状态、转移;最优子结构、无后效性。技巧及注意:dp就是纯经验+智商题在dp方程写出来后,一定要考虑边界!不要以为转移对了就行了!滚动数组的话一定要考虑好顺序!下标有时候可以灵活使用!比如mod意义下的dp,倍数什么、可到达性等题目都可以这样做。如果是线性序列的max{f[k]},k_<):最长...
阅读全文
摘要:概要:这货就考智商和胆量。技巧及注意:当需要找线性序列的最优方案时,我们可以考虑排序,但是排序的首要条件是:在考虑其中两个相邻的元素时,它们互相交换对其它无影响,且交换或不交换的情况能得到更优的解。例题:【BZOJ】1629: [Usaco2007 Demo]Cow Acrobats(贪心+排序)【...
阅读全文
摘要:概要:c++的stl是个神奇的东西,需要好好学习。技巧及注意:lower_bound是第一个大于等于要查找值upper_bound是第一个大于要查找的值stl中的容器中的比较几乎全都用"的含义实现小根堆。lower_bound也可以重载<,实现找到最后一个大于等于要查找值(二分的lis就是这么实现的...
阅读全文
摘要:概要:所谓大力出奇迹。技巧及注意:技巧太多。。否则为嘛出暴力题给你。。在一次cf比赛中Codeforces Round #266 (Div. 2),A、B题都是暴力QAQ,表示我是蒟蒻。。然后赛后膜拜了tourist的大腿,原来是暴力。总结起来就是,在只有2种互相约束(或许更多?)的答案时,我们可以...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3398以下牡牛为a,牝牛为b。学完排列计数后试着来写这题,“至少”一词可以给我们提示,我们可以枚举a为x头(x>1),然后算出对应的排列累计起来。对于x头a,首先我们先缩掉必要的k头牛(x-1)*k,然...
阅读全文
摘要:概要:平衡树大概是最常用的高级数据结构了,而treap用来进行一般的信息维护,splay用来进行高级的信息维护(比如区间操作、lct等)(map、set党自重QAQ)。技巧及注意:细节十分多。在对打tag的数据结构中,要操作的点的祖先一定要把tag都要下放完才行!这点非常重要!treap中如果设小根...
阅读全文
摘要:概要:就是用来维护区间信息,然后各种秀智商游戏。技巧及注意:一定要注意标记的下放的顺序及影响!考虑是否有叠加或相互影响的可能!和平衡树相同,在操作每一个节点时,必须保证祖先的tag已经完全下放。size值的活用:主席树就是这样来的。支持区间加减,例题和模板:主席树01(就是更新和不更新等这种对立操作...
阅读全文
摘要:概要:对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或单调队列。技巧及注意:技巧很多,只要能将问题转化为单调性问题,就好解决了。当维护固定长度的单调区间,我们考虑用单调队列,如【BZOJ】3314: [Usaco2013 Nov]Crowded Cows(...
阅读全文
摘要:概要:判重的时候可以用手写hash,也可以用stl中的map,手写hash的好处是快,解决冲突的方案较好,map慢。但是手写hash要求的空间高,而且有时处理得不好的话会wa。注意及技巧:注意的是,hash的函数一定要写好,但是写好又爆空间。一般采用元素个数作为基数然后乘上递增的这个基数的幂作为权重...
阅读全文
摘要:概要:可以用匈牙利或者网络流(听说Dinic是O(sqrt(V)*E),isap我不知道,大概一样吧。)应用:最大匹配、最小点覆盖、最大独立集、最小路径覆盖、二分图完美匹配等。技巧及注意:匈牙利是O(nm)的,比网络流慢。KM比网络流慢。(还是写网络流吧。。。)一些知识:二分图在X集和Y集元素不同时...
阅读全文
摘要:复杂度:O(n*α(n)) 其中α(x),对于x=宇宙中原子数之和,α(x)不大于4 。(对于nocow里的复杂度我也是醉了)概要:并查集就是一个数组和一行话。应用:图的连通、集合操作、生成树的合并等技巧及注意:并查集是个好东西。维护区间+前缀和:对于一些连续的区间,我们要判断这些区间是否合法,带修...
阅读全文
摘要:概要:最短路是个神奇的东西,通过三角不等式,我们可以拓展出很多最短路的延伸。而求最短路的算法一般我用三种,dijkstra、spfa、floyd,第一个用于点少边多的,第一个用于点多边少的,第三个是多源最短路。应用:差分约束系统、一般约束条件、最短路等。技巧及注意:差分约束:根据三角不等式d(v)0...
阅读全文
摘要:算法:最小生成树的算法有:Prim(O(nlgn)),Kruskal(O(nlg**n)),Prim在某些场合很好用,某些场合必须用。。。Kruskal的话最快。。技巧及应用:当看到要求连通一个图的最小代价,显然最小生成树,例如【BZOJ】1601: [Usaco2008 Oct]灌水(kruska...
阅读全文
摘要:概要:在一些递推式中,我们发现好像不能在优化了(例如斐波那契数列普通递推是O(n)的),但是这个特殊的递推式我们可以用矩阵来实现O(logn)(忽略了矩阵自身计算的O(n^3))。而矩阵乘法运算是a[i, k]*b[k, j]=c[i, j],从这个式子可看出朴素是n^3的(当然那些神算法我不会),...
阅读全文
摘要:概要:在dfs中,如果答案的深度很小但是却很宽,而且bfs还不一定好做的情况下,我们就综合bfs的优点,结合dfs的思想,进行有限制的dfs。在这里A*、IDA*和迭代深搜都是对dfs的优化,因此放到一块小结。A*的概念主意在于估计函数,f(n)=g(n)+h(n),f(n)是估计函数,g(n)是n...
阅读全文
摘要:概要:我们在初始状态要到达终止状态可以沿着同深度的向下搜索,这样范围覆盖更广,在解的深度较小的时候十分适用。技巧及注意:所有状态在转移后如果要打标记一定要在进队列前打!不要在出队列才打!否则就是tle的后果!bfs很多技巧啊,我来一一列举吧:注意:存bfs状态时一定要尽量小化状态,只存有效的信息来进...
阅读全文
摘要:复杂度:查找O(n),维护O(n),空间O(sum(len[i]))概要:就是每个节点对应一个字母,然后儿子有26个,查找和维护时进入对应儿子即可。应用:在字符串匹配中多模匹配做基础结构;可以对多个字符串维护信息。技巧及注意:只要注意儿子节点该开多大即可。比如中秋节模拟赛之冷月葬花魂(被虐瞎)中的t...
阅读全文
摘要:技巧及注意:细节方面十分重要,你要想啊,敢出模拟题一定有出模拟题的原因~出题人一定会放很多坑给你,所以在码之前一定要先有大概的思路框架,然后在写代码中思考比如说这题:【BZOJ】3300: [USACO2011 Feb]Best Parenthesis(模拟)一开始我没注意边界问题,所以一直爆wa。...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3282复习了下lct,发现两个问题。。1:一开始我以为splay那里直接全部rot(x)就好了,然后改了好几题lct的题,都过了且速度和原版一样。。然后怀疑了下。。。。。。后来请教神犇,他说这样不行。。...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2018精度问题我也是醉了。。#include #include #include #include #include #include #include using namespace std;#def...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3297这题拖了很久呢。。。很久以前写了个dfs,,但是tle了。。。。。然后一直想dp想不出来,写出来了又wa了。。然后看到一英文题解,暂时就只会这样了。。其实dp方程很简单。。。。。。f[i]=min...
阅读全文
摘要:最近bzoj挂了几天了,颓得慌。。。想想很多基础的算法什么的都没有写过(我会说我没写过一次快排吗。。。。。。。这些基础的这几天我要完成它们QAQ不然跪了就不爽。。注意在赋值一个数的时候一定要先清空!!!!!高精模板。。我调了2天啊。。。终于调出来了,不长。80行左右吧。。很多细节的。(我用a[0]作...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1656神bfs!我们知道,我们要绕这个联通的树林一圈。那么,我们想,怎么才能让我们的bfs绕一个圈做bfs呢我们可以这样:从联通的任意边界点引一条交边界的射线。为什么呢?因为这样当我们的bfs到这条射线...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3433想了好久啊。。。。。。。想不出dp啊。。。。。。sad后来看到一英文题解。。。。。。。。。。sad。末端点排序。。。然后对于两个录像机有有两种情况RECODER1(当前录制节目的区间):-----...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2102直接枚举所有情况。。。。。。然后判断是否可行。。#include #include #include #include #include #include #include using names...
阅读全文
摘要:c被fst了。。。。。。。。。。。。。。。。然后掉到600+.。。。然后。。。估计得绿名了。。sadA.I Wanna Be the Guy题意:让你判断1~n个数哪个数没有出现。。sb题。。。开个数组即可。。#include #include #include #include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1687bfs后然后逆向找图即可。因为题目保证最短路唯一#include #include #include #include #include #include #include using names...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3397显然先tarjan缩点,然后从枚举每一个scc,然后向其它岛屿连费用最小的边,然后算最小的即可#include #include #include #include #include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3396裸的最大流跑过。。#include #include #include #include #include #include #include using namespace std;#defin...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3412维护前缀和,然后直接二分即可。。。#include #include #include #include #include #include #include using namespace st...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3432题目说要相互可达,但是只需要从某个点做bfs然后判断其它点是否可达即可。原因太简单了。。。。。因为它是abs所以我们二分D,然后判断即可#include #include #include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3296显然,每群能交流的群是个强联通块然后求出scc的数量,答案就是scc-1#include #include #include #include #include #include #include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3538题意不要理解错QAQ,是说当前边(u,v)且u到n的最短距离中包含这条边,那么这条边就不警告。那么我们反向spfa两次,然后再正向spfa就行了#include #include #include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3300这个细节太多QAQ只要将所有的括号'('匹配到下一个')'然后dfs即可简单吧,,,#include #include #include #include #include #include #i...
阅读全文
摘要:QAQAQAQAQD题sb题没写出来(大雾)QAQAQAQ差点掉ratingQAQc题我能再wa多次吗,就打错个max的转移啊!QAQA.George and Accommodation题意:给你a和b,问你a是否小于等于b-2这。。。#include #include #include #incl...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3299映射一下传送门即可。。#include #include #include #include #include #include #include using namespace std;#def...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3016之前yy了一个贪心,,,但是错了,,就是枚举前后对应的字符(前面第i个和后面第i个)然后相同答案就+1,否则不操作。。QAQ然后看了题解。。。神。。首先序列肯定是偶数个,然后。。一定有n/2个‘(...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3389显然左端点排序后,依次取。要考虑下一次取的方案:待选点为a[j].x#include #include #include #include #include #include using name...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3390。。#include #include #include #include #include #include #include using namespace std;#define rep(i...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3410太神了。。。。按末端点排序然后贪心取即可。QAQ#include #include #include #include #include #include #include using names...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3391显然判断每个点只需要判断子树是否小于等于n/2即可那么我们虚拟一个根,然后计算每个子树的size,而这个点的子树的size和n-这个点的size就是我们需要找的#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3479这个还用说吗。。。。#include #include #include #include #include #include #include using namespace std;#defi...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3401还能更裸一些吗。。维护一个递减的单调栈#include #include #include #include #include #include #include using namespace ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3314一眼就是维护一个距离为d的单调递减队列。。。第一次写。。。。。看了下别人的代码。。。这一题只需要维护距离为d的最大,然后判断最大的是否大于等于自己高度*2#include #include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2019spfa裸题。。。。。将飞机场的费用变成负,然后spfa找正环就行了#include #include #include #include #include #include #include u...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3668这题很简单。。。。。。。。。。。。。。枚举每一位然后累计即可。。QAQ,第一次以为能1A,但是wa了。。噗,对拍才发现,自己有个地方打残了。。还是得对拍啊。。#include #include #...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1632我简直是个sb。。。。。。bfs都不会写。。算方案还用2个bfs!都不会整合到一个!然后赤裸裸的wa了。然后对拍。。。噗果然错的地方很。。。。。然后貌似自己想改bfs,只需一个就行了。。而且方案也...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2016这些最大最小显然是二分。但是二分细节挺多的。。。这里注意二分的区间,可以累计所有的可能,然后这就是二分区间的右界。。(我是sb)然后二分的时候,判断那里一定要仔细啊。。还有这题要开longlong...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3315果然自己太弱。想不出dp方程啊。。其实,以后记住。。。与上一个状态或下一个状态有关,,可以开一维或多维。。(这题暴力n^3都能a。。。。。。。。。。。。。。。。。f(i, j)表示i个由j转移过来...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2014这应该是显然的贪心吧,先排序,然后按花费取#include #include #include #include #include #include #include using namespac...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2021噗,自己太弱想不到。原来是2次背包。由于只要有一个大于k的高度的,而且这个必须放在最顶,那么我们就可以枚举每一个比k大的放在最顶,其它的都放在下边即可。还有,注意这是完全背包!#include #...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1661暴力大法好。。。枚举对角线(注意,一种对角线2种情况就行了,自己想。。。)然后可以算出其它两个点,然后就暴力。。#include #include #include #include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2017这题太神了,我想了一个中午啊原来是看错题一直没理解题解说的,一直以为题解是错的QAQ“开始玩游戏时,第一个玩家可以从堆顶拿走一枚或两枚硬币”果然还是太弱我们发现,每一个阶段都由上一个玩家决定的,即...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2100这题我要吐血啊我交了不下10次tle。。噗果然是写挫了。一开始没加spfa优化果断t然后看了题解加了(加错了T_T)还是tle。。我就怀疑数据了。。。噗原来我有个地方打错了。。这个spfa的队列优...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2101这个dp真是神思想orz设状态f[i, j]表示i~j先手所拿最大值,注意,是先手所以转移自然而然的变成f[i, j]=sum[i, j]-min(f[i+1, j], f[i, j-1])这个转...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3404写挫好几次。。。。裸的博弈论即可。。#include #include #include #include #include #include #include using namespace s...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3404裸的双端队列。。#include #include #include #include #include #include #include using namespace std;#define...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3402又是spfa水题。。#include #include #include #include #include #include #include using namespace std;#defi...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3400既然是倍数我们转换成mod。。设状态f[i][j]表示前i头牛modj的方案那么答案显然是f[n][0]其实这样就和背包差不多了,对于每个数但是转移比较难理解?(自己好好想吧。。)f[i][a%p...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3399贪心就是将两组排序,然后直接模拟即可。。如果我们用a去匹配一个绝对值和它差不多的值,那么去匹配的那个位置显然要和它这个位置匹配,同样的高度差。。。自己理解吧。。#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3392同1674#include #include #include #include #include #include #include using namespace std;#define re...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2020和背包差不多同样滚动数组f[j]表示当前位置j份食物的最小价值f[j]=min(f[j-l]+l*c) 1#include #include #include #include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2015这种水题真没啥好说的。。#include #include #include #include #include #include #include using namespace std;#de...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1680看不懂英文。。题意是有n天,第i天生产的费用是c[i],要生产y[i]个产品,可以用当天的也可以用以前的(多生产的)。每单位产品保存一天的费用是s。求最小费用显然贪心,每次查找之前有没有哪一天保存...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1665这题只要注意到“所有的落脚点至少相距300”就可以大胆的暴力了。对于每个点,我们枚举比他的x轴小1000内和大1000内的点连边,然后直接暴力出奇迹。#include #include #incl...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1654请不要被这句话误导。。“如果两只成功跳圆舞的奶牛有绳索相连,那她们可以同属一个组合.”这句话没啥用。。#include #include #include #include #include #i...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1675一开始我写了个枚举7个点。。。。。。。但是貌似。。。写挫了。然后我就写dfs。。判重好难写啊。。。。。本来用hash的。。但是对拍一直wa。。所以干脆用set。。然后将数值调大。。然后就过了。。然...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1681太裸了。。#include #include #include #include #include #include #include using namespace std;#define re...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1676太水的一题了。。差分直接搞。#include #include #include #include #include #include #include using namespace std;#...
阅读全文
摘要:为了锻炼自己的思维能力,我要刷cf的div2a和bQAQ(前一个flag都还没有开始QAQ
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1685由于每个小的都能整除大的,那么我们在取完大的以后(不超过c)后,再取一个最小的数来补充,可以证明这是最优的。#include #include #include #include #include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1670裸打了凸包。。#include #include #include #include #include #include #include using namespace std;#define ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1693裸匈牙利。。#include #include #include #include #include #include #include using namespace std;#define r...
阅读全文
摘要:http://codeforces.com/contest/466噗,b没写出来啊。a写完后过了40分钟了啊,罚时4次啊!果然太弱总结:a题看错题,没有考虑m>=n其实也是可行的,导致调了40min。。。b题不会。。。。。。(暴力是硬伤。。),c题一开始交了tle。。。。。。然后改了下才过。。rp好...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1630题意,给你n种数,数量为m个,求所有的数组成的集合选长度l~r的个数后两者待会写。。裸dp其实应该会tle的额,但是数据弱?d[i][j]表示前i种j长度的数量d[i][j]=sum{d[i-1]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1696原题要求min(sum{|x-xi|+|y-yi|}),且一定要看题:“没有两头牛的吃草位置是相邻的”。。。。。。。。。噗,,我就说我怎么能造出反例。。原来我没看题。。其实sum和min都可以拆开...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1604这题太神了。。。简直就是 神思想+神做法+神stl。。被stl整的我想cry。。。首先,,erase的时候如果没有这个元素。。。。。。那么。。。。。(TAT)否则你就要先find(重载 (X+Y)...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1645这题的方法很奇妙啊。。。一开始我打了一个“离散”后的线段树。。。。。。。。。。。。。果然爆了。。(因为压根没离散)这题我们可以画图知道,每2个点都有一个区间,而这个区间的高度是一样的,因此,我们只...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1647自己太弱。。。看题解。。竟然是枚举第一行的放法,,,因为一定要全部变0,所以将前一行1的在这一行翻转掉就好了。。。因为是一定要翻掉前一行,所以正确性显然。。。。。。。。。。。。T_T表示智商不够#...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1662这道题折腾了我两天啊~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!果然还是太弱!!!!!!!!!!一直想不通啊。。数位dp太神了。。orz看题解各种不会啊。。。(神犇们的题解...
阅读全文
摘要:刷了那么多银组,发现自己好多不会啊...果然太弱在这感谢hzwer神犇的blog。。大部分题解都从黄学长这里来orz。orz。。。。果然我太水
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1655背包就没什么好说的了,裸的完全背包。。但是我一开始交开了ull都wa了T_T。。精度太大。。。。。打高精度吧。。#include #include #include #include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1674想法很简单。。。将每一种看做一个点,如果i可以换成j,那么连边到j。。费用都为1.。然后拥有过的物品就是最短路+1.。#include #include #include #include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1673bzoj翻译过来的c#include #include #include #include #include #include using namespace std;#define rep(i,...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1671从骑士bfs一次,然后从人bfs一次即可。#include #include #include #include #include #include #include using namespac...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1689一开始我也想到了贪心,,,策略是如果两个连续的水池的距离小于l的话,那么就将他们链接起来,,,然后全部操作完后直接在每个大联通块上除以长度然后取木板就行了。。但是不知道哪里错了T_T正解:放木板尽...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1684这货完全在考精度啊。。比如奇葩(llf)a/b*i(llf)(a/b*i)和(llf)(a/b)*i和(llf)(a/b)*(llf)i这两货竟然不通????上边的能对,下边的就错了??噗。全部都...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1664和之前的那题一样啊。。只不过权值变为了1.。同样用线段树维护区间,然后在区间范围内dp。upd:(其实权值为1的可以直接贪心。。。。右端点来就行了。。。#include #include #inc...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1644这和原来一题用dp来做的bfs很像啊orz。。我们设f[i][j][k]代表i,j这个点之前的方向过来的拐弯数那么f[fx][fy][i]=min(f[x][y][j]+1) 当i!=jf[fx]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1652dp。。我们按间隔的时间分状态k,分别为1~n天那么每对间隔为k的i和j。而我们假设i或者j在间隔时间内最后取。那么在这个间隔时间内最后取的时间就是n-k+1(这个自己想。。也就是说,之前在n-(...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1672dp很好想,但是是n^2的。。但是可以水过。。(5s啊。。)按左端点排序后f[i]表示取第i个的最小费用f[i]=min(f[j])+w[i] 当j的结束时间>=i的开始时间-1答案就是所有的i满...
阅读全文
摘要:http://codeforces.com/contest/465rating+7,,简直。。。感人肺腑。。。。。。。。。。。。。。。蒟蒻就是蒟蒻。。。。。。。。。被虐瞎a:inc ARG题意:将串反过来后+1问有多少个位变化。。。。我是模拟的。。#include #include #include...
阅读全文
摘要:https://vijos.org/tests/5404825e48c5fcd4578b457a果然蒟蒻还是蒟蒻。。搜索不会,dp不会,模拟不会T_TT__T_T_T_TT_T_T_T_T_T_T什么节奏啊这是。t1:小岛的标号模拟+bfs。。用map被tle了1个点啊!坑啊,,rp低啊。。90分滚...
阅读全文
摘要:http://www.luogu.org/contest/show?tid=23表示被普及的虐瞎了T_T_T_T_T_T_T_TT_T_T_T_T_T_T_T_T33名100多分滚粗各种贪心神题,各种神题。。t1:口算练习题手残判断位时少判了了0.。。80分滚粗#include #include #...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1697置换群T_T_T_T_T_T_T很久以前在黑书和白书都看过,,,但是看不懂。。。然后找了本书,,pdf:《组合数学算法与分析1》。。。还算好,,看懂了。。看来数学是硬伤。。我需要一本《组合数学》!...
阅读全文
摘要:全是usaco水题。。。。贪心(这个要放在首位,思想太重要):【BZOJ】3016: [Usaco2012 Nov]Clumsy Cows(贪心)【BZOJ】3389: [Usaco2004 Dec]Cleaning Shifts安排值班(贪心)【BZOJ】3410: [Usaco2009 Dec]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1650看到数据和最小最大时一眼就是二分。。。但是仔细想想好像判断时不能贪心?然后看题解还真是贪心。。囧。原来是之前我脑残了。。。。贪心很简单排序后。当前点到之前的点的距离#include #includ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1635差分序列是个好东西啊。。。。很多地方都用了啊,,,线性的进行区间操作orz有题可知h[a+1]~a[b-1]都是比h[a]和h[b]小,那么最佳方案就是将次区间的所有高度-1,那么我们就将整个区间...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1649又是题解。。。设f[i][j]表示费用i长度j得到的最大乐趣f[i][end[a]]=max{f[i-cost[a][begin[a]]+w[a]} 当f[i-cost[a][begin[a]]可...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1633一开始也想到了状态f[i]表示i以后的字符串最少删的数然后想到的转移是f[i]=min{f[i+1]+1, f[i+len[a]]}但是没想到。。。。后边其实不是完全匹配到整个单词,,而是可以删的...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1638一条边(u, v)经过的数量=度0到u的数量×v到n的数量两次记忆化dfs算出他们即可#include #include #include #include #include #include #...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1691懒得打平衡树了。。。。而且multiset是很快的。。。排到了rank1 T_T贪心就是,先按价值(或美味度)从大到小排序,然后枚举每头牛,将所有美味度(价值)的食物大于当前牛的美味度(价值)的价...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1653看了题解才会的。。T_T我们直接枚举每一种情况(这里用next_permutation,全排列)然后判断是否符合情况(累加判断)#include #include #include #includ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1643这题和完全背包十分相似,但是不能用1维做。。。。。。。。原因貌似是不能确定块数(还是有0的面积?)?我们设f[i][j]表示i块木板面积为j时的方案数很容易得出f[i][j]=sum{f[i-1]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1615这种题。。。。。#include #include #include #include #include #include #include using namespace std;#define...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1688很水的状压。。提交了很多次优化的,但是还是100msT_T#include #include #include #include #include #include #include using ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1692http://www.lydsy.com/JudgeOnline/problem.php?id=1640很显然,我们取两边时,要取向右(左)拓展得到最小的(相同的情况下),如果不相同,显然取越小的...
阅读全文
摘要:虽然说有将近50+是usaco,然后还有很多水题T_T看来我还是刷水题。。。。看来我还是那么弱。T_T但是好歹也要留个纪念。。
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1619首先不得不说,,题目没看懂。。。。原来就是找一个下降的联通块。。。。排序后dfs标记即可。。#include #include #include #include #include #includ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1637很神思想。。前缀和应用到了极点。。。我们可以发现当数量一定时,这个区间最前边的牛的前边一个牛的前缀和等于这个区间最后边的牛的前缀和。。(将0的牛变成-1,然后维护前缀和)然后扫过去就行了。。。or...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1682最小生成树裸题。。#include #include #include #include #include #include #include using namespace std;#defin...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1641这种水题无意义。。。#include #include #include #include #include #include #include using namespace std;#defi...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1648水题。。dfs记录能到达的就行了。。#include #include #include #include #include #include #include using namespace s...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1668裸dp。。f[i][j]表示i行j列最大能拿到f[i][j]=max(f[i+1][j-1], f[i-1][j-1], f[i][j-1])+a[i][j] 当f[i+1][j-1], f[i-...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1639同tyvj1359,http://www.cnblogs.com/iwtwiioi/p/3942145.html#include #include #include #include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1620一开始想不通啊。。其实很简单。。。每个时间都有个完成时间,那么我们就从最大的 完成时间的开始往前推每一次更新最早开始时间(min(ans, a[i].y)代表i事件最早的完成时间)#include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1651很奇妙。。我们发现,每一时刻的重叠数选最大的就是答案。。。。orz那么我们可以线段树维护每个点的次数。。。然后就ok了。。第二种做法:用前缀和来维护即可。。。线段树:#include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1628http://www.lydsy.com/JudgeOnline/problem.php?id=1683又是重复的题。。。。单调栈维护递减,然后相同的话矩形-1#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1624一开始我打算一个个最短路。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。然后没想到。。。。。floyd。。。吐血。。很简单,裸floyd即可。#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1622这题我搜的题解是dp,我也觉得是dp,但是好像比模拟慢啊!!!!1400ms不科学!设f[i][j]为名字i位置的j字母最早出现的位置(向后)则f[i][j]=f[i+1][j]f[i][a[i+...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1634贪心。。我们发现,两个相邻的牛(a和b)哪个先走对其它的牛无影响,但是可以通过 a的破坏花×b的时间 和 b的破坏花×a的时间 可以判断哪个先走。那么可以应用到所有牛上。。#include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1690第一题不是水题的题。。分数规划。。T-T百度吧。。http://blog.csdn.net/hhaile/article/details/8883652也就是解最大的分数。。【定义】01分数规划问...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1660单调栈裸题。。累计比每一个点高的个数即可。#include #include #include #include #include #include #include using namespac...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1642果然没能仔细思考是不行的。。以后要静下心来好好想,不要认为不可做。。。。。看了题解。。。首先按开始时间排序,然后f[i]表示前i个最多能够挤得的奶,那么有f[i]=w[i],初始化f[i]=max...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1629这题我想了很久都没想出来啊。。。其实任意两头相邻的牛交换顺序对其它牛是没有影响的。。那么我们考虑哪个在前。。(假设现在是待交换的是 a和b,a#include #include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1627裸bfs不解释。。#include #include #include #include #include #include #include using namespace std;#defin...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1646这一题开始想到的是dfs啊,,但是本机测样例都已经re了。。。那么考虑bfs。。。很巧妙?首先我们得确定一个上下界。当到达距离max(n, k)+1时也不能再走了(准确说不会比之前的优,比如说,你...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1677完全背包很容易想到,将1,2,4...等作为物品容量即可。然后这题还有一个递推式f[i]==f[i-1], 当i%2==1f[i]==f[i-1]+f[i/2], 当i%2==0当i为奇数时,我们...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1657这一题一开始我想到了nlog^2n的做法。。。显然可做,但是麻烦。(就是二分+rmq)然后我仔细的想了想,恩,对,单调栈可以完成。。。他们有传递性的。。然后你懂的。。#include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1631看到m#include #include #include #include #include #include using namespace std;#define rep(i, n) for...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1636(我是不会说我看不懂题的)裸的rmq。。#include #include #include #include #include #include using namespace std;#def...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1679水题没啥好说的。。自己用笔画画就懂了将点排序,然后每一次的点到后边点的声音距离和==(n-i)*(a[i+1]-a[i])+之前同样操作所得的的sum然后答案就是累加后×2#include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1621这题用笔推一下就懂了的。。。。当2|(n-k)时,才能分,否则不能分。那么dfs即可。。#include #include #include #include #include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1626依旧是水题。。太水了。。#include #include #include #include #include #include using namespace std;#define rep(...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1669水题太严重#include #include #include #include #include #include using namespace std;#define rep(i, n) f...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1666这种我就不说了。。#include #include #include #include #include #include using namespace std;#define rep(i, ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1699我是用树状数组做的。。rmq的st的话我就不敲了。。#include #include #include #include #include #include using namespace st...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1625太水了。#include #include #include #include #include #include using namespace std;#define rep(i, n) fo...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1617裸dp,很好做。设f[i]表示i头牛到对岸所需最小时间。sum[i]表示运i头牛到对岸的时间(包括自己)则f[i]=min(f[j]+sum[i-j]+m) 0#include #include ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1618裸的01背包,注意背包的容量不是v即可。#include #include #include #include #include #include using namespace std;#def...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1616我觉得bfs是可过的,但是交bfs上去是wa?然后没办法看dp,原来这bfs能和dp联系在一起。。很简单f[i][x][y]表示i秒到(x, y)的方案数,那么累计四周的方案数即可#include...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1613水题dp设d[i][j]为i分钟疲劳为jd[i][j]=d[i-1][j-1]+a[i]d[i][0]=max(d[i-1][0], d[i-j][j])#include #include #in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1612赢+输==n-1 则一定确定dfs和floyd都行(dfs我不确定,因为我没提交,权限还没开啊囧。。。可能要过两天了。。)dfs:#include #include #include #inclu...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1611一眼题,bfs。#include #include #include #include #include #include using namespace std;#define rep(i, n...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1610两种做法,一种计算几何,一种解析几何,但是计算几何的复杂度远远搞出解析集合(虽然精度最高)计算几何:枚举每条线(变成向量),然后判断是否有其它线和他平行(叉积为0,但是要注意,初始化ans为1,因...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1609首先我不得不说,我被这题坑了。题目前边没有说可以不需要3种牛都有啊!!!!!!!!然后我一直在想题解不是错的吗,,,T_T那么既然不是,那么就很裸的dp了。两种做法,一种lis的nlog做法,一种...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1607其实题目描述不清楚,应该是 别人拿的数能整除自己拿的数数据范围很大,n#include #include #include #include #include using namespace st...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1606越来越水了T_T这题两种做法,一个正规01背包,价值就是体积还有一种是非正规背包,即if(f[j-v[i]]) f[j]=1然后从大向小扫出第一个f[i]==1的,i就是答案越来越水了啊。。#in...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1603这种水题。。。dfs没话说。。#include #include #include #include #include #include using namespace std;#define r...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1602一开始以为直接暴力最短路,但是n#include #include #include #include #include #include using namespace std;#define ...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1601很水的题,但是一开始我看成最短路了T_T果断错。我们想,要求连通,对,连通!连通的价值最小!当然是生成树!最小生成树!边的还好做,但是这题有点,怎么办呢?因为点在图中也起到连通作用,我们加个附加源...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1600说好的今天开始刷水。。本题一开始我以为是排列组合,但是自己弱想不出来,只想到了如果四边有一条边大于或等于第三边,那么这个四边形构造不出来。即a>=b+c+d时,不存在四边形那么存在的情况就是a#i...
阅读全文