自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ylsoi的博客

A man won't be old if he is still seeking.

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 [bzoj1030][JSOI2007]文本生成器——AC自动机+动态规划

题目大意:给定n个给定的串,求有多少个串满足存在给定的串是这个串的子串。思路:直接计算存在的不太好算,考虑反面计数,计算有多少个串找不到匹配。那么当我们把AC自动机给建出来之后,不难发现一个满足要求的串会一直在AC自动机上面跳并且到不了已经匹配上的节点,于是问题便转化成了有向图的路径计数。考虑DP,记dp[i][j]表示走了i步走到了第j个节点,每一个点枚举下一个字符是什么,直接在AC自...

2018-12-27 19:06:43 308

原创 [bzoj3172][Tjoi2013]单词——AC自动机

题目大意:某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。思路:第i个单词在整个文章中出现了多少次即i串的结尾可以被多少个串的节点给跳到。于是吧fail看成每个节点唯一的父亲,每个节点的权值为有多少个单词的前缀经过了它,然后直接统计子树内的权值和即可。#include<bits/stdc++.h>#de...

2018-12-27 15:33:10 195

原创 [bzoj2434][Noi2011]阿狸的打字机——AC自动机

题目大意:给定n个字符串,每次询问第x个字符串在第y个字符串中出现了多少次。思路:显然我们需要先把AC自动机给建出来。考虑如何最暴力地计算第x个字符在第y个字符中出现了多少次,我们可以在Trie上暴力跳y的每一个节点,然后对于y的每一个节点跳fail,如果跳到了x串的结尾,那么答案+1。这样对于每一个节点都跳fail显然复杂度无法接受,那么换一个角度考虑,x的结尾可以被y串上的多少个节点...

2018-12-26 21:52:55 122

原创 [bzoj2938][Poi2000]病毒——AC自动机

题目大意:给定n个01串,求是否存在一个长度无穷的01串使得这个01串不包含任何一个给定的串。思路:考虑AC自动机匹配的过程是在Trie树上不停地跳,那么如果我们可以找到一个串使得这个串可以一直在Trie上跳并且永远跳不到匹配节点就说明可行。可以发现这样的话这个串在AC自动机上的匹配一定是会出现环的,于是我们直接dfs找环就好了。考虑如何判断这个节点是否可以走到,即这个节点以及这个节点的...

2018-12-26 19:43:48 197

原创 [atcoder caddi]E - Negative Doubling——栈+贪心

