自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

远行客

人生天地间,忽如远行客。

  • 博客(35)
  • 收藏
  • 关注

原创 【BZOJ】4724: [POI2017]Podzielno

传送门:bzoj4724题解列个式子(这里懒得贴了),我们就会发现: a∗Bk≡a(mod(B−1))a∗Bk≡a(mod(B−1))a*B^k\equiv a \pmod {(B-1)} 于是就变成各数位之和要成倍数。 为了保证结果最大,若此时所有数之和模B-1仍有余,那么因为保证了每一位上个数大于等于1,我们直接去掉对应位上的数就好了(保证位数最多且最大)。 然后就很简单了...

2018-05-31 00:13:16 190

原创 【BZOJ】4723 [POI2017]Flappy Bird-dp/找规律

传送门:bzoj4723题解看到此题,本蒟蒻去重温了一下fb…(还是那么菜) 有两种方法(一种比较直观,一种比较玄学)。 直观的: 考虑对于每个坐标,我们飞到(x,y)(x,y)(x,y)所点击的次数实际上是固定的((x+y)/2(x+y)/2(x+y)/2),而且我们也只能飞到横纵坐标奇偶性一样的位置。而且这个小鸟它可以打洞!(飞到纵坐标为负的位置),所以只要飞过最后一个障碍就...

2018-05-30 23:57:06 240

原创 【BZOJ】4726[POI2017]Sabota?-树形dp

传送门:bzoj4726题解设f[x]f[x]f[x]是x节点不叛变最坏情况下所要求的最小比例。 dfs一遍就好啦。代码#include<cstdio>#include<vector>#define db double#define o(x,y) g[x].push_back(y)using namespace std;const i...

2018-05-30 23:42:44 202

原创 【BZOJ】3997组合数学-dp

传送门:bzoj3997代码#include<cstdio>#include<cstring>using namespace std;typedef long long ll;const int N=1010;int a[N][N],T,n,m;ll f[N][N],ans;inline ll max(ll x,ll y){return x...

2018-05-30 23:36:50 275

原创 【BZOJ】3925地震后的幻想乡-概率dp

传送门:bzoj3925题解粘一波题解代码#include<bits/stdc++.h>#define db doubleusing namespace std;typedef long long ll;const int N=(1<<11);ll f[N][50],g[N+10][50],c[50][50];db ans;int n,...

2018-05-30 23:34:19 198

原创 【BZOJ】2006: [NOI2010]超级钢琴-优先队列

