自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(293)
  • 收藏
  • 关注

原创 BZOJ 4004: [JLOI2015]装备购买

MD这题有毒拟阵+线性基什么的按照14年论文的方法易证一下然后高斯消元搞一搞就WA了(垃圾数据坑精度)#include#include#include#include#include#include#includeusing namespace std;#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l)

2016-06-17 19:54:19 640

原创 BZOJ 4310: 跳蚤

(我当然不是因为标题才点进这道题的啦(打死不承认)) 最大字典序的串最小,听起来就很像二分嘛于是我们考虑一共m个本质不同的子串,从这里面二分就好了首先我们需要求第k大(小?)(即二分时的mid)的子串:我们从前往后扫sa数组,即从小到大枚举后缀,若当前后缀贡献的字串数不够k,则让k减去这些贡献,否则答案即是这些后缀所构成的贡献(就是一个后缀上的一大堆前缀区间啦)中的第k个。

2016-06-17 18:41:25 1296

原创 好久没发blog了,好颓啊

假装自己AK了23333333估计一觉醒来就全挂了

2016-06-02 02:26:46 793

原创 BZOJ 4597: [Shoi2016]随机序列

很可做的一道题考虑一下一段序列的答案为b+x,x为最右连续一段是乘积,然后和为x,b则为对应的左边的和然后考虑在右边加一个数k,分类讨论一下发现x'=kx,b'=2x+3b于是就可以DP了然后DP可以矩阵转移于是就可以用线段树维护矩阵就水过去了(好像很简单哎,AC率好高的说)#include#include#include#include#include#

2016-05-27 15:46:31 571

原创 BZOJ 4596: [Shoi2016]黑暗前的幻想乡

迷之正确性的做法首先观察数据范围,哎和ZJOI的小星星一毛一样啊,会不会给人一种钦定复杂度的感觉啊于是就乱搞一发,容斥+Matrix定理莫名其妙地就过了QAQ#include#include#include#include#include#include#include#include#include#include#include#include#defi

2016-05-26 21:11:56 1023

原创 BZOJ 1951: [Sdoi2010]古代猪文

