自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Never give in.

弱小和无知不是生存的障碍,傲慢才是。

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

原创 [JZOJ4369] city【上下界网络流】【图的边染色】

Description Solution真是一道好(dú)题(liú)这种题可以猜猜结论对于每一行(列)的,如果它的城市个数为颜色数的倍数,那么答案为0,否则为1 就是说,每一行(列)max-min<=1证明嘛,很麻烦。。 行列构成二分图,源点向行连下界为这行城市个数/t下取整,上界为上取整的边,列向汇点同理,行和列之间按照城市连上界为1的边然后每一次直接跑上下界网络流,然后t就变成t-1,相

2017-12-30 10:50:52 218

原创 [JZOJ4370] hypocritical

Description Solution几乎没有什么思维难度先将原树建成一个Trie,此时Trie上的节点已经合并了一些终点了,合并的时候DP背包一下然后再BFS把Trie建成SAM,那么就变成了在Fail树上DP,子树选取,直接背包即可代码略为猥琐Code#include <cstdio>#include <iostream>#include <algorithm>#include <cm

2017-12-30 10:48:13 276

原创 [JZOJ4540] assign

Description Solution可以先枚举分数线有一种麻烦的做法,可以直接DPF[i][j][k],G[i][j][k]F[i][j][k],G[i][j][k]分别是前缀和后缀,做到第i位,超线j个,压线k个,然后对于每个点再将它们组合一下,然后前缀和优化,还要注意强制满足分数线(即两个k必须有一个大于0,或者这个点压线)非常的繁琐考虑一种简单的做法 不妨直接枚举分数线,并且强制令这个

2017-12-30 10:41:57 195

原创 关于2-SAT问题

Text就是有一些布尔变量,然后它们之间有一些关系,比如说某些异或起来等于1,或者某两个and等于0之类的要判断是否无解或找出一组可行解那么把每个变量拆成两个点x和x’,代表True和false,选x代表这个变量为True,选x’代表这个变量为false然后按照上面的关系进行连边,一条边x连向y代表选了x就必须选y同时每一组x和x’只能有一个是选的,因为一个变量不可能同时是两个

2017-12-26 17:26:07 296

