自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

forezxl的博客

ZJ蒟蒻OIer

原创 NOIP2018爆炸记

感觉一年啥都没学 Day 0 今年去学车考啊,从没去过学车的我感到瑟瑟发抖。而且大部分都是用笔记本考的,感觉很舒服。 早上10点出发,车上一直在看昨天FQY安利给我的番(平生第一次看番好鸡冻),不知不觉就到杭州了。在宾馆里颓到4点去学校,把那部番看完了。领了狗牌后开始研究考场,woc什么鬼啊,七百...

2018-11-11 22:28:06 166 0

原创 BZOJ4059: [Cerc2012]Non-boring sequences

线段树 题目传送门 这道题正解是启发式分治,不过线段树也能做。 和这道题很像,同样记一个nxt[i]nxt[i]nxt[i]表示a[i]a[i]a[i]下一次出现的位置,枚举左端点,撤销[i,nxt[i]−1][i,nxt[i]-1][i,nxt[i]−1],加上[nxt[i],nxt[nxt[i...

2018-11-07 18:52:19 87 0

原创 codeforces Gym 101623 F(BZOJ5200)

启发式分治 BZOJ题目传送门 codeforces题目传送门 题目大意: 有一种二叉树,每个节点有权值 ,并且满足它与所有祖先的权值互质。现在给出一个序列,问这个序列是否是一棵这种树的中序遍历。 还有启发式分治这种操作。。。 显然如果一个点要是一颗子树的根,那么它一定与这颗子树里的所有点互质。在...

2018-11-07 18:31:09 96 0

原创 codeforces 992E. Nastya and King-Shamans

树状数组 二分 题目传送门 题目大意: 维护一个数列,每次操作为先修改一个数,再询问是否存在一个位置iii满足w[i]=sum[i−1]w[i]=sum[i-1]w[i]=sum[i−1]并输出这个位置。 妙蛙 问题要求出满足 Ax=sumx−1A_x=sum_{x−1}Ax​=sumx−1​ ...

2018-11-06 21:16:38 84 0

原创 codeforces 1066E. Binary Numbers AND Sum

前缀和 题目传送门 疯狂划水 题目大意: 两个很大的二进制数a,ba,ba,b,每次把答案加上a&ba\&ba&b并把bbb左移一位。求最终答案。 考虑aaa的每一位对答案的贡献。如果这一位是000没有贡献,否则贡献为2i∗sum[i...

2018-11-06 19:40:28 84 0

原创 codeforces 700B. Connecting Universities

贪心 题目传送门 题目大意: 一棵树上有2k2k2k个关键点,把这些关键点两两配对,贡献为配对点的距离之和。求最大贡献。 树上两点之间的距离为dep[x]+dep[y]−2∗dep[lca(x,y)]dep[x]+dep[y]-2*dep[lca(x,y)]dep[x]+dep[y]−2∗dep[...

2018-11-06 16:54:52 73 0

原创 codeforces 999F. Cards and Joy

DP 题目传送门 题目大意: 有nnn个人n∗kn*kn∗k张卡片,每个人都要分到kkk张卡片。卡片上有数字,每个人也有一个数字,当一个人分到iii张和他的数字一样的卡片时会有h[i]h[i]h[i]的贡献,求最大贡献。 设g[i][j]g[i][j]g[i][j]表示iii张卡片分给jjj个人的...

2018-11-05 20:03:45 59 0

原创 codeforces 1067A. Array Without Local Maximums

DP 题目传送门 题目大意: 有一个数列,满足a1≤a2,an≤an−1,ai≤max(ai−1,ai+1)a_1\leq a_2,a_n\leq a_{n-1},a_i\leq max(a_{i-1},a_{i+1})a1​≤a2​,an​≤an−1​,ai​≤max(ai−1​,ai+1​)且...

2018-11-05 14:40:40 226 2

原创 BZOJ2662: [BeiJing wc2012]冻结(洛谷P4822)

分层图最短路 BZOJ题目传送门 洛谷题目传送门 同这道题,稍微改一改就好了。 代码: #include<queue> #include<cctype> #include<cstdio> #include&...

2018-11-04 21:14:52 98 0

原创 codeforces 165E. Compatible Numbers

高维前缀和 题目传送门 学了一发高维前缀和。 一般我们求多维前缀和是用容斥的,但是当维度很高时会很烦,这时就要用另一种求前缀和的方法。 打个比方,假设我们要求二维前缀和: for (int i=1;i<=n;i++) for (int j=1;j<=m;j++)...

2018-11-04 16:58:32 80 0

原创 BZOJ1855: [Scoi2010]股票交易(洛谷P2569)

单调队列 DP BZOJ题目传送门 洛谷题目传送门 设f[i][j]f[i][j]f[i][j]表示前iii天还剩jjj股的最多钱数。有四种转移方式。 1.之前没有股票,直接从这一天开始买,f[i][j]=−j∗APi(j∈[0,ASi])f[i][j]=-j*AP_i\quad(j\in[0,A...

2018-11-02 20:55:52 85 0

原创 BZOJ1296: [SCOI2009]粉刷匠(洛谷P4158)

DP BZOJ题目传送门 洛谷题目传送门 我连背包都不会了 做两遍DP,第一遍求出每一行刷kkk次分别最多能刷对多少个格子。第二遍就把第一遍的当作分组背包来选物品就好了。 设f[i][j]f[i][j]f[i][j]表示当前这行做到第iii列,刷了jjj次的最多格子数。那么有f[i][j]=max...

2018-11-02 18:59:35 69 0

原创 BZOJ5334: [Tjoi2018]数学计算(洛谷P4588)

线段树 BZOJ题目传送门 洛谷题目传送门 线段树维护每次操作的数,撤销就把那个位置变成1就好了。 代码: #include<cctype> #include<cstdio> #include<cstring> #...

2018-11-02 10:41:21 55 0

原创 洛谷P3522 [POI2011]TEM-Temperature(BZOJ2276)

单调队列 洛谷题目传送门 BZOJ题目传送门 单调队列维护最低温度递减的序列,同时保证队头的最低温度低于队尾的最高温度就好了。 代码: #include<cctype> #include<cstdio> #include<cst...

2018-11-02 09:34:37 68 0

原创 BZOJ3875: [Ahoi2014&Jsoi2014]骑士游戏(洛谷P4042)

最短路 DP BZOJ题目传送门 洛谷题目传送门 很显然有f[u]=min(ku,su+∑f[v])f[u]=min(k_u,s_u+\sum f[v])f[u]=min(ku​,su​+∑f[v])。但是这个是有后效性的,那么就用spfa搞(也可以用类似拓扑的方法做)。每次更新一个点后把所有指向...

2018-10-31 14:06:22 65 0

原创 BZOJ2462: [BeiJing2011]矩阵模板

哈希 题目传送门 二维哈希就好了。注意不要用unsigned long long,会T的(BZOJ 32位机子)。 代码: #include<cstdio> #include<cstring> #include<algorith...

2018-10-30 08:34:20 71 0

原创 BZOJ2982 combination

BZOJ2982: combination lucas 题目传送门 裸题不解释。 代码: #include<cstdio> #include<algorithm> using namespace std; co...

2018-10-29 14:52:46 47 0

原创 洛谷P3573 [POI2014]RAJ-Rally(BZOJ3832)

拓扑排序 堆 洛谷题目传送门 BZOJ题目传送门 妙蛙 注意到这是一个DAG,那么我们可以一遍拓排求出从起点到iii为最长路ds[i]ds[i]ds[i]和iii到终点的最长路dt[i]dt[i]dt[i](s向所有入度为0的点连边,所有出度为0的点向t连边)。若一条最长路lll经过(u,v)(u...

2018-10-29 13:52:35 85 0

原创 BZOJ1096: [ZJOI2007]仓库建设(洛谷P2120)

斜率优化 BZOJ题目传送门 洛谷题目传送门 设f[i]f[i]f[i]为前iii个工厂且在iii建仓库的最小代价。那么有f[i]=min{f[j]+c[i]+∑k=jip[k]∗(X[i]−X[k])}f[i]=min\{f[j]+c[i]+\sum_{k=j}^ip[k]*(X[i]-X[k]...

2018-10-28 19:44:32 65 0

原创 BZOJ2721: [Violet 5]樱花(洛谷P1445)

数学 BZOJ题目传送门 洛谷题目传送门 来因式分解。 1x+1y=1n!xy−n!(x+y)=0(x−n!)(y−n!)=(n!)2 \frac1x+\frac1y=\frac1{n!}\\ xy-n!(x+y)=0\\ (x-n!)(y-n!)=(n!)^2 x1​+y1​=n!1​xy−n!...

2018-10-28 15:14:39 101 0

原创 BZOJ1260: [CQOI2007]涂色paint(洛谷P4170)

区间DP BZOJ题目传送门 洛谷题目传送门 设f[l][r]f[l][r]f[l][r]为涂[l,r][l,r][l,r]需要的最少次数。那么若左右端点的颜色相同,则有f[l][r]=min(f[l+1][r],f[l][r−1])f[l][r]=min(f[l+1][r],f[l][r-1])...

2018-10-28 14:53:28 43 0

原创 洛谷P3512 [POI2010]PIL-Pilots(BZOJ2096)

单调队列 洛谷题目传送门 BZOJ题目传送门 划水 用两个指针推,单调队列维护最大最小值。 代码: #include<cctype> #include<cstdio> #include<cstring> #incl...

2018-10-27 15:59:48 67 0

原创 BZOJ1139: [POI2009]Wie(洛谷P3489)

最短路 状压 BZOJ题目传送门 洛谷题目传送门 设f[i][s]f[i][s]f[i][s]为到点iii能杀的怪的状态为sss的最短路。用Dij刷分层图最短路的时候转移就好了。 代码: #include<queue> #include<cctype&am...

2018-10-27 14:51:28 47 0

原创 BZOJ3747: [POI2015]Kinoman(洛谷P3582)

线段树 BZOJ题目传送门 洛谷题目传送门 设nxt[i]nxt[i]nxt[i]为与f[i]f[i]f[i]相同的下一个位置。枚举左端点,用线段树维护最大值。假设当前推到lll,那么把[l,nxt[l−1]][l,nxt[l-1]][l,nxt[l−1]]的贡献减去,把[nxt[l],nxt[n...

2018-10-27 09:31:59 32 0

原创 BZOJ1123: [POI2008]BLO(洛谷P3469)

Tarjan BZOJ题目传送门 洛谷题目传送门 显然不是割点的点答案都是(n−1)∗2(n-1)*2(n−1)∗2,我们只需要算一算割点的答案就好了。而割点的额外答案为DFS树上各个子树之间两两配对的贡献加上子树内和子树外的贡献。这些在Tarjan求割点的同时都可以顺带出来。 #include&...

2018-10-26 19:57:49 41 0

原创 BZOJ4419: [Shoi2013]发微博(洛谷P3998)

STL BZOJ题目传送门 洛谷题目传送门 数据结构蒙蔽了我的双眼。 对每个人用一个set维护当前和他成为好友的人,并记录他发的微博数。那么对于两个人x,yx,yx,y,xxx对yyy的贡献即为从成为好友到解除好友中xxx发的微博数量,yyy同理。所以减一减答案就出来了。 注意最后结束后还要算一遍...

2018-10-26 18:35:47 63 4

原创 洛谷P3431 [POI2005]AUT-The Bus(BZOJ1537)

树状数组 洛谷题目传送门 BZOJ题目传送门 神TM裸的二维偏序我没看出来 把其中一维离散后,用另一维排序。然后树状数组维护就好了。 代码: #include<cstdio> #include<cctype> #include<...

2018-10-25 19:10:53 36 0

原创 BZOJ1833: [ZJOI2010]count 数字计数(洛谷P2602)

乱搞 BZOJ题目传送门 洛谷题目传送门 把题目转化成求1到n的出现次数。设f[i]f[i]f[i]表示第iii位出现的总次数,那么有f[i]=f[i−1]∗10+10i−1f[i]=f[i-1]*10+10^{i-1}f[i]=f[i−1]∗10+10i−1(先不管前导0)。 我们对n的每一位进...

2018-10-25 18:06:03 49 0

原创 BZOJ1511: [POI2006]OKR-Periods of Words(洛谷P3435)

KMP BZOJ题目传送门 洛谷题目传送门 一个串的最小循环节为i−nxt[i]i-nxt[i]i−nxt[i],而如果要求最大循环节就是把nxt[i]nxt[i]nxt[i]跳到刚好不是000为止。求出nxtnxtnxt后我们可以扫一遍把nxt[i]nxt[i]nxt[i]赋成nxt[nxt[i...

2018-10-25 13:34:10 86 0

原创 BZOJ2212: [Poi2011]Tree Rotations(洛谷P3521)

线段树合并 BZOJ题目传送门 洛谷题目传送门 学了发线段树合并。 对于一棵子树,无论它是否交换,都不会影响到这棵子树外的其它节点。那么我们只要每一次取小的那个就好了。 对每个节点开一棵权值线段树,每次把左右儿子合并上来。而左右儿子有两个贡献,分别为一个儿子左区间的数个数*另一个儿子右区间的数个数...

2018-10-25 11:29:10 30 0

原创 BZOJ2115: [Wc2011] Xor(洛谷P4151)

线性基 BZOJ题目传送门 洛谷题目传送门 妙蛙 假如我们已经找到一条路径,如果要使答案变大,显然只能在这条路径上加环。而从路径到环的边会走两遍,因此不会影响答案。那么我们把所有环扔进线性基里,然后用这条路径求出最大值即可。 至于这条路径,其实是可以随便选的。因为如果另一条路径比它更优,它们就会形...

2018-10-25 08:56:36 36 0

原创 BZOJ1135: [POI2009]Lyz(洛谷P3488)

Hall定理 线段树 BZOJ题目传送门 洛谷题目传送门 Hall定理:一张二分图有完美匹配的充要条件为对于左边点集任意一个子集(大小为∣S∣|S|∣S∣),都存在至少∣S∣|S|∣S∣个右边的点有边相连。 对于这道题,我们只需要判断连续一段区间内的人是否满足即可。即∀ l,r&...

2018-10-24 21:10:19 50 0

原创 BZOJ1131 [POI2008]Sta(洛谷P3478)

BZOJ1131: [POI2008]Sta(洛谷P3478) DFS BZOJ题目传送门 洛谷题目传送门 先一遍DFS算出每个节点的sizesizesize并统计根节点的答案。而对于一个子节点,当它作为根时,它子树到它的距离-1,其他点的距离+1。那么全算出来就好了。 代码: #include&...

2018-10-24 18:28:39 48 0

原创 BZOJ1108: [POI2007]天然气管道Gaz

水 题目传送门 总代价即为∑xj−xi+yi−yj\sum x_j-x_i+y_i-y_j∑xj​−xi​+yi​−yj​,与顺序无关。那么直接算就好了。 代码: #include<cstdio> #define N 50005 using namespace std;...

2018-10-24 16:18:57 55 0

原创 洛谷P3891 [GDOI2014]采集资源

DP 题目传送门 预处理f1[i]f1[i]f1[i]表示用iii的资源能得到的最大效率。因为苦工的数量无限制,那么这就是一个完全背包。 设f2[i][j]f2[i][j]f2[i][j]表示第iii时间剩下jjj的资源能得到的最大效率。那么就可以借助f1f1f1进行转移了。 注意一有答案就要退出...

2018-10-23 20:54:46 109 0

原创 BZOJ1112: [POI2008]砖块Klo(洛谷P3466)

平衡树 BZOJ题目传送门 洛谷题目传送门 动态维护中位数,平衡树上一发就好了。 代码: #include<cctype> #include<cstdio> #include<cstdlib> #include&a...

2018-10-22 20:25:41 42 0

原创 BZOJ1367: [Baltic2004]sequence

左偏树 题目传送门 首先把tit_iti​都减掉iii,这样就可以构造非递减的ziz_izi​了。 对于原序列tit_iti​,我们一定能把它分成若干段,使得它们都是非递增的(对于非递减的直接取zi=tiz_i=t_izi​=ti​即可)。此时ziz_izi​都取这一段的中位数为最优。 每次把新加...

2018-10-19 20:12:15 59 0

原创 BZOJ4540: [Hnoi2016]序列(洛谷P3246)

莫队 ST表 单调栈 BZOJ题目传送门 洛谷题目传送门 考虑添加r+1r+1r+1到[l,r][l,r][l,r]中产生的贡献。显然多了r−l+2r-l+2r−l+2个区间。设[l,r+1][l,r+1][l,r+1]的最小值取在ppp点,那么ppp产生的贡献为w[p]∗(p−l+1)w[p]*...

2018-10-18 21:17:43 41 0

原创 BZOJ3131: [Sdoi2013]淘金(洛谷P3303)

数位DP 贪心 BZOJ题目传送门 洛谷题目传送门 很显然最后有金子的格子坐标一定可以分解成2,3,5,72,3,5,72,3,5,7的幂次。暴枚后发现只有146721467214672个。那么离散化之后就可以DP求出每个数字一共出现多少次了。 因为这是二维坐标,那么就相当于一个序列中取前kkk大...

2018-10-18 18:01:38 71 0

原创 BZOJ2750: [HAOI2012]Road(洛谷P2505)

最短路 拓扑排序 BZOJ题目传送门 洛谷题目传送门 对于每个点跑一遍最短路(Dij很稳,spfa也可以)。一条边在最短路上当d[x]+d=d[v]d[x]+d=d[v]d[x]+d=d[v]。我们对跑出来的图进行拓扑排序,正着做一遍求出从起点到达点iii的最短路方案s1[i]s1[i]s1[i]...

2018-10-17 19:44:25 63 0

提示
确定要删除当前文章?
取消 删除