随笔分类 -  OJ -- BZOJ

摘要:题目大意: Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的。 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P。 “2 x”,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B,当且仅 阅读全文
posted @ 2018-11-26 13:58 guapisolo 阅读(172) 评论(0) 推荐(0)
摘要:题目大意:略 裸的AC自动机+数位DP吧... 定义f[i][x][0/1]表示已经匹配到了第i位,当前位置是x,0表示没到上限,1到上限,此时数是数量 然而会出现虚拟前导零,即前几位没有数字的情况,实际上是在0号节点原地打转,所以多加一维状态,再额外讨论第1位就行了 阅读全文
posted @ 2018-11-25 18:28 guapisolo 阅读(174) 评论(0) 推荐(0)
摘要:题目大意:给你$N$个长度相等且互不相同的模式串,现在有一个字符串生成器会不断生成字符,其中每个字符出现的概率是$p_{i}/q_{i}$,当生成器生成的字符串包含了某个模式串,则拥有该模式串的玩家胜利,然后游戏立即结束,求每个玩家获胜的概率 $N<=10$ 首先建出$Trie$图 接着设$f[i] 阅读全文
posted @ 2018-11-25 15:10 guapisolo 阅读(254) 评论(0) 推荐(0)
摘要:BZOJ1195 LOJ10061 题目大意:给你$n$个模式串,求一个最短且字典序最小的文本串并输出这个串,$n<=12,len<=50$ 首先对所有模式串构造$Trie$图,$Trie$图的性质和$DP$的性质简直是完美契合.. 模式串数量很少,考虑状压 定义$f[x][s]$表示现在所在$Tr 阅读全文
posted @ 2018-11-24 19:44 guapisolo 阅读(288) 评论(0) 推荐(0)
摘要:LOJ BZOJ 题目大意:给你一些模式串,问是否存在一个无限长的文本串,不包含任何一个给定的模式串 并没有想到去模拟合法的文本串在模式串的Trie图上匹配的过程..我好菜啊 如果一个字符串合法,那么它的每个子串都不是任何一个模式串的结尾,即沿着Fail链跳到根的每个点都不是结尾 一个合法文本串在模 阅读全文
posted @ 2018-11-24 16:16 guapisolo 阅读(196) 评论(0) 推荐(0)
摘要:题目大意:略 upd in 2021.7.9 每次都比较当前棋盘与目标棋盘会造成大小为25的常数,考虑统计出当前棋盘和目标棋盘不同的位置的数量k,那么当前棋盘变成目标棋盘最少的移动次数是k-1,只有最后一次会让差异一下子减少二,其他的情况本质上最多只能减少1 每次选择一个最大深度ma,那么如果当前走 阅读全文
posted @ 2018-11-23 19:15 guapisolo 阅读(227) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,需要支持区间修改,以及查询一段区间$a_{i}^{a_{i+1}^{a_{i+2}...}}mod\;p$的值,每次询问的$p$的值不同 对于区间修改,由线段树完成,没什么好说的 对于查询,利用"上帝与集合的正确用法"那道题的方法,不断取$\phi(p)$降幂,那么最多迭代$ 阅读全文
posted @ 2018-11-22 15:39 guapisolo 阅读(360) 评论(0) 推荐(0)
摘要:题目大意:求$\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)$的和 易得$\sum_{i=1}^{n}\sum_{j=1}^{m}\frac{ij}{gcd(i,j)}$ 套路1:提取出$gcd$ $\sum_{k=1}^{n}\frac{1}{k}\sum_{i=1}^{ 阅读全文
posted @ 2018-11-18 22:32 guapisolo 阅读(224) 评论(0) 推荐(0)
摘要:题目大意:有一张$n*m$的数表,第$i$行第$j$列的数是同时能整除$i,j$的所有数之和,求数表内所有不大于A的数之和 先是看错题了...接着看对题了发现不会做了...刚了大半个下午无果 看了Po姐的题解(Orzzz)才搞懂这道题,搞清楚了莫比乌斯反演的两种经典的卷积形式的不同之处 令$\sig 阅读全文
posted @ 2018-11-17 23:30 guapisolo 阅读(160) 评论(0) 推荐(0)
摘要:题目大意:已知x\in [a,b],y\in [c,d],求gcd(x,y)为k的有序数对数量 a,b,c,d,k及询问数<=50000 比yy的gcd好做一些吧 转化题目,直接求解比较困难,利用容斥原理,问题转化为求$ans(b,d)-ans(a-1,d)-ans(b,c-1)+ans(a-1,c 阅读全文
posted @ 2018-11-16 17:18 guapisolo 阅读(120) 评论(0) 推荐(0)
摘要:题目大意:求$gcd(i,j)==k,i\in[1,n],j\in[1,m] ,k\in prime,n,m<=10^{7}$的有序数对个数,不超过10^{4}次询问 莫比乌斯反演入门题 为方便表述,由于n和m等价,以下内容均默认n<=m 题目让我们求:$\sum_{k=1}^{n}\sum_{i= 阅读全文
posted @ 2018-11-16 16:03 guapisolo 阅读(258) 评论(0) 推荐(0)
摘要:题目大意:太长了,略 bzoj luogu 并没有想到三进制状压 题解: 3进制状压陷阱的状态,0表示这种陷阱的状态未知,1已知危险,2已知不危险 然后预处理出在当前状态下,每种陷阱有害的概率,设为$g[s][i]$ 已知是危险的,有害概率为1 已知是不危险的,有害概率为0 未知的部分用概率表格里符 阅读全文
posted @ 2018-11-14 15:58 guapisolo 阅读(278) 评论(0) 推荐(0)
摘要:题目大意:求$G^{\sum_{m|n} C_{n}^{m}}\;mod\;999911659\;$的值$(n,g<=10^{9})$ 并没有想到欧拉定理.. 999911659是一个质数,所以$\varphi(p)=p-1$ 利用欧拉定理,降幂化简式子$G^{\sum_{m|n} C_{n}^{m 阅读全文
posted @ 2018-11-08 14:26 guapisolo 阅读(251) 评论(0) 推荐(0)
摘要:题目大意:给定一个方程$X_{1}+X_{2}+X_{3}+X_{4}+...+X_{n}=M$,$\forall X_{i}<=A_{i} (i<=n1)$ $\forall X_{i}>=A_{i} (n1<i<=n2)$在保证的合法正整数解个数n1<=8,n2<=8 一波三折的数学题,调了半天 阅读全文
posted @ 2018-11-01 19:25 guapisolo 阅读(187) 评论(0) 推荐(0)
摘要:题目大意:已知B的范围,求a1x1+a2x2+...+anxn==B存在非负正整数解的B的数量,N<=12,ai<=1e5,B<=1e12 同余最短路裸题 思想大概是这样的,我们选定一个最小的$ai$,让其他的数用最小的代价去拼凑取余a1之后的数,这其实可以看成求最短路的过程 想象图中有amin个点 阅读全文
posted @ 2018-10-18 16:03 guapisolo 阅读(245) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,让你对它重新排列,保证a[i]<=a[i/k],求字典序最大的排列 洛谷传送门​​​​​​​ 把i/k和i连边,发现形成了一个类似于小根堆的树形结构 先是一个错误的贪心:贪心每次选择前size[x]大个数依次填到树里 这种方法在有重复数字的时候会出锅,比如1112,如果用上面 阅读全文
posted @ 2018-10-09 15:43 guapisolo 阅读(301) 评论(0) 推荐(0)
摘要:题目大意:给你一个n*m棋盘(n,m<=200),有一个人从给定的点s,e出发,有一些坏点不能走,一共给定k段连续的时间(k<=200),在某一段时间之内它只能向一个给定的方向移动,在某一时刻,它可以移动或者不移动。求碰到坏点之前/总时间结束时,最长移动的距离。 朴素DP的方法是: 表示在时间点t时 阅读全文
posted @ 2018-10-06 10:19 guapisolo 阅读(159) 评论(0) 推荐(0)
摘要:题目大意:给你n个1和m个0,你要用这些数字组成一个长度为n+m的串,对于任意一个位置k,要保证前k个数字中1的数量大于等于0的数量,求所有合法的串的数量 答案转化为所有方案数-不合法方案数 所有方案数显然是 现在比较易懂的解法是转化进坐标系 从(0,0)开始,填1视为向右上↗走,填0视为向右下↘走 阅读全文
posted @ 2018-10-05 13:08 guapisolo 阅读(162) 评论(0) 推荐(0)
摘要:题目大意:给你一个n*m的棋盘,有一些坏点不能走,你有很多军队,每支军队可以像象棋里的马一样移动,不过马是1*2移动的,而军队是r*c移动的,军队只能从上往下移动,如果一个点已经被一直军队经过,那么其他军队不能再经过这个点,求覆盖所有非坏点的最少军队数 洛谷P2172传送门 对在某个点的军队可能跳的 阅读全文
posted @ 2018-10-05 10:59 guapisolo 阅读(223) 评论(0) 推荐(0)
摘要:题目大意:给你一个无向联通图,节点数n<=1000。聪聪有一个机器人从C点出发向在M点的可可移动,去追赶并吃掉可可,在单位时间内,机器人会先朝离可可最近的节点移动1步,如果移动一步机器人并不能吃掉可可,那机器人会再向可可的方向移动一格,如果有两个节点到可可的距离相等,那机器人会移动到编号较小的一个节 阅读全文
posted @ 2018-10-04 19:48 guapisolo 阅读(188) 评论(0) 推荐(0)