原创 [BZOJ4199][UOJ#131]【NOI2015】品酒大会

Description 给出一个长度为 n 的字符串,每一位有一个权值 val。定义两个位字符为 r 相似,是指分别从这两个字符开始,到后面的 r 个字符都相等。两个 r 相似的字符还有一个权值为这两个字符权值的乘积。问对于 r = 0, 1, 2, … , n - 1,统计出有多少种方法可以选出 2 个“r 相似”的字符,并回答选择 2 个”r 相似”的字符可以得到的权值的最大值。

2017-12-25 21:03:09 197

原创 [JZOJ4348] 打击目标

Description给出一棵树(节点数不超100000),每个节点上有一个字符串(长度不超过10),强制在线询问,询问形如(x,y,s),表示询问x节点到y节点路径上的点(包括端点)最长的是s的子串的字符串的长度 询问字符串总长不超100000Solution既然每个节点的字符串长度都不超过10,那么答案也不超过10可以暴力枚举询问串从哪里开头匹配,然后对于树上每个节点维护它到根的可持久化Tri

2017-12-25 17:13:02 282

原创 【WC2018模拟2017.12.25】总结

Text一看题,似乎不太友好T1好像可以奇怪的构造T2数据结构套个字符串什么乱搞,没有仔细想T3推式子,推了半天翻车,只弄出来一个组合数的前缀和的形式以及NK直接组合,复杂度还是暴力,应该有30分然后死淦T1构造的过程比较繁琐,而且有非常多的诡异情况需要判掉,花了两个多小时在上面,总感觉自己是对的,但是总是构造出一个又一个的反例,直到比赛最后都没有想出来。T2其实比较简单,枚举答案然后直接用个可持久

2017-12-25 17:08:38 350

原创 [51Nod 1587] 半现串

Description 有两个串S,T。T的长度是d。我们说T在S中半现的条件是当T的某一个长度为 ⌊d/2⌋ 的子串是S的一个子串。(子串是在原串中连续出现的一段字符串)。 现在给定一个原串s,另外给出x,y,长度为d他们都只包含数字字符,问区间[x,y]中在s中半现的数字有多少个。 答案比较大,对 109+710^9 + 7 取余后输出。 1≤|s|≤1000,2≤d<=5

2017-12-22 22:44:04 230

原创 最小割树 学习小记

Text给出一个无向图,要求两两之间最小割最小割树可以只用跑N最小割来求出两两之间的我们有定理mincut(a,b)≥min(mincut(a,c1),mincut(c1,c2),...,mincut(cm,b))mincut(a,b)\geq min(mincut(a,c1),mincut(c1,c2),...,mincut(cm,b))证明可以先考虑三个点a,c,b的情况,然后再推广,此处不再赘

2017-12-20 22:05:25 420

原创 [JZOJ5495]【清华集训2017模拟12.09】MiniumCut

Description有一个无向图 给出两两点间的最小割构造出这个图,输出任意一种 对于 100% 的数据, n<=100Solution利用最小割树的性质来考虑两两点的最小割等于这两点在最小割树上的路径边权最小值相当于给出了完全图,要求这样一个生成树,使得生成树上任意两个点之间的边最小值等于这原图中这两个点直连边的边权那么就是这个图的最大生成树为什么呢?考虑新加入一条边,因为是最大生成树,所以

2017-12-20 21:31:53 327

原创 [JZOJ4367]【GDKOI2016】小学生数学题(口胡)

Description Solution既然保证最后答案有逆元,那么将原式拆成有逆元和没有逆元两部分 即∑a=1⌊np⌋1a∗p+∑i=0⌊np⌋−1∑j=1p−11i∗p+j(modpk)\sum\limits_{a=1}^{\lfloor {n\over p}\rfloor}{1\over a*p}+\sum\limits_{i=0}^{\lfloor {n\over p}\rfloor-1

2017-12-19 17:37:07 429

原创 [JZOJ4695]【GDOI2017模拟8.14】佐助的难题

Description 求在1到n!范围内,与m!互质的数的数量,由于答案太大,只需计算答案对R取模之后的答案即可,保证R是一个质数 对于100%的数据n<=10000000,T<=10000 保证R为质数,m<=n,n < RSolution对于求

2017-12-14 16:10:28 291

原创 回文树 学习小记

Text由于实在太简单,我尽可能简略回文树的每个节点代表了原串的回文子串维护两个树,一个是偶长度,一个是奇长度每个点维护len、fail、出边len就是代表回文串的长度 fail就是这个串的最长回文后缀的位置假设当前字符串为Sx,走的这个边是字符c的那么走到的字符串就是cSxc考虑增量法构造 在末尾加入一个子符,那么从last开始沿着fail找到第一个可以两边加这个字符的位置,它新开一个这个字符

2017-12-09 22:01:13 247

原创 [JZOJ4039][BZOJ3926]【ZJOI2015】诸神眷顾的幻想乡

Description Solution发现叶子节点只有20个那么暴力从每个叶子开始跑,建出一个大Trie把这个Trie用BFS再建成广义SAM即可Code#include <cstdio>#include <iostream>#include <cstdlib>#include <cstring>#include <algorithm>#include <cmath>#define

2017-12-09 20:30:56 290

原创 [JZOJ5500]【清华集训2017模拟12.10】营养餐

DescriptionM 是 DY 的好朋友。为了感谢 JM 多年来对自己的关心,DY 决定请他吃一顿水果营养餐. DY 有一棵有 n 个结点的树,结点 1 为根。树上每一个结点都长着许多水果,其中,结点 i 上有 ai 个水果,每个水果重 bi . 水果虽然好吃,但是这棵树非常脆弱! 一旦某结点的子结点上的水果总重量过大,树枝就会承受不住压力而断裂! 所以,随时需要保持任意一个结点 i:

2017-12-09 16:40:03 192

原创 [JZOJ5498]【清华集训2017模拟12.10】大佬的难题

Description给出三个1~n的排列a,b,c 求∑1≤i,j≤n[ai<aj][bi<bj][ci<cj]\sum\limits_{1\leq i,j\leq n}[a_i<a_j][b_i<b_j][c_i<c_j]n<=2e6Solution就是求长方体内的点的个数很容易想到的是排序,然后扫描,用二维数据结构或者分治+数据结构维护 这样的复杂度是O(Nlog2N)O(N\log^2N

2017-12-09 16:02:48 350 1

原创 后缀自动机(SAM)学习小记

Text自动机的概念此处不解释。。引入我们需要一种数据结构能够识别一个字符串S的所有后缀一种方法是直接建一棵Trie树,把每个后缀扔到里面去这样的时空复杂度都是O(N^2)的,不能满足我们的要求SAM应运而生观察建好的Trie树,我们发现有很多的状态是冗余的,利用率低下核心思想SAM的思想就是将同一类的状态缩到一个点上 这样原来的Trie就变成了一个D...

2017-12-07 17:32:56 460

原创 后缀自动机(SAM)模板

Code单串SAMvoid make(){ int last=1; fo(i,1,n) { int p=last,c=ch[i]-'A'; mx[last=++tot]=i; while(p&amp;&amp;!t[p][c]) t[p][c]=ls,p=fail[p]; if(p) ...

2017-12-07 17:09:11 443

空空如也

空空如也

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

TA关注的人

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