【loj3123】【CTS2019】重复】的更多相关文章

传送门 CTS的计数题更完辣(撒花 Orz zx2003,下面的内容在上面的博客基础上进行一定的补充. 考虑计算无限循环之后不存在子串比\(s\)字典序小的串的个数.先对串\(s\)建立KMP自动机,那么对于点\(i\)连出的所有边,只有不是回到起点的字符最大的那条边以及字符比它大的走向起点的边可以走,因为如果走其他边,那么当前匹配的串就会存在一个后缀比\(s\)字典序小. 经过这样的删边后,对于每一个点只有两种边,一种是去往另一个点的边,一种是去往起点的边.如果不考虑去往起点的边,与起点连通的…
Description 给定一个⻓为 n 的字符串 s , 问有多少个⻓为 m 的字符串 t 满足: 将 t 无限重复后,可以从中截出一个⻓度为 n 且字典序比 s 小的串. m ≤ 2000 n ≤ 2000 Solution 正难则反,补集转换,用 \(26^m\) 减去"无法从中截出字典序比 s 小的串"的方案数. 方便表述,称字符串t具有特征 \(A\) 当且仅当无法从无限重复的t中截出一段长度为m且字典序比s小的字段即A为任意无限重复的t中长度为m的字典序都比s大. 考虑构造…
题目 给出一个长度为\(n\)的串\(s\),询问有多少个长度为\(m\)的串\(t\) 满足 \(t\) 的无限循环串存在一个长度为\(n\)且比\(s\)字典序严格小的子串 $ n , m \le 2000 $ 题解 自从CTS打铁之后就非常自闭,智商一天不如一天,所以感觉这题异常抽象... 我看的这位神仙的题解 Part 1 考虑统计任意字串都大于等于的数量然后减去,首先对 $ s $ 建立 $ kmp $ 自动机 由于题目中的限制,结点 $ i $ 的出边不能比 $ i+1,nxt[i]…
LOJ3123 60pts 正难则反,熟练转成总方案数减掉每个片段都大于等于s的字典序的方案 按照一般的套路建出kmp上每个点加一个字符的转移边的图(注意这个图开始字母必须是nxt链中下一个相邻的字符最大的一个,不然就字典序比它小了) 然后大力猜结论可能是走m步走出一个环的个数,很容易发现这是不漏的,因为一个串无限重复最后都会走出一个m步的(不一定是简单环的)环 不重的我没证出来,抱着试试看的心态我们写个极其简单的dp,发现它过了-- 100pts 很容易发现每个点要么走到nxt链中下一个相邻字…
[题解]CTS2019珍珠 题目就是要满足这样一个条件\(c_i\)代表出现次数 \[ \sum {[\dfrac {c_i } 2]} \ge 2m \] 显然\(\sum c_i=n\)所以,而且假如\(c_i\)是\(2\)的约数就有正常的贡献,如果不是就有少一点的贡献,那么 \[ \sum^D_{i=1} {[2\mid c_i]} > n-2m \] 设\(f_i\)为钦定有\(i\)种颜色出现偶数次的方案.问题瞬间就变成了HAOI染色... 则有 \[ f_i={D\choose i…
题面 CTS2019 珍珠 有 \(n\) 个在 \([1,d]\) 内的整数,求使可以拿出 \(2m\) 个整数凑成 \(m\) 个相等的整数对的方案数. 数据范围:\(0\le m\le 10^9\),\(1\le n\le 10^9\),\(1\le d\le 10^5\). 蒟蒻语 非常巧妙的题,主要要用到二项式反演.指数级生成函数和 NTT. 做个广告,这是我读过最好的生成函数讲解:link. 蒟蒻解 设 \(c_i\) 表示 \(i\) 这个数的出现次数. 设 \(odd=\sum…
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览器的基本上底层都是selenium,驱动无线app和浏览器基本是appium.monkey之类的,底层都是基于官方支持的自动化测试框架开发而来,然后上层又做了各种封装 首先在开始计划开发自动化时,第一步是了解目前已有的自动化开发技术,上面说了,最底层的就那几种,根据实际要去测试的业务需求选择合适的自…
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 今天在数据迁移的时候因为手贱遇到一个坑爹问题,发来大家乐乐,也传授新手点经验 迁移惯用就是临时表或者新库,经常用的语法有很多,这次主要说的是这个:select * into 数据库名..表名 from xxx 先不扯了,先看错误: 赶紧看看是不是数据重复~事实证明,木有重复数据... 有人会问,你怎么这样求count?...额,我会的是最基本的方法,常见的两种其实性能一样的,对比图:(…
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮". 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" 重复提交的缺点: 加重了服务器的负担 可能导致错误操作. token(令牌) 用户在访问页面时,我们要生成一个随机的token值 将该值放入到session域中,同时放在表单隐藏…
最近测试人员测试我们的APP的时候,喜欢快速点击某个按钮,出现一个页面出现多次,测试人员能不能禁止这样.我自己点击了几下,确实存在这个问题,也感觉用户体验不太好.于是乎后来我搜了下加一个方法放在我们Utils类里 // 判断按钮是否快速点击 private static long lastClickTime; public synchronized static boolean isFastClick() { long time = System.currentTimeMillis(); if…