随笔分类 - 题目
摘要:优秀的拆分 import Data.Char import Data.Bits main = do n <- readInt if n `mod` 2 == 0 then solve n 1 else putStr "-1" solve :: Int -> Int -> IO () solve 1
阅读全文
摘要:似乎大家全部都用的是hash?那我讲一个不用hash的做法吧。 首先考虑只有一位不同的是哪一位,那么这一位前面的位上的字符一定是全部相同,后面的字符也是全部相同。首先考虑后面的字符。 我们对n个串的反串建trie树,这样,每一个后缀就对应一个trie树上的唯一一个节点,不同的后缀对应的就是不同的节点
阅读全文
摘要:A Toy Train 很显然,一个站有多少个糖,那么就要从这个点运多少次。设第i个点有ai个糖,那么就要转ai1圈,然后再走一段。很显然最后一段越小越好。 然后枚举起点后,每个点的答案就是起点到他的距离加上再走的距离。然后取个max就好了。 B Wrong Answer "厚颜无耻地
阅读全文
摘要:竟然又没掉? A Parity 先判断基数是奇数还是偶数,如果是偶数,其奇偶性显然只与个位的奇偶性相关,否则与所有数位的数的和的奇偶性相关。 E Magic Stones 先差分,然后发现操作的本质就是交换两个数,具体可以参考题解。 cpp include define qmin(x,y) (x=m
阅读全文
摘要:"Codeforces Round 534 (Div. 1)" hahahaha我竟然没掉好高兴啊hahahaha A Grid game 我刚开始的时候想把上面两行放竖着的,下面两行放横着的,刚准备交,突然觉得没那么简单,如果一列的话也能消掉,怎么办啊~~我是智障~~!!! 然后才发现把下面的一行
阅读全文
摘要:写+调了一天,难受。写了刚好600行啊。~~幸好loj有数据~~ 有一些细节: 锦囊牌生效前,先进行无懈可击的判定,要从发起该锦囊牌的猪开始。 每用一张牌都有可能使得前面的一张牌可用,所以要再从头开始判。 多看几遍题目描述再做,~~要用猪脑子去看~~。 cpp include include inc
阅读全文
摘要:"题目链接" std:meet in the middle 首先把所有的点分成两部分,设fi为前半部分在点集i中选出的最大独立集,g为在后半部分选。这个可以在O(2m/2)的时间复杂度里得到。 然后考虑把答案合起来。在f中是从i这个集合里面选出最大独立集,那么后半部分选的集合
阅读全文
摘要:终于。。 A Roman and Browser 有很多写法,当然我也知道可以暴力,但是前缀和的写法就很舒服啊。 D Dasha and Chess 首先把king移动到中间,然后看一下现在以king为中心的四个象限中那个里面的车最少,然后往相反的方向移。因为少的那个不会超过四分之一也就是166,那
阅读全文
摘要:终于过了。。调了一天了。。 嗯,记一下有哪些坑点: 首先,MAKE SAME操作可以是设为0,这里要注意一下。 回收点的时候要注意把标记清空。 还有边界的inf要设的合理一点。 然后就没了。。我的一天啊。。 奉上我丑陋无比的代码。 cpp include include include includ
阅读全文
摘要:A Integer Sequence Dividing 没什么意思,不过发现有一个人没开longlong也能过,仔细想了想确实是对的吧。 D Balanced Ternary String 本来想抢D的一血,但是调了半天才过,这时候已经有大约五六个人过了。。 那么题意很简单了,换成0的一定是越靠前越
阅读全文
摘要:前面简单一点的题直接过吧。 A 暴力DP B 怎么还是暴力DP C 还是暴力DP D 直接背包 E 这个背包不太一样了,这里有一个技巧,就是因为价值很小,所以直接对价值背包,求出来达到某一个权值最小的重量,然后找到满足限制的最大的价值即可。注意,如果能达到权值比这个还大的点,那么这个点很显然也是可以
阅读全文
摘要:A Sum in the tree 就是贪心选尽量让上面的点权尽量大,那么对于偶数层的点,其到根节点的和即为所有儿子中的最大值。 C Construct a tree 首先就是分叉数越大,其对应的所有子树的大小和越小。那么依次枚举判断,如果合法构造即可。 cpp include include in
阅读全文
摘要:又回来了。。 A Gennady and a Card Game 好像没什么可说的了。 D Makoto and a Blackboard 这题我刚开始想插板,但是最后发现前面的决策对后面有影响,所以不能插板。但是听说暴力DP可以过?于是写了个暴力。 cpp include include incl
阅读全文
摘要:占个坑先,希望不要掉的太惨了吧,不要掉到上一次之前的rating upt:flag竟然没到,开心。 A New Year and the Christmas Ornament 好像没什么可说的。
阅读全文
摘要:我好菜啊。 A - Find Divisible 好像没什么可说的。 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<set> #include<map> #include<vector>
阅读全文
摘要:A Repeating Cipher 我做的好慢啊。 B Array Stabilization 删掉的肯定是最大或最小,那么记下来最大,次大,最小,次小,然后就可以输出了。 cpp include include include include include include include in
阅读全文
摘要:完了,看来上一次的flag要应验了,我大概是真的要掉成pupil了吧。。 A Connect Three 这个就是找到x的中间值,y的中间值,然后切一下,然后把所有的点挂到这条边上。但是我做的还是太慢了啊,还WA了一次,具体原因就是把sort(x,x+3)写成了sort(x,x+2)。。。然
阅读全文
摘要:这题就是树链剖分,对于多种宗教就开多个线段树,动态开点就好了。 ~~记得卡内存~~ 然而一个城市的宗教变了之后还能在变回来,导致我调了一下午。。。 cpp include include include include include define qmin(x,y) (x=min(x,y)) de
阅读全文
摘要:这个题目就是特别裸啊,很明显就是先树链剖分,然后在线段树每个节点上维护两个堆,来维护插入和删除,查询的时候就暴力查就好了。 ~~似乎很简单啊~~,我竟然在luogu上1A了,结果交到bzoj上MLE,看过讨论后把找重儿子改成大于等于就A了。。 不过我感觉这样是假的啊,一条链在线段树上有$\log^2
阅读全文
摘要:一场div3。。。 由于不计rating,所以打的比较浪,zhy直接开了个小号来掉分,于是他~~AK~~做出来了许多神仙题,但是在每一个程序里都是这么写的: 但是。。sbzhy每题交了两次,第一遍都是对的,结果就涨了。。 A Uniform String 没什么意思。。 cpp include in
阅读全文