11 2018 档案

摘要:洛谷传送门 题目大意:给你一个长度为$n$的序列和$m$个区间,每个区间内有且仅有一个1,其它数必须是0,求整个序列中数字1最多的数量 神题,竟然是$DP$ 定义$f_{i}$表示第i位放一个1时,最多的1的数量 因为每个区间至少一个点,如果要在$i$位置放一个1,显然在$i$左侧没覆盖$i$的区间 阅读全文
posted @ 2018-11-30 20:51 guapisolo 阅读(213) 评论(0) 推荐(0)
摘要:题目大意:有k个工人,有一排n个砖头,现在要给砖头染色,每个工人要么不染色,要么选择一个包含$s_{i}$的,长度不大于$l_{i}$的区域进行染色,然后他们会获得$len\cdot p_{i}$的报酬,求使所有工人总报酬最大的方案,输出最大报酬 定义$f[i][j]$表示已经遍历到了第i个工人,遍 阅读全文
posted @ 2018-11-30 14:49 guapisolo 阅读(161) 评论(0) 推荐(0)
摘要:洛谷传送门 题目: Fish 是一条生活在海里的鱼,有一天他很无聊,就开始数数玩。他数数玩的具体规则是: 确定数数的进制$B$ 确定一个数数的区间$[L, R]$ 对于$[L, R] $间的每一个数,把该数视为一个字符串,列出该字符串的每一个(连续的)子串对应的$B$进制数的值。 对所有列出的数求和 阅读全文
posted @ 2018-11-30 14:10 guapisolo 阅读(490) 评论(0) 推荐(1)
摘要:题目大意:当一个数字,从左到右依次看过去数字没有出现先递增接着递减的“山峰”现象,就被称作 Valley Number。它可以递增,也可以递减,还可以先递减再 递增。在递增或递减的过程中可以出现相等的情况。 比如,1,10,12,212,32122都是 Valley Number。 121,1233 阅读全文
posted @ 2018-11-28 20:32 guapisolo 阅读(209) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,共有$q$个询问,每次询问区间$[L,R]$内最大连续字段异或和,强制在线,$n<=12000,m<=5000$ 有个细节没处理好$WA$了好久..还有一次$ans$没清零 先对序列建出可持久化$01Trie$ 分块预处理出,任意两块所覆盖区域的最大$xor$和,枚举右侧块内 阅读全文
posted @ 2018-11-28 15:38 guapisolo 阅读(224) 评论(0) 推荐(0)
摘要:题目大意:给你一个长方形矩阵,位置$i,j$上的数是$a_{i}\;xor\;b_{j}$,求某个子矩阵内第$K$大的值 最先想的是二分答案然后验证,然而是$O(qnlogmloga_{i})$,不出意外会被卡..看完题解才恍然大悟 $01Trie$是具有二分性质的!因为每个节点最多有2个儿子! 先 阅读全文
posted @ 2018-11-28 13:21 guapisolo 阅读(238) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,求出第$K$小的两两异或值 先建出来可持久化$01Trie$ 用一个$set$/堆存结构体,存某个异或对$<i,j>$的第二关键字$j$,以及$ai\;xor\;aj$的值,堆中按异或值从小到大排序 每次取出一对$<i,j>$并把它从堆中删除 在$[0,j-1]$的 可持久化 阅读全文
posted @ 2018-11-27 19:41 guapisolo 阅读(186) 评论(0) 推荐(0)
摘要:题目大意:给你一个长度为$n$的序列,让你找出一段子序列,求其中的 次大值 异或 序列里一个数 能得到的最大值 先对序列建出可持久化$Trie$ 按元素的值从小到大遍历,设当前元素的位置是i,找出它左右离它最近第一个比$a_{i}$的位置$l1,r1$,再找出第二个比$a_{i}$大的位置$l2,r 阅读全文
posted @ 2018-11-27 18:30 guapisolo 阅读(280) 评论(0) 推荐(0)
摘要:题目大意:让你维护一个序列,支持在序列末插入一个数,支持询问$[l,r]$区间内选择一个位置$p$,使$xor\sum_{i=p}^{n}a_{i}$最大 可持久化$01Trie$裸题,把 区间异或和 转化为区间端点前缀异或和的异或值 即求$xsum_{n}\;xor\;max(xsum_{i})i 阅读全文
posted @ 2018-11-27 15:56 guapisolo 阅读(232) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,当$1<=l_{1}<=r_{i}<l_{2}<=r_{2}<=n$,求$a_{l1}^...a_{r1}+a_{l2}^...a_{r2}$的最大值 一直在想怎么用可持久化$Trie$搞这道题,卡了一个半小时,看完题解发现我是$sb$,根本不用可持久化 把 区间异或和 转化 阅读全文
posted @ 2018-11-27 12:59 guapisolo 阅读(184) 评论(0) 推荐(0)
摘要:题目大意:略 这竟然是$thusc$的题... 先把询问里加入的串全拎出来,建出$Trie$树,$Trie$里每个节点都开一个$vector$记录操作标号,再记录操作数量$sum$ 然后瞎**搞搞就行了 又水了一篇博客 upd:数据太水了吧..我原来的代码,query函数里的特判是错的= = 阅读全文
posted @ 2018-11-26 20:42 guapisolo 阅读(206) 评论(0) 推荐(0)
摘要:题目大意:给你一个串,求这个串被最少数量的回文串拼起来的次数,两个回文串可以重叠拼接,但必须保证重叠的部分完全相同 先用$Manacher$预处理出最长回文半径$p_{i}$。 再用最长双回文串的方法,处理出数组$e_{i}$,以$i$为开头最长回文串结尾的位置 在已经被遍历到的位置中,选择$e_{ 阅读全文
posted @ 2018-11-26 19:12 guapisolo 阅读(148) 评论(0) 推荐(0)
摘要:题目大意:给你一个字符串每个位置和相邻两个位置为回文中心的最长回文串长度,让你构造一个合法的字典序最小的字符串 挺有意思的构造题 首先按照$Manacher$的思想还原$p$数组 定义$f_{ij}$表示$i$位置不能放$j$这个字符 我们逆模拟$manacher$的构造过程,如果$i+p_{i}> 阅读全文
posted @ 2018-11-26 18:55 guapisolo 阅读(156) 评论(0) 推荐(0)
摘要:题目大意:一个双回文串被定义为,这个串在某个位置断开,前面一段和后面一段都是回文串,求最长的双回文串 并没有想出怎么线性求出$R_{i}$数组= =,只想了个线段树,但竟然要区间修改等差数列再维护最大值,我并不会,一看就不是正解 正解是先用$Manacher$求出以$i$为回文中心,最长的回文半径$ 阅读全文
posted @ 2018-11-26 16:35 guapisolo 阅读(165) 评论(0) 推荐(0)
摘要:题目大意: 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 阅读(255) 评论(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)
摘要:会把考试/做题时犯得不太容易发现的错误记录下... 错误 1.在$Trie$图/$trs$图上乱搞时,注意可能需要把$fail$树/$parent$树中节点的贡献传递给子树 2.斜率优化$DP$,尤其注意别把$i,j$打反了! 3.空间不要开小了!线段树4倍,$SAM$2倍,$dfs$序2倍,邻接表 阅读全文
posted @ 2018-11-24 19:22 guapisolo 阅读(236) 评论(0) 推荐(0)
摘要:LOJ BZOJ 题目大意:给你一些模式串,问是否存在一个无限长的文本串,不包含任何一个给定的模式串 并没有想到去模拟合法的文本串在模式串的Trie图上匹配的过程..我好菜啊 如果一个字符串合法,那么它的每个子串都不是任何一个模式串的结尾,即沿着Fail链跳到根的每个点都不是结尾 一个合法文本串在模 阅读全文
posted @ 2018-11-24 16:16 guapisolo 阅读(196) 评论(0) 推荐(0)
摘要:题目大意:略 每次选择一个最大深度K,跑IDA* 估价函数H=8-中间8个格里出现次数最多的数的个数x,即把它填满这个数最少需要8-x次操作,如果dep+H>K,就跳出.. 深搜的时候暴力修改,记录操作的方向,回溯再改回来就行了,根本不用把网格压进状态里嘛.. 又水了一篇博客 阅读全文
posted @ 2018-11-24 11:38 guapisolo 阅读(166) 评论(0) 推荐(0)
摘要:题目大意:略 题目里所有的运算都是幂运算,所以转化成指数的加减 由于搜索层数不会超过$2*log$层,所以用一个栈存储哪些数已经被组合出来了,不必暴力枚举哪些数已经被搜出来了 然后跑$iddfs$就行了 可以加一个剪枝,设你选择的最大迭代深度为K,现在如果当前组合出的数$x$,满足$x*2^{K-d 阅读全文
posted @ 2018-11-24 09:44 guapisolo 阅读(283) 评论(0) 推荐(0)
摘要:题目大意:略 upd in 2021.7.9 每次都比较当前棋盘与目标棋盘会造成大小为25的常数,考虑统计出当前棋盘和目标棋盘不同的位置的数量k,那么当前棋盘变成目标棋盘最少的移动次数是k-1,只有最后一次会让差异一下子减少二,其他的情况本质上最多只能减少1 每次选择一个最大深度ma,那么如果当前走 阅读全文
posted @ 2018-11-23 19:15 guapisolo 阅读(228) 评论(0) 推荐(0)
摘要:题目大意:裸的八数码问题,让你输出空格的一条合法移动路径 首先利用康托展开对排列编号,可以预处理出排列,就不必逆展开了 然后利用A*算法求解 A*算法是一种启发式搜索,具体实现要用到优先队列/堆,不同于$dijkstra$,它的堆不是按照 初始状态向当前状态的花费$dis_{i}$进行贪心转移,而是 阅读全文
posted @ 2018-11-23 16:10 guapisolo 阅读(298) 评论(0) 推荐(0)
摘要:题目大意:给你一个分数$a/b$,把它拆解成$\sum_{i=1}^{n}1/ai$的形式,必须保证$ai$互不相同的情况下,尽量保证n最小,其次保证分母最大的分数的分母最小 什么鬼玄学题!!! 因为要保证$n$最小,所以从小到大遍历最大层数$n$,令$a'/b'$表示当前剩余的需要被拆解的数 如果 阅读全文
posted @ 2018-11-22 20:10 guapisolo 阅读(752) 评论(0) 推荐(0)
摘要:题目大意:给你一个8*8的棋盘,上面有四个棋子,给你一个初始排布,一个目标排布,每次移动,可以把一个棋子移动到一个相邻的空位,或者跨过1个相邻的棋子,在保证棋子移动不超过8次的情况下,问能否把棋盘上的棋子由初始排布变成目标排布 8*8的棋盘,刚好不爆ull,状压那些位置有棋子 然后从初始状态开始,暴 阅读全文
posted @ 2018-11-22 18:33 guapisolo 阅读(472) 评论(0) 推荐(0)
摘要:题目大意:给你一个序列,需要支持区间修改,以及查询一段区间$a_{i}^{a_{i+1}^{a_{i+2}...}}mod\;p$的值,每次询问的$p$的值不同 对于区间修改,由线段树完成,没什么好说的 对于查询,利用"上帝与集合的正确用法"那道题的方法,不断取$\phi(p)$降幂,那么最多迭代$ 阅读全文
posted @ 2018-11-22 15:39 guapisolo 阅读(362) 评论(0) 推荐(0)
摘要:题目大意:略 卡常终于卡过了!!!!卡常真的蛋疼 阅读全文
posted @ 2018-11-20 19:55 guapisolo 阅读(196) 评论(0) 推荐(0)
摘要:题目大意:求满足gcd(a,b,c)==1,1/a+1/b=1/c,a,b,c<=n的{a,b,c}有序三元组个数 因为题目里有LJJ我才做的这道题 出题人官方题解https://www.cnblogs.com/Blog-of-Eden/p/9367521.html对我帮助很大 思维很巧妙的一道题, 阅读全文
posted @ 2018-11-19 19:21 guapisolo 阅读(361) 评论(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 阅读(279) 评论(0) 推荐(0)
摘要:Day -2 上午,大家都在复习各种模板,zhx总结了足足67个模板(杨辉三角也算模板???),lgl死磕FFT发现cos和sin打反了,我也是复习板子和以前做过的题,几乎没有人颓。 接着jdr,lgl还有我打了打洛咕的热身赛,前十道题全场切。最后三道题目没什么头绪,我索性扔了没管。快到晚饭的时候l 阅读全文
posted @ 2018-11-11 23:24 guapisolo 阅读(497) 评论(6) 推荐(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 阅读(252) 评论(0) 推荐(0)
摘要:联赛前终于把高精度的坑填上了 读入写错了导致第一交爆5了.. 贴上丑陋的压4位代码 阅读全文
posted @ 2018-11-07 09:05 guapisolo 阅读(148) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-11-05 14:35 guapisolo 阅读(14) 评论(0) 推荐(0)
摘要:题目大意:要煎一块有两个面的肉,只能在一段k不相交的时间段$[l_{i},r_{i}]$内翻转,求$2*n$秒后,保证两个面煎的时间一样长时,需要最少的翻转次数,$n<=100000$,$k<=100$ 神仙单调队列优化$DP$, [NOI2005]瑰丽华尔兹 也有类似的压时间段的套路,但这道题可比 阅读全文
posted @ 2018-11-04 12:28 guapisolo 阅读(399) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,点有点权$a_{i}$,边有边权$w_{e}$,定义一种路径称为$2-path$,每条边最多经过2次且该路径的权值为$\sum _{x} a_{x}\;-\;\sum_{e}w_{e}\cdot k_{e}$,$k_{e}$为边的经过次数,一共$Q$次询问,每次查询经过$x,y 阅读全文
posted @ 2018-11-02 21:16 guapisolo 阅读(259) 评论(0) 推荐(0)
摘要:题目大意:给你一个长度为$n$的括号序列$T$,要求你构造一个长度为$2n$的括号序列$S$,保证这个括号序列在插入数字后一定是正确的,并且$T$是$S$的一个子串 还以为是什么纯粹的数学构造题,一通乱搞无果。好吧,并没有想到$KMP$.... 题解:首先用$KMP$预处理出数组$to[i][0/1 阅读全文
posted @ 2018-11-02 15:17 guapisolo 阅读(226) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,每个点有点权a_{i},求$\sum _{i=1}^{n} \sum _{j=i}^{n} f(i,j)$,$f(i,j)$表示i,j,路径上的点的最大权值-最小权值 正解的思路好神啊 正解: 首先,原式可以拆成$\sum _{i=1}^{n} \sum _{j=i}^{n} 阅读全文
posted @ 2018-11-02 10:46 guapisolo 阅读(360) 评论(0) 推荐(0)
摘要:题目大意:给你一个棋盘,你需要控制棋子依次经过编号为1~n的所有点,棋子的可以是车,马,象,都依照国际象棋的行棋方式,每走一步消耗1单位时间,但每次更换棋子都需要额外1单位时间,求经过所有点需要的最少时间 ,如果多种方案需要的最少时间相同,输出更换棋子次数最少的那个 有的机房老人用了记忆化搜索,但写 阅读全文
posted @ 2018-11-02 09:17 guapisolo 阅读(298) 评论(0) 推荐(0)
摘要:拓展Lucas是解决大组合数取模非质数(尤其是含平方因子的合数)问题的有力工具... 首先对模数质因数分解,把每个质因子单独拎出来处理答案,然后用中国剩余定理(excrt)合并 问题转化为,对于每个质因子p,求$C_{n}^{m}(mod\;p^k)$ 把$C_{n}^{m}$展开成$\frac{n 阅读全文
posted @ 2018-11-01 19:45 guapisolo 阅读(310) 评论(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)