好困啊刷点水题醒醒脑题目要求G^(sigma(k|n,C(n,k))%P的值根据费马小定理我们可以把指数对P-1求余但是问题是P-1不是质数所以将P-1分解为4个质数的乘积,分别求解之后用CRT合并(终于知道CRT合并是啥了)指数求出来之后快速幂搞一搞就可以了#include#include#include#include#include#include#inc

2016-05-25 21:31:04 302

原创 BZOJ 3207: 花神的嘲讽计划Ⅰ

刷点水题舒缓心情一开始没读懂题以为是查询那些数是不是都在那个区间里于是开始写主席树,写完发现不对QAQ题目是求那个区间里是否存在一个字串和给定串相等由于串长是一定的,每个节点存以该节点为结尾的长度为K的字符串的哈希值然后用主席树判断是否存在即可(读错题后一怒之下把主席树删了写了个特技莫队,跑得还挺快的)#include#include#include#includ

2016-05-25 20:15:27 438

原创 BZOJ 4592: [Shoi2015]脑洞治疗仪

多写线段树有利于治疗脑洞0,2操作都好说操作1需要二分一下能够填脑洞的范围复杂度m(logn)^2(rank1怎么跑得辣么快啊,难道有1个Log的做法?)#include#include#include#include#include#include#include#include#include#include#include#include#de

2016-05-25 14:14:37 497

原创 BZOJ 4590: [Shoi2015]自动刷题机

显然n递增的时候k会递减于是可以二分n的值,检查一下与k的大小关系(不要问我怎么证,感觉就是这样的)#include#include#include#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;

2016-05-24 20:38:44 358

原创 BZOJ 4571: [Scoi2016]美味

区间最大异或对,显然用可持久化Trie嘛WTF???怎么轻易地就加了一个数呢好吧我们考虑把Trie的每个节点加上个值域,于是就变成了主席树啦于是从高位往低位贪心,每次找到该位异或为1时可选的区域,在主席树上找区域中是否存在值复杂度mlogwlogw#include#include#include#include#include#include#include#in

2016-05-24 20:06:30 716

原创 BZOJ 4569: [Scoi2016]萌萌哒

(没有什么区间问题是线段树解决不了的,如果有,就上倍增)对于这题一个显然的问题是线段树分解出来的区间大小不是一一对应的,合并起来很麻烦的所以要用ST表,因为ST表对于两个长度相同的区间的分解是可以对应的于是将每次限制的两个区间都分解,对应合并最后总体pushdown就可以了#include#include#include#include#include#include

2016-05-24 10:43:08 555

原创 BZOJ 4568: [Scoi2016]幸运数字

可以合并的东西都是人类互相伤害的武器……参照COGS上采矿那道题可以用树剖维护线性基,复杂度Q(logn)^2(logw)^2显然会T。。。。考虑到没有修改用点分治离线来做一个询问如果经过当前分治根,则立即处理并不再下传,否则下传到相应子树去做复杂度nlognlogw+qlogwlogw#include#include#include#include#inc

2016-05-24 09:28:49 485

原创 BZOJ 4567: [Scoi2016]背单词

显然第一种情况可以避免将每个串都看成树上的一个节点,父亲为它的后缀串中最长的那个这棵树可以通过每个串reverse后加入Trie树中,最后去掉Trie树的虚节点来获得于是问题变成了给树上每个点标号,使得每个点的标号减去它父亲的标号的和最小显然要按DFS序标号考虑相邻的兄弟节点u,v先u再v比先v再u的答案大siz[u]-siz[v]所以子节点按子树大小排序后依次标号

2016-05-23 19:21:57 555 1

原创 BZOJ 4566: [Haoi2016]找相同字符

多串SAM两串中相同的字串会在同一节点每个节点搞个siz表示这个节点代表的字串出现了多少次当然还要加一维,表示在哪个串中出现的次数于是答案就是sigma (len[i]-len[par[i]])*siz[0][i]*siz[1][i]了#include#include#include#include#include#include#include#includ

2016-05-22 19:50:44 412

原创 BZOJ 4566: [Haoi2016]找相同字符

多串SAM两串中相同的字串会在同一节点每个节点搞个siz表示这个节点代表的字串出现了多少次当然还要加一维,表示在哪个串中出现的次数于是答案就是sigma (len[i]-len[par[i]])*siz[0][i]*siz[1][i]了#include#include#include#include#include#include#include#include

2016-05-22 19:50:29 823

原创 BZOJ 4563: [Haoi2016]放棋子

考虑经典的二分图做法,然后就变成求二分图完美匹配的个数了显然不会做QAQ由于障碍的特殊性,不妨把每个障碍都放到主对角线上,发现对答案没有影响于是就变成错排计数了高精度搞一搞就好了#include#include#include#include#include#include#include#include#include#define rep(i,l,r) f

2016-05-22 18:27:20 664

原创 BZOJ 4562: [Haoi2016]食物链

JL的题好神,各种不会做然后谁能告诉我NOIP题怎么又出到省选来了#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)

2016-05-22 18:06:40 470

原创 BZOJ 4557: [JLoi2016]侦察守卫

做法同 HDU 5290#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define mmt(a,v) memset

2016-05-22 10:17:30 879

原创 BZOJ 4554: [Tjoi2016&Heoi2016]游戏

(楼下的小学生好烦啊,老是在那里红星闪闪QAQ,感觉要被洗脑了,md一整天都是智障状态)这题没有硬石头就直接跑二分图匹配就好了有硬石头就把这行/列拆一拆#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i

2016-05-21 18:30:09 394

原创 BZOJ 4553: [Tjoi2016&Heoi2016]序列

我就不懂了怎么又是线段树啊(好吧其实可以写平衡树)f[i]可以从f[j](a[j]观察条件发现就是某个矩阵里的权最大的点权值线段树套权值线段树就可以n(logn)^2了,但是空间也是这么多,会MLE所以三维偏序什么的还是cdq分治吧然后就轻易地过掉了#include#include#include#include#include#include#include

2016-05-20 19:58:01 629

原创 BZOJ 4552: [Tjoi2016&Heoi2016]排序

BC #76这题目好鏼啊!(我也不知道怎么就满足二分性了)#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#d

2016-05-20 15:49:21 553

原创 BZOJ 4551: [Tjoi2016&Heoi2016]树

NOIP题?DFS序+永久化标记10分钟码完。。。。。。。#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#d

2016-05-20 14:41:38 334

原创 BZOJ 4524: [Cqoi2016]伪光滑数

和D1的K远点对类似的k优解求法首先找到一个集合使得当前最优解一定在其中然后每次找到最优解并把与它有关且(必定)劣于它的加到集合里去重复k-1次对于这道题显然一开始的集合就是pi^j,pi为质数且pi然后每次扩展就是把一个数中的其中一个质因数变小一点当然还要hash判重(hash表好像写得有问题QAQ跑得巨慢无比)#include#include#include

2016-05-20 12:39:27 476

原创 BZOJ 4523: [Cqoi2016]路由表

还以为要可持久化Trie简单分析一下发现就是Trie+单调栈查询的时候从根向下在Trie上走,每次找到当前节点上满足条件的最小时间点加到栈里去栈中时间点为递增序答案就是栈里元素的数量(lower_bound好慢啊,是不是可以直接暴力啊)#include#include#include#include#include#include#include#includ

2016-05-20 11:19:02 295

原创 BZOJ 4522: [Cqoi2016]密钥破解

数论模板大整合。。。。。。快速乘+快速幂+扩展gcd+Pollard_Rho#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;

2016-05-20 10:11:23 282

原创 BZOJ 4521: [Cqoi2016]手机号码

比较好搞(暴力)的数位DPf[pos][a][b][c1][c2][c3][flag]表示目前决策第pos位,a是pos+2位,b是pos+1位,c1表示是否有3个连续的,c2表示是否有4,c3表示是否有8,flag表示这一位能不能取比原数大的#include#include#include#include#include#include#include#include

2016-05-20 09:19:23 279

原创 BZOJ 4520: [Cqoi2016]K远点对

BZOJ AC 300 纪念!!!做K次凸包,每次旋转卡壳找到一对最远点,删掉他们并把他们构成的点对加入候选集合于是候选集合的大小为O(nk)的总复杂度O(nklogn)(好像会T)#include#include#include#include#include#include#include#include#include#define rep(i,l,r)

2016-05-19 21:52:36 334

原创 BZOJ 2229: [Zjoi2011]最小割

双倍经验!建出最小割树后暴力搞两点间距离(瓶颈)神马的询问的时候upper_bound一下就好了#include#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(i

2016-05-19 18:32:03 460

原创 BZOJ 4519: [Cqoi2016]不同的最小割

裸的最小割树(分治最小割是啥,能吃吗)简单的看了一下最小割树的建树方法首先以1为根建立星型(菊花)树然后对于2到n每个节点:跑它(S)和它父亲(T)的最小割得出来的最小割即为树上该条边的权值然后找到比该节点编号大的节点,如果它的父亲为T且它在S集中,那么把它的父亲置为S搞下一个节点复杂度就是最小割*n然后树上两点间路径的瓶颈即为两点间最小割(好像可以查询的样子哎

2016-05-19 16:44:36 260

原创 BZOJ 4518: [Sdoi2016]征途

裸的斜率优化DP(似乎并没有精度问题啊)#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define mmt(a,v) memse

2016-05-19 11:23:08 289

原创 BZOJ 4517: [Sdoi2016]排列计数

说好的省选题怎么就轻易地变成CF难度了呢答案显然是C(n,m)*D(n-m),D(x)为x个元素的错排由容斥原理可得D(n)=n!*sigma(k=0->n)(-1)^k/k!线性预处理一下就可以O(1)回答询问了(竟然没卡带log的逆元预处理)#include#include#include#include#include#include#include#inc

2016-05-19 09:54:45 284

原创 BZOJ 4516: [Sdoi2016]生成魔咒

裸的SAM。。。。。。。考察点是啥?SAM的复杂度是O(n)而不是O(n*sigma)?#include#include#include#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--

2016-05-18 21:36:37 374

原创 BZOJ 4515: [Sdoi2016]游戏

树链剖分将每次更新拆成若干条链上关于depth的一次函数于是就变成了线段树维护半平面交中x轴上一段区间的y最小值考虑每个点代表一条覆盖整个区间的直线,以此来进行标记永久化若两个标记,即两条直线覆盖了同一区间Case 1:其中一个标记处处比另一个优,那么显然取优的那个Case 2:在该区间中有交点,于是取更优区间较大的那个为此区间的标记,另一个递归到相应的区间去继续更新由

2016-05-18 19:49:54 580

原创 BZOJ 3091: 城市旅行

link cut tree水题将树链看成序列,答案即为sigma(a[i]*i*(n-i+1))/C(n+1,2),分母显然不用维护,分子拆开来搞一搞就好了(维护信息的link cut tree的标记必须即时生效TAT否则会WA)#include#include#include#include#include#includeusing namespace std;#def

2016-05-14 15:44:03 381

原创 HDU 4757 Tree

可持久化Trie,大概和树上主席树一个做法(竟然轻易地就1A了)#include#include#include#include#include#includeusing namespace std;#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define

2016-05-14 08:01:56 244

原创 BZOJ 2565: 最长双回文串

智商康复计划。。。。。。。。#include#include#include#include#include#includeusing namespace std;#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define mmt(a,v) memset(a,v

2016-05-13 19:04:15 267

原创 BZOJ 2160: 拉拉队排练

双倍经验题manacher/palindromic tree对于manacher的话显然回文串的长度最多只有n种,对于每个奇数长度的位置显然长度为1,3,5.....r[i]的串的个数都+1,区间加减什么的差分一下前缀和搞一搞就好了#include#include#include#include#include#includeusing namespace std;#de

2016-05-13 18:20:00 343

原创 BZOJ 3168: [Heoi2013]钙铁锌硒维生素

对着网上下的数据拍发现过不去,交上去就1A了。。。。。。看discuss才发现标程是错的。。。。。。。根据14年的论文,A为n维向量的一组基,B中任意行向量属于Span(A),于是可以得出系数矩阵C,且C*A=B,A中行向量x能被B中行向量y替换当且仅当y的表示向量(C中的一个列向量)中x位置的系数不为0,于是C的转置即为二分图的邻接矩阵,问题转化为二分图最小字典序最大匹配首先跑一遍匈

2016-05-13 16:23:59 1095

原创 3105: [cqoi2013]新Nim游戏

14年论文题贪心+线性基搞一搞忘了开longlong一直WA好智障阿QAQ #include#include#include#include#includeusing namespace std;#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#defin

2016-05-13 12:38:53 222

原创 BZOJ 2657: [Zjoi2012]旅游(journey)

三角剖分转对偶图之后形成了树,问题转化为求树上最长链证明见14年论文#include#include#include#include#include#define rep(i,l,r) for(int i=l;i<=r;i++)#define per(i,r,l) for(int i=r;i>=l;i--)#define mmt(a,v) memset(a,v,sizeof(

2016-05-11 17:45:16 370

空空如也

空空如也

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

TA关注的人

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