省选
文章平均质量分 78
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
bzoj2555 SubString(LCT+SAM)
题目链接分析: 翻了一下这道题的提交记录,发现yhzq和Mario_sz两个月前就做过了(希望现在填坑还不算晚) 第一次看这道题,感觉就是一道SAM 支持动态添加?SAM可以啊 匹配?SAM也可以啊然而上网,得到都是LCT+SAMLCT+SAMLCT+SAM,直接把我吓傻了 朴素的后缀自动机,每个节点维护一个sizesizesize,添加一个字符时将它parentparentpa...原创 2018-03-24 10:52:20 · 330 阅读 · 0 评论 -
bzoj2707 [SDOI2012]走迷宫(tarjan缩点+拓扑+概率期望+gauss)
DescriptionMorenan被困在了一个迷宫里。迷宫可以视为N个点M条边的有向图,其中Morenan处于起点S,迷宫的终点设为T。可惜的是,Morenan非常的脑小,他只会从一个点出发随机沿着一条从该点出发的有向边,到达另一个点。这样,Morenan走的步数可能很长,也可能是无限,更可能到不了终点。若到不了终点,则步数视为无穷大。但你必须想方设法求出Morenan所走步数的期望值。...原创 2018-03-07 09:03:45 · 693 阅读 · 0 评论 -
bzoj3772 精神污染(dfs序+主席树)
Description兵库县位于日本列岛的中央位置,北临日本海,南面濑户内海直通太平洋,中央部位是森林和山地,与拥有关西机场的大阪府比邻而居,是关西地区面积最大的县,是集经济和文化于一体的一大地区,是日本西部门户,海陆空交通设施发达。濑户内海沿岸气候温暖,多晴天,有日本少见的贸易良港神户港所在的神户市和曾是豪族城邑“城下町”的姬路市等大城市,还有以疗养地而闻名的六甲山地等。兵库县官方也大力发展旅...原创 2018-02-13 10:38:58 · 305 阅读 · 0 评论 -
hdu5343 MZL's Circle Zhou(SAM+dp)
题目链接分析: 这道题是今天hu测T3的精简版 (先来搞简单一点的,hu测的题目太难了。。。)题意:给定两个长度不超过a,b(1 <= |a|,|b| <= 90000) x为a的连续子串,b为y的连续子串(x和y均可以是空串) 问x+y形成的不同串的个数?这时候出现了一个问题对于一个合法解,有可能中间存在一段即是A的子串,又是B的子串 那么此合法解就有多...原创 2018-02-12 20:31:07 · 296 阅读 · 0 评论 -
正月十一hu测 T1.divide(线性基)
【问题描述】 给出n个不超过m的非负整数,将数划分成两个集合,记为1号集合和2号集合。x1为1号集合中所有数的异或和,x2为2号集合中所有数的异或和。 在最大化x1+x2的前提下,最小化x1。 【输入格式】 第一行n 第二行n个非负整数 【输出格式】 一行两个数,第一个数是x1,第二个数是x2 【样例输入】 7 1 1 2 2 2 3 3 【样例输出】 ...原创 2018-02-26 20:03:35 · 357 阅读 · 0 评论 -
bzoj2460 [BeiJing2011]元素(贪心+线性基)
题目链接分析: 看到有异或和,就可以往线性基上考虑 然而写出线性基之后,在统计答案上卡了如果直接按照线性基:for (int i=30;i>=0;i--) if (b[i]) ans+=v[b[i]];这样统计出的答案保证了编号的异或值最大,与题设不符,非常不符原来这道题的核心是贪心啊 我们按照v排序 从大到小插入元素维护线性基 因为...原创 2018-02-26 18:36:15 · 218 阅读 · 0 评论 -
bzoj2780 [Spoj]8093 Sevenk Love Oimaster
题目链接分析: 我一开始的想法比较简单,建出SAMSAM,每个结点记录有多少串使用了这个结点,直接匹配即可 结果竟然T了,按理来说也应该是WA啊在看学姐的blog的时候,发现实际上就是这么搞:我们直接用朴素的方法构建好SAMSAM 我们对每一个结点另开一个数组ll,表示当前每个结点属于哪个字符串 同时记录结点在多少个字符串中出现过:cntcnt 在构建完结点之后,我们从nownow开始往p原创 2018-01-30 15:56:36 · 261 阅读 · 2 评论 -
bzoj3926 [Zjoi2015]诸神眷顾的幻想乡
题目链接分析: 先强调一点,题目中特意指出:太阳花田的结构比较特殊,只与一个空地相邻的空地数量不超过20个 翻译一下:最多有20个叶结点知道这道题是用广义后缀自动机解决 广义SAMSAM中包含了所有互异的子串 所以我们应该把尽量少,但是包含所有情况的字符串扔进SAMSAM中一开始我想的比较简单,只要把所有叶结点到根的字符串扔进去就可以了 但是这样显然包括所有的字符串情况(画个图就知道了,没原创 2018-01-30 11:01:32 · 205 阅读 · 0 评论 -
全场六零赛(1.29)
T1【题目描述】 吾乃闪耀知识的灯塔。 B 君有个n个点,m个边的仙人掌。所谓仙人掌,就是任何一个点至多属于一个环。 每条边有 1/2 的概率被删掉。问期望剩下多少个边联通块。所谓边联通块,就是问剩下的边,构成多少个联通块,单独一个点不算做联通块。 B君不喜欢实数,B君想知道答案乘以2m" role="presentation" style="position: relative;">原创 2018-01-29 16:45:07 · 327 阅读 · 0 评论 -
poj2888 Magic Bracelet(置换+矩阵)
题目链接分析: 做过hdu2865之后就不虚了n个珠子的手镯,n种置换,每个置换的轮换个数gcd(i,n)" role="presentation" style="position: relative;">gcd(i,n)gcd(i,n)gcd(i,n) (比较基础的东西)对于一个置换(转动i" role="presentation" style="position: relati原创 2018-02-06 08:27:39 · 307 阅读 · 0 评论 -
bzoj4448 [Scoi2015]情报传递(树链剖分+主席树)
题目链接分析: 树上路径问题,显然可以链剖看完题的我,大脑中浮现的想法↓: 对于每一个修改,在按照树链剖分建立的线段树上单点修改 记录这个点是什么时刻进行的修改 之后在询问的时候,我们只需查找区间内有多少时间戳小于等于“当前时刻-C-1”的结点即可 那么我们就可在线段树里套一个权值平衡树 这道题的题解:树链剖分+线段树+平衡树我的MA呀,不觉得神烦吗???实际上我们的问...原创 2018-02-10 21:23:27 · 313 阅读 · 0 评论 -
bzoj4539 [Hnoi2016]树(缩点+主席树+LCA【待完善)
题目链接分析: 从学姐blog中扒出来的一道神题小范围数据的暴力非常的显然,然而MLE和TLE不是我们的重点一开始就想到把需要插入的子树直接视为一个点 加上原树,我们得到的就是一个有m+1个结点的重构树最初的模板树缩成一点,作为大树的根结点 我们考虑插入一个子树 子树加入时会重新标号,但是大小顺序是不变的 所以一个结点代表的子树的结点编号一定是一段连续的区间 我们可以通...原创 2018-04-08 12:29:35 · 309 阅读 · 0 评论 -
bzoj1815 [Shoi2006]color 有色图(dfs+置换【polya论文例题)
题目链接分析: 原版题解见论文这个问题中,置换群中的对象就是n(n−1)2" role="presentation" style="position: relative;">n(n−1)2n(n−1)2{n(n-1) \over 2}条边,k种颜色 G" role="presentation" style="position: relative;">GGG是由点的置换引起原创 2018-02-05 17:41:47 · 449 阅读 · 0 评论 -
bzoj3998 [TJOI2015]弦论(SAM)
Description对于一个给定长度为N的字符串,求它的第K小子串是什么。Input 第一行是一个仅由小写英文字母构成的字符串S第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。Output输出仅一行,为一个数字串,为第K小的子串。如果子串数目不足K个,则输出-1Sample Inputaabc0 3Sample Out原创 2018-01-29 15:20:19 · 214 阅读 · 0 评论 -
bzoj2959 长跑(LCT+并查集)
Description 某校开展了同学们喜闻乐见的阳光长跑活动。为了能“为祖国健康工作五十年”,同学们纷纷离开寝室,离开教室,离开实验室,到操场参加3000米长跑运动。一时间操场上熙熙攘攘,摩肩接踵,盛况空前。 为了让同学们更好地监督自己,学校推行了刷卡机制。 学校中有n个地点,用1到n的整数表示,每个地点设有若干个刷卡机。 有以下三类事件: 1、修建了一条连接A地点和B地点的跑原创 2018-01-20 17:48:39 · 389 阅读 · 0 评论 -
bzoj3995 [SDOI2015]道路修建
题目链接分析: 曲神的题解 (曲神表示想要结构体版本的代码,题解最后给出的就是结构体的代码)bzoj1018的进阶版一开始看到这道题:好像不是很难,用线段树维护最小生成树 update的时候直接判断上下哪一条横边比较小,连接即可然而一下就发现了bug: 存在可能性连接点的上下两条边都需要连接 那我们就要深入讨论 代码中的区间划分方式和平成不大一样: [l.r...原创 2018-02-07 19:06:43 · 355 阅读 · 0 评论 -
bzoj2728 [HNOI2012]与非(并查集+数位dp)
题目链接分析: 看一下括号里的算法,就感到深深的绝望。。。首先我们要找到NAND的一些性质:!a=a NAND a a&b=!(a NAND b)有了&和!,其余的位运算就都可以表示了 也就是说:NAND可以代替所有的位运算那么这样就能表示所有的数了吗?不然NAND还有一个重要的性质: 如果a[1]~a[n]所有数的第i位和第j位相同,...原创 2018-02-27 17:29:12 · 252 阅读 · 0 评论 -
bzoj2597 [Wc2007]剪刀石头布(费用流)
题目链接分析: 题目要求给未知边定向,使得图中有最多个三元环一道看似和网络流完全没有关系的题,不过之前我们接触过一道图上问题用网络流解决的问题(无向边定向变欧拉路) 而这道题,我们也可以强扯到网络流上我们的原则:正难则反显然,整个图能产生的最多三元环有C(n,3)C(n,3)C(n,3)个,我们需要将不合法的子图减掉(补集法) 如果三个点无法形成环,那么ta一定长这样: ...原创 2018-03-22 17:13:20 · 210 阅读 · 0 评论 -
hdu3480 Division(四边形不等式优化dp||二维斜率优化dp)
题目链接题目描述: 把一个大集合分成M个小集合,集合的花费是(maxnum−minnum)2(maxnum−minnum)2(maxnum-minnum)^2 求最小花费分析: mmp,题面一定要看明白再想问题显然,每个元素属于一个子集就够了 贪心的,我们可以把尽量相近的数字分到一个集合里 把数字排好序有方程:f[i][j]f[i][j]f[i][j]表示前iii个数分成...原创 2018-03-12 19:57:04 · 304 阅读 · 0 评论 -
bzoj1758 [Wc2010]重建计划(点分治+01分数规划)
题目链接分析: 第一次看这个题:这不就是一个点分治么 统计长度为x的路径最大权值 然而在点分治中统计这个信息的复杂度实际上还是O(n2)O(n2)O(n^2) (处理出dis,还是要枚举端点,这和bzoj2599不一样啊) 而且最后的答案也不好搞啊由于我们要最大化∑w[i]∗x[i]∑x[i]∑w[i]∗x[i]∑x[i]\sum w[i]*x[i] \over \sum x[i...原创 2018-03-05 16:09:41 · 291 阅读 · 0 评论 -
bzoj1095 [ZJOI2007]Hide 捉迷藏(动态点分治|括号序列)
题目链接题意: 树上黑白点,可以改变每个点的状态,求最远黑点对的距离分析: (之前接触过佳佳和岚的幸福生活,感觉这两口子的出镜率很高啊)如果不改变每个点的状态,这道题就比较简单了: 1. 点分治 2. 树形dp:记录每个子树中黑点到子树根最远距离和次远距离(有点像树的直径),更新答案的时候用最大加上次大即可有修改操作的点分治:动态点分治树上的动态点分治就相当于序列上...原创 2018-03-04 11:15:25 · 378 阅读 · 0 评论 -
bzoj4598 [Sdoi2016]模式字符串(hash+点分治)
题目链接分析: 统计树上所有路径,自然想到点分治,而字符串比较,可以用hash的办法想到之前hu测的时候出现的奇技淫巧,但是并不会用(hash值之和为0)在统计答案时候,方向不同答案不同: 所以我们在点分治的时候需要维护两个方向的路径 而且我们在统计路径的时候,只关心是若干个模式串的前缀或后缀的路径现在我们的问题就是:如何判断一个字符串是不是模式串的前缀或后缀 显然我们...原创 2018-03-04 08:28:24 · 309 阅读 · 0 评论 -
bzoj3784 树上的路径(点分治+ST表+优先队列)
Description给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a<b.将这n*(n-1)/2个距离从大到小排序,输出前M个距离值。Input第一行两个正整数N,M下面N-1行,每行三个正整数a,b,c(a,b<=N,C<=10000)。表示结点a到结点b有一条权值为c的边。Ou...原创 2018-03-03 20:04:01 · 824 阅读 · 0 评论 -
bzoj2006 [NOI2010]超级钢琴(ST表+优先队列)
题目链接分析: 显然,最后的答案是从大到小排名前k的和弦之和我们先考虑如何求出最大值 我一开始认为这就是最大子段和的问题,dp即可:f[i]=max(f[i−1]+a[i],a[i])f[i]=max(f[i−1]+a[i],a[i])f[i]=max(f[i-1]+a[i],a[i]) 但是我们对于和弦有长度要求因此,我们先就是计算出前缀和sumsumsum, 之后枚举和弦的...原创 2018-03-03 17:02:32 · 398 阅读 · 0 评论 -
bzoj3160 万径人踪灭(FFT+manacher)
题目链接分析: 直接计算不连续回文子序列有点困难 我们可以先计算出回文子序列的数量,答案就是“回文子序列的数量-连续回文子序列的数量” 而连续回文子序列实际上就是回文子串,用manacher算法O(n)计算即可而回文子序列的数量就有一点难度了 设f[i]f[i]f[i]表示以iii为中心的对称字符对个数(字符串是manacher预处理后的字符串) 那么对于每个中心iii,我们有2...原创 2018-03-03 10:06:54 · 766 阅读 · 0 评论 -
翔哥的hu测 T3. 刁难老师(平衡树+线段树)
版权属于ZYXZYXZYX,想要引用此题(包括题面)的朋友请联系博主 题目来源:[2016国家集训队互测] 基础排序算法练习题(金策)原题提交地址分析: 防AK毒瘤题啊。。。1. 预备技能——消逆序对排序:O(q(m+n²)log n)对于一个序列,找到其中一个位置iii满足a[i]>a[i+1]a[i]>a[i+1]a[i]>a[i+1],交换...原创 2018-03-10 21:50:48 · 381 阅读 · 0 评论 -
翔哥的hu测 T2. 数学作业(计算几何||hash+manacher)
版权属于ZYXZYXZYX,想要引用此题(包括题面)的朋友请联系博主 题目来源:[POI 2007] Axes of Symmetry 原题提交地址分析: 可能是数据较弱 所以用计算几何A掉了 (然而翔哥把我的程序放到原题网站上,一样A掉了。。。果然我是打暴力的料)方法一对于多边形的对称轴,我们要分类讨论:n为偶数 点与点之间的连线形成的对称轴: 我们枚举...原创 2018-03-10 18:54:21 · 299 阅读 · 0 评论 -
翔哥的hu测 T1. 收集树叶(斜率优化dp||随机优化dp)
版权属于ZYXZYXZYX,想要引用此题(包括题面)的朋友请联系博主 题目来源:[CEOI 2004] Two sawmills原题提交地址分析: 首先要吐槽题面。。。其次要注意:我们只在山上建两个额外的加工厂显然是斜率优化dp xue微复习一下斜率优化dp吧方法一显然有状态: f[i][j]f[i][j]f[i][j]表示在位置jjj建立第iii座加工厂 ...原创 2018-03-10 17:12:58 · 210 阅读 · 0 评论 -
codeforces 335 E Counting Skyscrapers(概率期望)
题目链接题目翻译分析: 啊咧,为什么标签都是dp唉? 但是前辈都吐槽这道题根本不是dp啊。。。前辈说有一个O(n2h)O(n2h)O(n^2h)的dp(只针对已知Alice求Bob),xue微想了一下: f[i][k]f[i][k]f[i][k]表示到第i栋楼,ta的高度为k时Bob计数器的期望 枚举与i连接的建筑物j,显然j~i之间不会有楼高于k,概率为:(k−1)xhx,x...原创 2018-03-09 22:02:57 · 254 阅读 · 1 评论 -
bzoj4259 残缺的字符串(dp+FFT)
Description很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n。可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺。你想对这两个串重新进行匹配,其中A为模板串,那么现在问题来了,请回答,对于B的每一个位置i,从这个位置开始连续m个字符形成的子串是否可能与A串完全匹配?Input第一行包含两个正整数m...原创 2018-03-01 17:04:04 · 449 阅读 · 0 评论 -
bzoj3924 [Zjoi2015]幻想乡战略游戏(树链剖分)
Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和别人打仗了。 在打仗之前,幽香现在面临一个非常基本的管理问题需要解决。 整个地图是一个树结构,一共有n块空地,这些空地被n-1条带权边连接起来,使得每两个点之间有...原创 2018-02-22 09:56:12 · 318 阅读 · 0 评论 -
bzoj4311 向量(线段树分治+凸包)
题目链接分析: 我们按照时间种一棵线段树 每一个向量出现在一段时间里,我们就可以区间添加这个向量 在每个线段树的每个结点中用当前有的向量维护一个上凸壳为什么要维护上凸壳呢? 题目要求最大点积 我们知道,点积的公式:x1x2+y1y2x1x2+y1y2x_1x_2+y_1y_2 已知x1,y1x1,y1x_1,y_1,上式就可以转化成一个类似线性规划的东西 显然最优解在凸包上...原创 2018-02-09 08:58:48 · 472 阅读 · 0 评论 -
bzoj3337 ORZJRY I(块状链表)
DescriptionJry最近做(屠)了很多数据结构题,所以想 BS你,他希望你能实现一种数据结构维护一个序列: Input第一行n; 第二行n个数; 第三行q,代表询问个数; 接下来q行,每行一个op,输入格式见描述。Output对于7≤op≤11的操作,一行输出一个答案。Sample Input6 5 2 6 3 1 4 15 7 2 4原创 2018-01-20 11:38:35 · 621 阅读 · 0 评论 -
bzoj1228 [SDOI2009]E&D(博弈【规律)
题目链接分析: 整个问题可以看做是n/2个子问题组成的 根据博弈问题的基本套路,我们要找到每一种状态的SG值,异或起来 如果异或和是0,说明先手必败所以题解都是打表找规律 那好,我把表给出来: 看的我想吐。。。一个显然的规律: 若x和y都是奇数,那么sg=0至于整个数据的规律,需要一点想象力 我们从左上角向右下角看,可以发现是一个逐渐递增的三角形 三角形的值也在原创 2018-01-07 10:35:05 · 532 阅读 · 0 评论 -
bzoj1227 [SDOI2009]虔诚的墓主人(树状数组)
题目描述小W是一片新造公墓的管理人。公墓可以看成一块N×M的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地。 当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地。为了体现自己对主的真诚,他们希望自己的墓地拥有着较高的虔诚度。 一块墓地的虔诚度是指以这块墓地为中心的十字架的数目。一个十字架可以看成中间是墓地,墓地的正上、正下、正左、正右都有恰好k棵常青树。原创 2018-01-08 14:55:22 · 378 阅读 · 0 评论 -
bzoj3550 [ONTAK2010]Vacation (单纯形|网络流)
Description有3N个数,你需要选出一些数,首先保证任意长度为N的区间中选出的数的个数Input第一行两个整数N,K。第二行有3N个整数。Output一行一个整数表示答案。Sample Input5 314 21 9 30 11 8 1 20 29 23 17 27 7 8 35Sample Output195HINT【数据原创 2018-01-24 22:02:04 · 651 阅读 · 0 评论 -
bzoj3112 [Zjoi2013]防守战线(单纯形)
题目描述 Description战线可以看作一个长度为 n 的序列,现在需要在这个序列上建塔来防守敌兵,在序列第 i号位置上建一座塔有 Ci 的花费,且一个位置可以建任意多的塔费用累加计算。有 m个区间[L1, R1], [L2, R2], …, [Lm, Rm],在第 i 个区间的范围内要建至少 Di座塔。求最少花费。输入描述 Input Description第一行原创 2018-01-24 21:32:03 · 245 阅读 · 0 评论 -
bzoj3265 志愿者招募加强版(单纯形)
DescriptionInputOutputSample Input3 3 2 3 41 1 2 21 2 3 51 3 3 2Sample Output14分析: 单纯形算法因为题目中要求的是最小值,并且约束条件是大于等于 所以我们要构建原线性规划的对偶图实际上对偶图十分好构建: 将系数矩阵转置一下,就是a[i原创 2018-01-24 20:45:28 · 346 阅读 · 0 评论 -
bzoj3938 Robot(超哥线段树)
Description小q有n只机器人,一开始他把机器人放在了一条数轴上,第i只机器人在ai的位置上静止,而自己站在原点。在这之后小q会执行一些操作,他想要命令一个机器人向左或者向右移动x格。但是机器人似乎听不清小q的命令,事实上它们会以每秒x格的速度匀速移动。看着自己的机器人越走越远,小q很着急,他想知道当前离他(原点)最远的机器人有多远。具体的操作以及询问见输入格式。注意,不同的机器人之间互不原创 2018-01-16 20:09:53 · 371 阅读 · 0 评论 -
bzoj4032 [HEOI2015]最短不公共子串(字符串dp+SAM)
题目链接分析: 字符串dp四合一 比较神的一道题,一开始只会搞第一问 然而发现自己的方法不是很靠谱First.A子串≠B子串实际上就是求两个串的最长公共子串 f[i][j]" role="presentation" style="position: relative;">f[i][j]f[i][j]f[i][j]表示A序列第i" role="presentation" st原创 2018-01-31 09:50:57 · 318 阅读 · 0 评论