传送门:bzoj2006题解实际上是道水题,但还是debug了很久。 先求前缀和。用ST表存一下区间里前缀和最大的。枚举左端点,逐个加入优先队列。 我们总共会取k次,每次取出后,由于考虑到以该点为左端点的其他右端点所形成的次大区间还可能对答案有贡献,所以把区间拆成左边一段(取左边一段的最优值),右边一段(取右边一段的最优值)(以此次取出的这个区间的右端点为分界线,右端点不加入左...

2018-05-30 23:06:04 202

原创 【BZOJ】1009GT考试-kmpDP

传送门:bzoj1009题解先用kmp预处理一下dp的转移状态。 然后矩阵快速幂一波?(这个矩阵快速幂比较妙妙,我都没想到)代码#include<bits/stdc++.h>using namespace std;int n,m,mod,nxt[25];struct mat{ int t[25][25];}a,b,c,tmp;char s...

2018-05-30 22:55:08 199

原创 【BZOJ】3924幻想乡战略游戏-点分树

传送门:bzoj3924题解暴力点分树往上跳。代码#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<cctype>#include&amp

2018-05-30 22:48:20 151

原创 【BZOJ】4170: 极光-cdq分治

传送门:bzoj4170题解当我们知道可以把价值看成y坐标并把(x,y)的菱形转化为(x-y,x+y)的矩形来cdq时,这道题就成模板了。 真妙啊代码#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#i

2018-05-21 22:37:11 291

原创 【BZOJ】3196: Tyvj 1730 二逼平衡树-树套树

传送门:bzoj3196代码树套树模板,线段树套Treap。 卡常是因为本蒟蒻太菜了#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>

2018-05-19 13:11:25 222

原创 【BZOJ】4197: [Noi2015]寿司晚宴-状压DP

传送门:bzoj4197题解状压dp了解一下。500−−−√500\sqrt{500}以下的质数就八个,其他特殊因数用pair存。状态转移要注意。代码#include<cstdio>#include<cstring>#include<cmath>#include<iostream>#includ

2018-05-19 13:07:12 133

原创 【BZOJ】1016: [JSOI2008]最小生成树计数

传送门:bzoj1016代码算一下就好了……#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=102,M=1003;const int mod=31011;int n,m,cnt,tot,f[N];ll ans=1,sum;struct L{int ...

2018-05-19 13:00:44 99

原创 【BZOJ】4196:【NOI2015】软件包管理器-树剖

传送门:bzoj4196代码树剖水题……#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int tot,n,Q,df[N],ot[N],cnt,son[N],tp[N],sz[N];int f[N],head[N],to[N],nxt[N],d[N],rt;int sum[...

2018-05-17 22:51:21 147

原创 【uoj】198:【CTSC2016】时空旅行-dfs序&线段树&凸包

传送门:uoj198题解y,z坐标无用。 先化简一下式子,假设选择的是第iii个星球,其xxx轴上值为xixix_i。则花费为: (xi−x0)2+ci=−2xix0+x2i+ci+x20(xi−x0)2+ci=−2xix0+xi2+ci+x02(x_i-x_0)^2+c_i=-2x_ix_0+x_i^2+c_i+x_0^2 不考虑x0x0x_0,这个式子就是个直线,所以我们维护...

2018-05-17 22:48:20 272

原创 【BZOJ】1176: [Balkan2007]Mokia-cdq分治

传送门:bzoj1176代码cdq模板,不解释#include<bits/stdc++.h>using namespace std;const int M=2e6+10;const int N=17e4+19;int n,m,op,xa,ya,xb,yb,cnt;int s,w,as[10004],tmp[N<<2],cur;int tr...

2018-05-17 13:35:17 126

原创 【BZOJ】2819:Nim-树剖&线段树&手写栈

传送门:bzoj2819题解题中的Nim游戏其实就是看选中的这几堆石头每堆石头数量的异或和是否为0。 我们只需要维护每个点到根节点路径上的异或和就好了。 每次询问只要把两个节点到根节点路径异或和异或起来(抵消了LCA-ROOT一段)再异或一下LCA就好了。 对于修改,考虑只会影响到该节点为根的子树内的所有节点。直接dfs序建个线段树改一下。 被题面坑了,写了一个手写栈。...

2018-05-17 13:30:52 219

原创 【BZOJ】3621 我想那还真是令人高兴啊-复数

传送门:bzoj3621题解我们把每个坐标看成一个复数,在复平面上两两之间连线的变换值恰好可以用同一个复数表示(这里讲的不清晰,还是贴一下PoPoQQQ的题解)首先两个复数相乘的几何意义是【极角相加,长度相乘】 这两种变换正好对应旋转和放缩那么我们不妨将所有点都放到复平面上由于没有给定点的对应关系,故我们3!枚举这个对应关系设其中一个三角形的三个顶点为A,B,C,另一个三...

2018-05-17 13:23:00 270

原创 【BZOJ】2001: [Hnoi2010]City 城市建设-cdq分治/LCT

传送门:bzoj2001题解此题LCT动态维护MST貌似很可做(然而本蒟蒻不会) 这里分享看到的一种很妙的分治做法。我们简化一下问题: 每次修改(x,y)(x,y)(x,y)权值,若能使MST总边权变小,则满足: 原MST上x−>yx−>yx->y路径上最大值大于(x,y)(x,y)(x,y)权值 (仔细想想,感觉非常有道理: 若大于等于x->y...

2018-05-15 22:00:55 658

原创 【模板】快速傅里叶变换FFT

讲解: 快速傅里叶变换(FFT)详解 公式介绍比较详细。 FFT详解 原理讲解比较清晰。 建议两篇一起看一下。 如果只是在基础应用层面不去深究,FFT还是比较好懂的。代码多项式乘法:洛谷P3803&uoj34#include<cstdio>#include<iostream>#i

2018-05-15 21:47:03 349

原创 【UOJ】317-NOI2017-游戏-2-SAT

传送门:uoj317题解本蒟蒻也不知道为什么extra test 会WA 5啊,只能在bzoj4945上AC一下以安慰自己。 如果不了解2-SAT,大家可以看一下这份讲解,感觉还是很好懂,后面拓扑排序那里想一下就好了。 2-SAT算法很好理解,但很多人并不知道怎么输出方案,这里贴一篇博客,其中也解释到了排序缩点序和 拓扑序和方案选择之间的关系。 此题特殊在,它的边并不是对称的。...

2018-05-13 22:33:15 200

原创 【BZOJ】2199奶牛议会-2-SAT

传送门:bzoj2199 权限题? 没关系,你洛上也有:洛谷- [USACO11JAN]大陆议会The Continental Cowngress题解一道2-SAT简单题。 只需要用到2-SAT连有向边的操作,拓扑排序和缩点都不需要,直接暴力找(非常之暴力)。代码#include<bits/stdc++.h>using namespace std;...

2018-05-13 22:20:35 336

原创 【模板】LCA

传送门:洛谷-【模板】最近公共祖先(LCA)倍增版:#include<bits/stdc++.h>using namespace std;const int N=5e5+10;int n,m,s,x,y,f[N][18],bin[20],d[N];int head[N],to[N<<1],nxt[N<<1],tot;int df[N]...

2018-05-13 22:15:50 335

原创 【BZOJ】2506calc-DP

传送门:bzoj2506题解非常妙的dp! 对于100以内,直接预处理。 100以上,直接找(1e4的范围使次数严格不大于100) 但这样还不够, 我们把询问离线下来,记录每个询问的左右端点,用2*n的结构体分别记录,然后sort一遍,直接从左到右扫,扫到一个点就记录一下,回答的时候拿终点和起点-1做前缀和的差。 orzzzzhwer代码//made ...

2018-05-12 19:57:59 122

原创 【BZOJ】 旅行规划-分块

传送门:bzoj2388题解做这道题时,本蒟蒻很心碎,因为百般debug都WA。 最后也不知道怎么就过了?? 单纯分块。代码#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include&a

2018-05-12 19:53:02 196

原创 【POJ】2417Discrete Logging-BSGS算法

传送门:poj2417题解根据欧拉定理,在模数为p的情况下,正整数b的最小循环节最多为p。 对于p以内,我们当然不能暴力枚举。 那么设m=p–√m=pm=\sqrt {p}上取整,我们预处理出n∗b1n∗b1n*b^{1}到 n∗bmn∗bmn*b^{m}的值存在hash表里,存的时候若有相同的,就让后面的覆盖前面的就好了(因为我们枚举i*m-j,自然j越大越好,以保证求的的是...

2018-05-12 19:48:43 129

原创 【BZOJ】2815[ZJOI2012]灾难-灭绝树/支配树

传送门:bzoj2815题解虽然此题tag是dp… 先拓扑排序一波,然后建立一颗名为“灭绝树”的树,对于该树,满足如下定义: 对于树中的每个节点,若该节点的生物灭绝,那么以它为跟的子树内的所有节点的生物都会跟着灭绝。 按拓扑序倒序加入“灭绝树”(仔细读一下题,你就会发现拓扑序大的才是王者),建的时候连在所有它的食物点的lca下就好了(lca灭绝代表,所有它可以吃的都灭绝了)。...

2018-05-12 19:37:15 249

原创 【BZOJ】 [wc2013]糖果公园-树上莫队

传送门:bzoj3052题解网上很多,具体做法其实本蒟蒻不是非常了解,还需复习代码#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cmath>usin

2018-05-12 19:28:53 240

原创 【BZOJ】[Cqoi2011]动态逆序对-树套树

传送门:bzoj3295题解线段树套树状数组代码#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;typedef long long ll;const int

2018-05-12 19:26:22 182

原创 【BZOJ】2330:[SCOI2011]糖果-差分约束

传送门:BZOJ2330题解三角不等式?就是注意求最小值是跑最长路,最大值跑最短路,根据性质来。 还有判环。&没有必要建0点(还会T)代码#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib&

2018-05-12 19:21:28 205

原创 【模板】后缀数组&后缀自动机

关于后缀自动机SAM,贴一个非常好的讲解:后缀自动机学习小记 代码交洛谷模板可A后缀数组传送门:洛谷-【模板】后缀排序#include<bits/stdc++.h>using namespace std;const int N=1e6+5;char s[N];int sa[N],t1[N],t2[N],c[N];int n,m=555;void su...

2018-05-12 19:16:19 478

原创 【BZOJ】作业-DP

传送门:bzoj3791-作业题意众所周知,白神是具有神奇的能力的。比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成;对语文作业说一声“语”,语文作业就会出于畏惧而自己完成。今天,语文老师和数学老师布置了许多作业,同学们纷纷寻找白神寻求帮助。白神作为一个助人为乐的人,便答应下来。回到家,白神将这N份作业按顺序摊开,发现语文作业数学作业混在一起,这就让白神...

2018-05-04 23:20:43 219

原创 【BZOJ】[JSOI2007]字符加密Cipher-后缀数组

传送门:bzoj1031-[JSOI2007]字符加密Cipher题解事实上就是一道后缀数组板题。 然后由于本蒟蒻的不熟练,debug了2h。代码#include<bits/stdc++.h>using namespace std;const int N=2e5+10;char ch[N];int i,j,k,n,a[N<<...

2018-05-04 23:11:59 137

原创 【BZOJ】Cirno的忧郁-计算几何-三角剖分/梯形剖分

三角剖分/梯形剖分

2018-05-02 22:49:30 563

原创 【BZOJ】[ZJOI2010]count 数字计数-数位DP

传送门:BZOJ1833-数字计数题意给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。数据范围30%的数据中,a<=b<=10^6; 100%的数据中,a<=b<=10^12。题解数位DP。 设f[i]为共i位数字不考虑前导0情况下每个数码出现次数(显然相等) 特殊处理一下数的零头就...

2018-05-01 20:30:00 199

原创 【模板】最小费用最大流

传送门:洛谷-【模板】最小费用最大流题意给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。数据范围对于30%的数据:N<=10,M<=10对于70%的数据:N<=1000,M<=1000对于100%的数据:N<=5000,M<=

2018-05-01 19:24:46 128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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