题目大意:给定nnn个正整数aia_iai​,每次可以将一个数乘以-2,求最小的操作次数使得最后的序列单调不降。思路:最后的序列一定是前面为负数,后面为正数。于是我们枚举正数负数的分割点,这样操作就只有乘4一种了,现在问题转化为用最小的操作次数将一段前缀变成单调不升和一段后缀变成单调不降的。前缀和后缀的情况类似,现在考虑前缀:不难发现每添加一个新的点iii,前面的数就要选择一截乘[j,i...

2018-12-23 19:06:46 341

原创 [CF351E]Jeff and Permutation——贪心

题目大意:给出数组a ,你可以改变每个数的正负,求逆序对数最少是多少思路:考虑一个数对(ai,aj)(a_i,a_j)(ai​,aj​)的贡献之和绝对值大的那个数字有关。于是我们把每个数对的计算放在绝对值较大的那个数上面,不难发现这个位置产生的逆序对只和它自己本身的正负有关,直接BIT贪心就好了。#include<bits/stdc++.h>#define REP(i,a...

2018-12-23 11:13:29 239

原创 [atcoder caddi2018]D.Harlequin——博弈论

题目大意:给定n堆石子,每一次可以从不同的堆中取1个石子或者不取,求最后的谁获胜。思路:一种状态E全部都是偶数,另外一种状态O即存在奇数。不难发现最后的状态为E。如果拿到了E不论怎么操作都会变成O,如果拿到了O总有办法变成E,即先手必胜的状态为O,先手必败的状态为E。#include<bits/stdc++.h>#define REP(i,a,b) for(int i=...

2018-12-23 10:27:34 273

原创 [bzoj2004][Hnoi2010]Bus 公交线路——动态规划+矩阵快速幂

题目大意:小Z所在的城市有N个公交车站,排列在一条长(N-1)km的直线上,从左到右依次编号为1到N,相邻公交车站间的距离均为1km。 作为公交车线路的规划者,小Z调查了市民的需求,决定按下述规则设计线路:设共K辆公交车,则1到K号站作为始发站,N-K+1到N号台作为终点站。每个车站必须被一辆且仅一辆公交车经过(始发站和终点站也算被经过)。公交车只能从编号较小的站台驶往编号较大的站台。一...

2018-12-13 13:15:08 438 2

原创 [bzoj2339][HNOI2011]卡农——动态规划+容斥原理

题目大意:众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则。他将声音分成 n 个音阶,并将音乐分成若干个片段。音乐的每个片段都是由 1 到 n 个音阶构成的和声,即从 n 个音阶中挑选若干个音阶同时演奏出来。为了强调与卡农的不同,他规定任意两个片段所包含的音阶集合都不同。同时为了保持音乐的规律性,他还规定在一段音乐中每个音阶被奏响的次数为偶数。现在的问...

2018-12-12 18:59:42 585

原创 [HNOI2012]排队——高精度

题目大意:某中学有 n 名男同学,m 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)思路:不难发现男生可以分开女生和老师,女生和老师也可以互相分开。于是我们先把男生给全部排好,先放两个老师,讨论一下她们是被男生分开还是暂时相邻后面再被女生分开。于是可以得到最终的答案的式子:n!×...

2018-12-12 18:34:26 369

原创 [HNOI2015]接水果——整体二分

题目大意:给定一颗树和m条带有权值的路径以及q个路径询问,每次求m条路径中且为给出的路径的子路径的第k小。思路:首先考虑怎么判断一条路经是不是一条路径的子路径,假设这条路径在树上拐弯,那么包含它的路径的两个端点要分别在两个子树里面,如果这条路径在树上不拐弯,假设vvv是深度大的那个,uuu是深度小的那个,那么包含它的路径要有一个端点在vvv的子树内,另外一个端点在uuu连接vvv的那个儿子的...

2018-12-11 18:50:24 196

原创 [bzoj2142]礼物——扩展卢卡斯定理

题目大意:一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某个人在这两种方案中收到的礼物不同)。由于方案数可能会很大,你只需要输出模P后的结...

2018-12-10 18:22:29 160

原创 [bzoj4830][Hnoi2017]抛硬币——数论+拓展卢卡斯定理

题目大意:先抛a次硬币,再抛b次硬币,求前a次正面朝上的次数比后b次正面朝上的次数多的情况数。思路:不难发现答案为∑i=0a∑j=0i−1(ai)×(bj)\sum_{i=0}^{a}\sum_{j=0}^{i-1}{a\choose i}\times {b\choose j}∑i=0a​∑j=0i−1​(ia​)×(jb​),然后将b的情况全部反过来,并将a,b接成同一个序列,答案变成了∑...

2018-12-10 16:16:22 284 1

原创 [bzoj5343][Ctsc2018]混合果汁——二分答案+主席树

题目描述:小 R 热衷于做黑暗料理,尤其是混合果汁。商店里有 nnn 种果汁,编号为 0,1,⋯,n−10,1,\cdots,n-10,1,⋯,n−1 。iii 号果汁的美味度是 did_idi​,每升价格为 pip_ipi​。小 R 在制作混合果汁时,还有一些特殊的规定,即在一瓶混合果汁中,iii 号果汁最多只能添加 lil_ili​ 升。现在有 mmm 个小朋友过来找小 R 要混合果汁...

2018-12-09 14:45:16 302

原创 [bzoj4540][Hnoi2016]序列——单调栈+莫队+RMQ

