
BZOJ
文章平均质量分 75
wamach
WA自动机,自动WA
展开
-
4399: 魔法少女LJJ
这个题的题面傻逼原创 2017-08-07 20:47:36 · 545 阅读 · 0 评论 -
2001: [Hnoi2010]City 城市建设
写了我一整天原创 2017-07-31 19:09:19 · 419 阅读 · 0 评论 -
2395: [Balkan 2011]Timeismoney
最小乘积生成树板子题。#include#include#include#include#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define sqr(x) ((x)*原创 2017-08-01 19:36:46 · 189 阅读 · 0 评论 -
4349: 最小树形图
建一个rt,对所有点连一条边,边权为原代价。再读入其他边,跑最小树形图。最后答案再加上每个点的最小入边*(攻打次数-1)原创 2017-08-01 20:25:46 · 268 阅读 · 0 评论 -
3745: [Coci2015]Norma
多画图能使文章变得饱满原创 2017-08-09 16:26:33 · 556 阅读 · 0 评论 -
4484: [Jsoi2015]最小表示
讲一句废话。边x->y能被删掉当且仅当x能走过其他路到y。先进行拓扑排序,然后按拓扑序的逆序加点,这样可以保证每次加进去的点都没有入度。记当前枚到的点为x。然后对x能到的所有点按到出度为0的点的最长路排序,从大到小枚举,记为y。用bitset维护一个点能到达哪些点。如果y到的点x都已经能到了,那就把x->y删掉。原创 2017-07-27 14:47:21 · 503 阅读 · 0 评论 -
2800: [Poi2012]Leveling Ground
坑原创 2017-08-04 11:03:42 · 332 阅读 · 0 评论 -
3241: [Noi2013]书法家
从洛谷的分类可以看出这是道dp题。记fn[i]为N的R[k]≤I时N的最大贡献,fo[i][j]为O的u≤i,u+W-1≥j时O的最大贡献,fi[i]为I的P[1]>=i时I的最大贡献。求出上述三者后可以O(m^2)求得答案。另外地,记Sj[i][j]为第j列前i个的和,对于fo[i][j]:原创 2017-09-03 19:23:48 · 311 阅读 · 0 评论 -
1057: [ZJOI2007]棋盘制作
单(shan)调(tiao)栈(jian)原创 2017-08-19 23:16:10 · 232 阅读 · 0 评论 -
3700: 发展城市
这题需要大量的lca,预处理是可以,但是会写死,因此采用rmq。先学会如何求两个路径[a,b],[c,d]的交。只要分别求c,d到[a,b]距离最近的点[u,v],然后判u,v是否在[c,d]上即可。下面以用c求u为例。rif lca(r,c)!=r then uelse if lca(a,c)!=r then uelse u然后检验。ru∈[c,d]当且仅当u原创 2017-11-06 20:29:41 · 282 阅读 · 0 评论 -
1150: [CTSC2007]数据备份Backup
上面的插入、删除操作均需用堆维护。想不通,把堆写错了。。。#include#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define sqr(x) ((x)*(x))#d原创 2017-08-04 09:05:55 · 251 阅读 · 0 评论 -
4567: [Scoi2016]背单词
逆序插入字典树,dfs时每次先搜单词数最少的子树、假的。原创 2017-07-31 10:41:52 · 288 阅读 · 0 评论 -
2141: 排队
这道题我以前貌似写过,然而写的是分块+树状数组。呸。线段树。(讲道理当时我只会线段树)显然这题可以等效为求一段区间内比自己大的数的个数。对分出每个块建一个树状数组,然后零散的点直接扫一遍,块内的点用树状数组统计。这个算法实在是太低了。这里介绍一个O(n*sqrt(n))的做法。分块。先按下标分块,在每个块内统计每个值出现的次数,并按权值分块,统计块内数的个数。然后对按下标分的块原创 2017-07-15 19:19:52 · 213 阅读 · 0 评论 -
2301: [HAOI2011]Problem b
花了一个晚上学莫比乌斯,觉得自己的脑子被烧坏了。特别感谢连击哥的谆谆教诲,否则我这么蒟蒻根本学不下去。接下来简单介绍一下算法。#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;-原创 2017-01-15 23:42:23 · 308 阅读 · 0 评论 -
2820:YY的GCD
感谢Scarlet提供的权限号,否则这题我根本没法交。这里存一下自己的代码、、、#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define ll long long#def原创 2017-01-17 18:13:43 · 274 阅读 · 0 评论 -
2038: [2009国家集训队]小Z的袜子(hose)
听说这个算法叫莫队。若一个区间[l,r]所有颜色的袜子总数cnt[i]已预处理好,我们可以直接求出答案:∑(cnt[i]-1)*cnt[i]/((r-l+1)*(r-l))经观察,我们知道区间[l-1,r]、[l+1,r]、[l,r-1]、[l,r+1]均可O(1)求得。考虑分块,将所有坐标分成sqrt(n)个区间,然后对询问离线后进行排序,第一关键字为左端点所在区间编号,第二关键字为原创 2017-02-18 17:38:28 · 238 阅读 · 0 评论 -
4407: 于神之怒加强版
不多讲了,详见数论函数杂讲ppt。算法一:分块套分块。写完才发现复杂度O(nT)是过不了的。但还是放个代码。#pragma GCC optimize("O2")#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k)原创 2017-01-20 09:52:00 · 253 阅读 · 0 评论 -
2693: jzptab
吐血!!!其实理论上我本能A掉这题,但由于中途少算了个x^2,又烧了好几个小时,最后还是在连击哥的帮助下、看了答案才查出错来。表示已经失去自己解决问题的能力了。。。讲道理以前考虑过报数竞,但由于怕算错,果断报了信竞,现在这些数学题让我情何以堪?不管怎样,还是感谢Xrzl的耐心教导。恶心的代码:#pragma GCC optimize("O3")#include#incl原创 2017-01-20 19:56:55 · 307 阅读 · 0 评论 -
1901: Zju2112 Dynamic Rankings
最近多了很多A不掉的板子。#include#include#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define ll long long#define db doub原创 2017-02-11 12:43:09 · 236 阅读 · 0 评论 -
1999: [Noip2007]Core树网的核
a我还没写。原创 2017-06-13 20:40:39 · 290 阅读 · 0 评论 -
1058: [ZJOI2007]报表统计
一点都不爽,整天不知道在干什么,效率奇低无比。原创 2017-07-02 22:51:06 · 252 阅读 · 0 评论 -
3991: [SDOI2015]寻宝游戏
黈黈黈告诉我们原创 2017-07-03 15:06:07 · 369 阅读 · 0 评论 -
4196: [Noi2015]软件包管理器
用树剖搞出DFS序,这样能把一棵子树变成一个区间,一条链变成log个区间。用线段树维护一段连续的DFS序中有几个点。共两种操作:第一个加点,将log个区间中的总点数统计出来,然后填满,答案为∑(区间长度-原有点数),复杂度O(n(logn)^2)第二个删点,把一段区间中的总点数统计出来作为答案,然后全部清空。复杂度O(nlogn)因为BZOJ的时限放到了10秒,所以是可以过的。原创 2017-07-03 20:06:31 · 217 阅读 · 0 评论 -
4373: 算术天才⑨与等差数列
区间排序后组成等差数列,满足两个条件:①区间内max-min=k*区间长,用线段树维护max和min就好了。②区间排序后差分,gcd==kgcd也可以用线段树维护,即gcd=gcd(左儿子gcd,右儿子gcd)(注意gcd=0是须特判)。看起来好像没了。原创 2017-07-12 11:31:52 · 367 阅读 · 0 评论 -
2588: Spoj 10628. Count on a tree
按BFS序把树上的节点依次加入主席树,然后对于树链(x,y),用x+y-lca(x,y)-pre[lca(x,y)]的方法取出来,然后查询第k大即可。原创 2017-07-14 13:34:06 · 169 阅读 · 0 评论 -
4034: [HAOI2015]树上操作
%黈力 %小猫先用树剖搞出DFS序,再用树状数组差分维护答案。对于第一种操作,子树中的每一个点都被加上a,直接区间加就好了。对于第二种操作,每个点增加的值为(deep[y]-deep[x]+1)*a,分成两部分,一部分是-(deep[x]-1)*a,类似上题处理,另一部分是deep[y]*a,可再开一个答案需要成deep的树状数组处理,询问时将两者加起来就好了。原创 2017-07-05 14:10:35 · 255 阅读 · 0 评论 -
2763: [JLOI2011]飞行路线
裸的狄杰,但我不太会写堆,抄了很久。#include#include#include#include#include#include#include#include#includeusing namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#def原创 2017-11-07 08:37:12 · 295 阅读 · 0 评论