乱搞
文章平均质量分 76
Miao_zc
膜Hz
展开
-
bzoj1411: [ZJOI2009]硬币游戏
一开始写的m^2暴力,写完了才发现n 这道题百度上居然只有2个题解。。。 膜完题解,这规律能找到也是厉害 对于样例,进行数学归纳,发现2^k变换之后,第i个位置的硬币情况只与它左右的第k+1个硬币有关。 如k=0,第3位硬币情况只与2和4位硬币有关。因为t可以拆成若干个2^k的和,于是对每个2^k进行O(n)的变换,总复杂度O(nlogt)。 注意开long long。 #in原创 2016-02-26 20:45:58 · 1679 阅读 · 1 评论 -
bzoj2523: [Ctsc2001]聪明的学生
原谅我逻辑能力差。。 首先看到题目的提示:稍经分析和推理,你将得出以下结论:总是头上贴着最大的那个数的人最先猜出自己头上的数。 然而怎么证?! 对于A,如果B,C数字相同,他可以立刻得知它头上的是B+C。否则有两种可能:B+C或|B-C|。 不妨设A>B>C,A=B+C,经过n次询问,A可以猜出。那么对于A,A+C,C,经过n+1次询问,B认为如果他是A-C,A应当在n次询问时得出答案,因原创 2016-04-08 11:58:17 · 1130 阅读 · 0 评论 -
bzoj4567: [Scoi2016]背单词
题目意思有点难懂,给定n个单词,找到一种排列使代价最小。在x处的一个单词的代价为:1.有一个单词是它的后缀且在它后面n*n,2. 没有单词是它的后缀且在它后面x-前一个是它的后缀的单词的位置(如没有即为零)。 很显然可以倒着暴力构造一棵tire,由于1的代价太大,考虑不存在1。即每个后缀填完后才能填自己,同时填完一个单词的子树的最小代价是固定的,只要合理安排儿子的遍历顺序即可。显然应dfs先遍历原创 2016-05-24 06:59:59 · 1122 阅读 · 0 评论 -
bzoj3440: 传球游戏
这不傻逼题吗! 一开始连题目都被读懂。。。 第1类人,顺着传来的方向传给下一个人。 第2类人,逆着传来的方向传给上一个人。 第3类人,顺着传来的方向传给下面第二个人。 第4类人,逆着传来的方向传给上面第二个人。 现不知是从哪个人开始传,及开始传的方向,求有哪些人无论如何,最多只能碰到一次球 然后很容易想到拆点,然后找环,可是不止有这种情况,可以从1号顺时针走到2号顺时针再走到1号原创 2016-07-12 15:40:36 · 1011 阅读 · 1 评论 -
uoj#228. 基础数据结构练习题
第一次看到这题大概在这里:2016多校联合 反正当时也没什么想法,表示有区间加好难受。 题解并不难,维护每个区间最值、和,当一个区间开根后所有值都一样就直接赋值,否则递归。存在一种特例:3 4 3 4 3 4 3 4 3,开根后1 2 1 2 1 2 1 2 1.,+2: 3 4 3 4 3 4 3 4 3,,成功卡到暴力,所以要特判,原因大概是取整吧。 所以就有了: 后来发现ad原创 2016-12-15 15:59:27 · 600 阅读 · 0 评论 -
codeforces 794G. Replace All
题目大意:给两个'A''B''?'组成的串XY,'?'可以是'A'或'B',求所有'?'的情况下,将'A''B'换成两个长度小于n的01串的方案数和。 这好像有一些奥妙重重的性质。 先考虑一个简单的情况:第一个串有a个'A',第二个串有b个'B'。设'A'=>A,'B'=>B。b*|A|=a*|B|,且AB串coprime(是官方题解中的说法,互质,就像辗转相除法一样的感觉)。由于这样的性质,原创 2017-06-12 16:45:41 · 1090 阅读 · 0 评论 -
bzoj4964: 加长的咒语
求区间最长括号序列子串。 很有意思的括号,但是我有些细节没处理好,导致代码长,算法复杂。。 如果有更好的算法我也很想知道啊>. 考虑一个括号序列A=(B1)(B2)(B3)…,其中与某个括号匹配的相对的括号唯一。证明显然。 有一个显然的算法:用栈判断一个字符串是否为括号序列。 考虑拓展这个结论:对任意括号串的某个括号序列子串,某个括号匹配的相对的括号唯一。证明显然。 既然这样就随原创 2017-08-11 10:51:41 · 747 阅读 · 0 评论