题目大意:给定一个序列,每次询问一个区间[L,R]所有子区间的最小值之和。思路:考虑莫队如何转移,新增一个端点R,则增加的区间为[L…R-1,R],考虑这些区间新贡献的最小值。我们把从R开始向左单调下降的序列给求出来,不难发现最小值是由区间内包含的最靠左一个在单调下降序列里的元素的值所决定的。于是我们利用单调栈求出每一个元素前面第一个小于它的元素preipre_iprei​,并求出以这个...

2018-12-09 09:06:44 201

原创 [bzoj4542][Hnoi2016]大数——同余+莫队

题目大意:给定一个质数p和一串数字序列,每次询问一个区间[L,R]中有多少个子区间表示的数为p的倍数。思路:首先考虑如何判断一段数字是不是p的倍数,不难想到可以用模p意义下的值来判断,但是这样最多便有可能会有n2n^2n2个余数,每一次计算也需要区间长度的时间,不太方便。考虑记录以每一个点为起点的后缀所表示的数字在模p下的结果sumisum_isumi​,对于任意一段区间[L,R],不难发...

2018-12-05 21:20:54 187

原创 [bzoj4010][HNOI2015]菜肴制作——拓扑排序

题目大意:给定一个有向图,求拓扑序使得每一个数的位置序列的字典序最小。思路:要求小的数尽量靠前,考虑从后填数,也就是按照反图的拓扑序来从后往前填,既然小的数尽量往前,那么最后一个位置就尽量要大的数,依次类推可得最终的答案应该满足反过来的序列字典序最大。#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a,i##_end...

2018-12-05 19:29:49 148

原创 [bzoj5285][Hnoi2018]寻宝游戏——思维+排序

题目大意:给定n个m位的二进制数,在每一个数前面补上一个∨\lor∨或∧\land∧,最前面补上一个0,每次询问最后运算结果为r的方案数为多少。思路 :感觉MYY出的题就是不一样。位数很多,所以应该要想到对于每一位单独考虑。对于单独每一位,考虑每一个运算符这一位上的影响,不难发现总共有四种情况:∧1,∧0,∨1,∨0\land 1, \land 0, \lor 1, \lor 0∧1,∧...

2018-12-05 19:21:27 311

原创 NOIP2018游记&&总结

拖了这么久才来得及写游记。。。day1早上怕开车走错路,于是提早了半个小时出发,结果真的走错了路。到了考场之后就一直在外面游荡,到了考试时间才跟着人流走到了5楼。找到了自己的机子之后二话不说先把键盘从抽屉里面拔出来放到桌子上,去年这个时候就是因为键盘在抽屉里面然后不爽了很久。监考老师一直说不允许开考前动电脑,但是还是自己偷偷地先把vim给配完了,同时顺便把三道题的头文件和快读打完了。打开...

2018-12-04 20:19:27 241

原创 [bzoj5286][Hnoi2018]转盘——线段树

题目大意:一次小 G 和小 H 原本准备去聚餐,但由于太麻烦了于是题面简化如下:一个转盘上有摆成一圈的

2018-12-03 20:50:23 234

原创 [bzoj5289][Hnoi2018]排列——贪心+堆

题目大意:给定 n 个整数 a 1 , a 2 , …, a n ,0 ≤ a i ≤ n,以及 n 个整数 w 1 , w 2 , …, w n 。称 a 1 , a 2 , …, a n 的一个排列 a p[1] , a p[2] , …, a p[n] 为 a 1 , a 2 , …, a n 的一个合法排列,当且仅当该排列满足:对于任意的 k 和任意的 j,如果 j<=k,那么...

2018-12-02 16:16:50 207

WC2018讲课课件

WC2018讲课课件,CommonAnts_浅谈卷积定理在OI中的应用及扩展,NP-Hard问题求解方法杂谈 钟AK,OI 中的超现实数和不平等博弈问题 杜瑜皓...

2018-12-08

空空如也

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

TA关注的人

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