04 2015 档案
BZOJ1738 [Usaco2005 mar]Ombrophobic Bovines 发抖的牛
摘要:先预处理出来每个点对之间的最短距离然后二分答案,网络流判断是否可行就好了恩 1 /************************************************************** 2 Problem: 1738 3 User: rausen 4 ...
阅读全文
BZOJ4012 [HNOI2015]开店
摘要:首先这个叫"动态点分治",不过瞎YY也能YY出来【比如我。。。就是记录下点分治的过程和每个点的答案信息,于是查询的时候只要沿着分治好的根一路走下去就行了,于是单次查询的外层复杂度是$O(log n)$的对于每个点,要记录以从整棵树到它的分治路径和以它为根的子树内权值小于v的点到它的距离和(就是关于权...
阅读全文
BZOJ1737 [Usaco2005 jan]Naptime 午睡时间
摘要:断环然后裸DP就好了。。。$f[i][j][k]$表示1号时间段没有被算入答案,到了第$i$个时间段,一共选了$j$个时间段,$k = 0 /1$表示第i个时间段有没有被算进答案的最优值$g[i][j][k]$表示1号时间段被算入答案,到了第$i$个时间段,一共选了$j$个时间段,$k = 0 /1...
阅读全文
BZOJ3564 [SHOI2014]信号增幅仪
摘要:先把椭圆长轴转到x轴上,然后把x轴按照比例缩回去,于是就变成了最小圆覆盖问题,上板子。。。就行 1 /************************************************************** 2 Problem: 3564 3 User: r...
阅读全文
BZOJ3553 [Shoi2014]三叉神经树
摘要:容易想到树链剖分来维护一条链上维护儿子中是1的个数为1的点的最长值和儿子是1的个数为2的点的最长值于是每次修改的时候就二分查询会更新到哪里,再直接链修改就好了单次查询复杂度$O(logn^2)$,单次修改复杂度为$O(logn)$注意如果动态开点太多会导致MLE,最后解决办法是在每个线段树节点上增加...
阅读全文
BZOJ1736 [Usaco2005 jan]The Wedding Juicer 婚宴的榨汁机
摘要:从外面一点一点往里面拓展(floodfill),每次找出最小的一个点,计算它对答案的贡献就好了。。。找最小的点的话,直接pq就行 1 /************************************************************** 2 Problem: 1736...
阅读全文
BZOJ1722 [Usaco2006 Mar] Milk Team Select 产奶比赛
摘要:直接树形dp就好了恩令$f[i][j][t]$表示以$i$为根的子树,选出来的点存在$j$对父子关系,$t$表示$i$这个点选或者没选,的最大产奶值分类讨论自己和儿子分别有没有选,然后转移一下就好了。。。恩,详情看代码好了 1 /***********************************...
阅读全文
BZOJ1727 [Usaco2006 Open]The Milk Queue 挤奶队列
摘要:贪心。。。我怎么不会QAQ【捂脸熊】对于1、2两头牛,如果1号牛要排在2号牛前面才能时间更少,则$$max(A_1 + B_1 + B_2, \ A_1 + A_2 + B_2) \le max(A_2 + B_2 + B_1, \ A_2 + A_1 + B_1) \\ \Leftrightarr...
阅读全文
BZOJ3571 [Hnoi2014]画框
摘要:我们可以把$(\sum A, \sum B)$看做平面上的点,那么就是要找到下凸壳上与$y = -x + b$这个直线系上某条支线刚好相切的切点现在可以知道下凸壳上最左边的点$X$和最下面的点$Y$于是我们可以先找到与直线$XY$距离最远的点$Z$,然后查看答案点是在$XZ$、$YZ$中的哪一段,递...
阅读全文
BZOJ1593 [Usaco2008 Feb]Hotel 旅馆
摘要:裸上线段树,就是记的东西有点多。。。每个点记区间左端最长0,右端最长0,中间最长0,和tag表示是否全为0/1直接更新就好,查询的时候先查左儿子,然后查中间,最后查右儿子。。。 1 /*********************************************************...
阅读全文
BZOJ1595 [Usaco2008 Jan]人工湖
摘要:直接模拟。。。从最低的开始向两边拓展= = 1 /************************************************************** 2 Problem: 1595 3 User: rausen 4 Language: C++ 5 ...
阅读全文
BZOJ3933 [CQOI2015]多项式
摘要:$\sum_{k = 0} ^ {n} a_kx^k = \sum_{k = 0} ^ {n} b_k(x - t)^k \Leftrightarrow \sum_{k = 0} ^ {n} a_k(x + t)^k = \sum_{k = 0} ^ {n} b_kx^k$把式子左边用二项式定理展开...
阅读全文
BZOJ3932 [CQOI2015]任务查询系统
摘要:主席树裸上就好了。。。不过写了一会儿。。。因为姿势比较厉(gui)害(chu) 1 /************************************************************** 2 Problem: 3932 3 User: rausen 4...
阅读全文
BZOJ1590 [Usaco2008 Dec]Secret Message 秘密信息
摘要:建立一颗trie树,记录下来每个点以它为结尾的字符串的个数cnt,和它的子树内有多少字符串size于是查询的时候就只需要把沿途的cnt加起来,再加上最后的size就好了 1 /**************************************************************...
阅读全文
BZOJ1579 [Usaco2009 Feb]Revamping Trails 道路升级
摘要:各种神作不解释QAQQQ先是写了个作死的spfa本机过了交上去T了。。。然后不想写Dijkstra各种自暴自弃。。。最后改了一下步骤加了个SLF过了。。。首先一个trivial的想法是$dis[p][t]$表示到了$p$号节点,用了$t$次变0技能,然后可以用$dis[q][t] + e[q][p]...
阅读全文
BZOJ3996 [TJOI2015]线性代数
摘要:就是求$D = A \times B \times A^T - C \times A^T$展开也就是$$D = \sum_{i, j} A_i * A_j * B_{i, j} - \sum_{i} C_i * A_i$$其中$Ai = 0 \ or \ 1$转化成最小割模型,就是一堆东西,选了$i...
阅读全文
BZOJ4010 [HNOI2015]菜肴制作
摘要:首先是贪心的思想。。。我们从小到大确定每个最前的位置建出反图,然后拓扑排序,每次找$deg=0$的点中最大的那个,于是就可以保证编号小的尽可能的在后面最后把顺序倒过来输出就好了。。。 1 /******************************************************...
阅读全文
BZOJ3993 [SDOI2015]星际战争
摘要:二分答案。。。然后最大流验证是否可行。。。没了,好水啊QAQ 1 /************************************************************** 2 Problem: 3993 3 User: rausen 4 Lang...
阅读全文
BZOJ3992 [SDOI2015]序列统计
摘要:首先对于m,求出它的原根g,则$$\prod_{i = 1} ^ {n} x_i = g^{\sum_{i = 1} ^ {n} ind[x_i]}$$于是就变成加法的问题了,搞出母函数$f(x)$,于是变成$f(x)^{|n|}$的第m项是多少。。。又注意到要模一个数。。。就只能NTT了QAQ ...
阅读全文
BZOJ3991 [SDOI2015]寻宝游戏
摘要:易知,答案就是各个关键点之间形成的树的边权和的两倍,哦。。就是虚树对于一颗虚树,答案就是各个的dfs序排序,相邻两点的距离和,再加上最后一个到第一个的距离直接用set维护dfs序就好了注意最后要剪掉所有关键点的LCA的深度 1 /**********************************...
阅读全文
BZOJ4007 [JLOI2015]战争调度
摘要:根本想不出来。。。原来还是暴力出奇迹啊QAQ无限ymymym中 1 /************************************************************** 2 Problem: 4007 3 User: rausen 4 Languag...
阅读全文
BZOJ4006 [JLOI2015]管道连接
摘要:裸的状压DP令$f_S$表示包含颜色集合S的最小斯坦纳生成森林的值,于是有:$$f_S=\min\{f_S,f_s+f_{S-s}|s\subset S\}$$然后嘛。。。还是裸的斯坦纳树搞搞。。。又是个状压【摔!貌似会TLE的说【额。。。然后PoPoQQQ大爷分析了一番,说,大概1E的复杂度,不会...
阅读全文
BZOJ4004 [JLOI2015]装备购买
摘要:首先按照价格从小到大排序,然后一个个查看能不能加进去。。。裸的拟阵我去QAQ不过理解起来的话,可以这样子想,就是类似高斯消元的步骤。。。只不过消元是有顺序的 1 /************************************************************** 2 ...
阅读全文
BZOJ4003 [JLOI2015]城池攻占
摘要:这题有两种做法来着。。。第一种就是一开始想到的比较不靠谱,不过貌似可以过掉:看从$1$号节点开始到$p$号节点最大需要的体力,记录单调上升的体力,询问的时候二分跳着走就可以了不过精度问题还有可能爆double什么的QAQ于是写了一半果断弃疗。。。结果有人说他过了【摔第二种是正解,对于每个点我们可以先...
阅读全文
BZOJ4002 [JLOI2015]有意义的字符串
摘要:据说这两场加起来只要170= =而这是最简单的题目了QAQ看到$(\frac {b + \sqrt {d} } {2} )^n$,第一反应是共轭根式$(\frac {b - \sqrt {d} } {2} )^n$首先有$(\frac {b + \sqrt {d} } {2} )^n +(\frac...
阅读全文
BZOJ一天提交 51纪念(二)
摘要:今天作死又交了一发呢。。。于是屯题就全用完啦~有一次拷错CE,还有一次本来的程序就是错的的说。。。可是我希望看到我努力的人并不会看到我的努力呢,尽管如此一个人也要坚持走到底哦,就如同这不完美的提交一样呢。但是49 = 72才是最好看的哟!UPD:另、今日夙愿也算是达成了,终于挤到了第一版去
阅读全文
BZOJ3928 [Cerc2014] Outer space invaders
摘要:第一眼,我勒个去。。。然后看到n ≤ 300的时候就2333了首先把时间离散化,则对于一个时间的区间,可以知道中间最大的那个一定要被选出来,然后把区间分成左右两份于是区间DP就好了,注意用左开右开的区间比较方便2333如果暴力找区间内最大值是O(n3)的,当然st表就是O(n2logn)的了。。。不...
阅读全文
BZOJ3994 [Sdoi2015]约数个数和
摘要:orz jcpwfloi= =窝本来写了的说。。。被JCPW大爷D惹。。。那就看他的好了!2333 1 /************************************************************** 2 Problem: 3994 3 User: ra...
阅读全文
BZOJ1576 [Usaco2009 Jan]安全路经Travel
摘要:首先用Dijkstra做出最短路生成树,设dis[p]为1到p点的最短路长度对于一条不在生成树上的边u -> v,不妨设fa为u、v的lca则一fa到v的路径上的任意点x都可以由u达到,走的方式是1 -> fa -> u -> v -> x,dis'[x] = dis[u] + dis(u, v) ...
阅读全文
BZOJ3942 [Usaco2015 Feb]Censoring
摘要:维护一个栈。。。如果栈顶出现了要被删除的字符串就全删掉就好了,判断的话。。。kmp就行了 1 /************************************************************** 2 Problem: 3942 3 User: rausen ...
阅读全文
BZOJ1097 [POI2007]旅游景点atr
摘要:首先预处理出来前K个点互相之间的最短路,直接Dijkstra就好了然后就变成了状压DP。。。随便写一下好了 1 /************************************************************** 2 Problem: 1097 3 U...
阅读全文
BZOJ1962 模型王子
摘要:戳这里 1 /************************************************************** 2 Problem: 1962 3 User: rausen 4 Language: C++ 5 Result: Accepte...
阅读全文
BZOJ1230 [Usaco2008 Nov]lites 开关灯
摘要:区间not,求区间1的个数。。。线段树裸题然而窝并不会线段树我们可以对序列分块,每个块记录0/1的个数和tag表示又没有区间not过就好了 1 /************************************************************** 2 Problem:...
阅读全文
BZOJ1066 [SCOI2007]蜥蜴
摘要:首先。。。这是道(很水的)网络流我们发现"每个时刻不能有两个蜥蜴在同一个柱子上"这个条件是没有用的因为可以让外面的先跳,再让里面的往外跳但是还有柱子高度的限制,于是把柱子拆点为p1和p2,p1向p2连边,边权为柱子高度对于相距(注意!是欧几里得距离!)小于d的两个柱子p和q,q2向p1连边,p2向q...
阅读全文
BZOJ3888 [Usaco2015 Jan]Stampede
摘要:我们只要把每头牛开始遮挡视线和结束遮挡视线的时间点都搞出来就好= =再按照y轴排序。。。然后变成线段覆盖了。。线段树搞一下就好了? 1 /************************************************************** 2 Problem: 3...
阅读全文
BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径
摘要:给你一个无向图,问至少加几条边可以使整个图变成一个双联通分量简单图论练习= =先缩点,ans = (度数为1的点的个数) / 2这不是很好想的么QAQ然后注意位运算的优先级啊魂淡!!!你个sb调了一个下午!!! 1 /*****************************************...
阅读全文
BZOJ1112 [POI2008]砖块Klo
摘要:即求连续k个数的中位数。。。我们维护两个堆,一个大根堆一个小根堆:小根堆维护的是区间前一半大的数,大根堆维护的是区间后一半小的数,且小根堆中的所有数都比大根堆内所有数大这样子中位数就是大根堆的堆顶元素 or 小根堆的堆顶元素 or 他们的平均数(貌似并没有区别QAQ)每次区间移动一位的时候,把其中的...
阅读全文