随笔分类 -  [经典题目]

一些好题目吧,总结下代码啥的
摘要:"题面戳我" Solution 首先长度为偶数可以直接判掉 然后我们可以枚举删的位置,通过预处理的$hash$,判断剩余部分是否划分成两个一样的 判重要注意,我们把字符串分为三个部分$L_l+1+L_r$,($L_l=L_r$),如果上次答案和这次都出现在$L_l$,则一定不会是不同的,因为右边的$ 阅读全文
posted @ 2018-08-25 19:31 Ning_Mew 阅读(211) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 我们分析题意,他要求的是两个字符串只有一个字符不同,然后我们再看长度$L \leq 200$,显然我们就可以把每一位删除后$Hash$,然后判断相同个数即可 我一开始脑子抽了,把所有的删掉的一个字符的剩余的串$Hash$放在一起然后计算答案,那样$Hash$值相同,串 阅读全文
posted @ 2018-08-25 19:31 Ning_Mew 阅读(299) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 二分图是显然的,用二分图匹配显然在这个范围会炸的很惨,我们考虑用霍尔定理。 我们任意选取穿$l,r$的号码鞋子的人,那么这些人可以穿的鞋子的范围是$l,r+d$,这个时候我们可以根据霍尔定理得出满足人人有鞋子穿的时候的式子是 令$sum[i]$表示穿$i$号鞋子的人数 阅读全文
posted @ 2018-08-23 17:27 Ning_Mew 阅读(308) 评论(0) 推荐(0)
摘要:" bzoj3693 " Solution: 显然我们可以把人和位置抽象成点,就成了一个二分图,然后就可以用霍尔定理判断是否能有解 一开始我随便YY了一个$check$的方法:就是每次向后一组,我们就把那一组可以位置标记为$true$,用线段树存储,比如我们处理到了第$i$组,线段树里面就是前面$i 阅读全文
posted @ 2018-08-23 17:26 Ning_Mew 阅读(380) 评论(0) 推荐(0)
摘要:"题面" 题目大意: 给你$m$张椅子,排成一行,告诉你$n$个人,每个人可以坐的座位为$[1,l]\bigcup[r,m]$,为了让所有人坐下,问至少还要加多少张椅子。 Solution: 为什么加椅子?我们可以在最左边或最右边一直加直到人人都有座位。 首先这道题目抽象成二分图很简单,然后我们可以 阅读全文
posted @ 2018-08-23 17:26 Ning_Mew 阅读(429) 评论(2) 推荐(0)
摘要:"题面戳我" Solution 我们正着每次都要枚举从长到短,时间复杂度承受不了,但是我们可以发现一个规律,假设某次的答案为$x$,那么这个字符串为$A+X+B$组成,无论中间的$X$是重叠还是空余的,我们都可以发现,这个字符串可以改成$a+A'+X+B'+b$,所以下一次砍掉两边,这个$A'$中没 阅读全文
posted @ 2018-07-23 21:13 Ning_Mew 阅读(233) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 我们按照每个字母出现的位置进行$hash$,比如我们记录$a$的位置:我们就可以把位置表示为$0101000111$这种形式,然后进行字符串$hash$ 每次查询时,我们就把两个子串的每个字母的$hash$值,取出来,判断能否一一对应即可 ~~为啥我的常数那么大,27 阅读全文
posted @ 2018-07-23 21:13 Ning_Mew 阅读(252) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 反向建图跑拓扑排序,顺便处理$dp$ 假设某条边是$u \rightarrow v (dis)$ ,那么转移方程就是$dp[v]+=(dp[u]+dis)/in[v]$ 根据题意我们可以知道,每个点选择道路的概率是一样的,所以只能这么做。( 重点在看什么的概率相同(雾 阅读全文
posted @ 2018-07-23 21:12 Ning_Mew 阅读(187) 评论(0) 推荐(0)
摘要:"题面" Solution 看了一点点题解,自己又刚了$2h30min$,刚了出来qwq,我好菜啊qwq 貌似这道题是BZOJ 4826的弱化,弱化都不会qwq凉凉 "Solution" 首先你可以考虑,找出$[l,r]$的最大值($x$)后,你会发现这个好的点对,是不会跨过这最大值($x$)的,那 阅读全文
posted @ 2018-07-23 21:12 Ning_Mew 阅读(321) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 并不会做,看了下题解大概了解了。期望这个东西好难搞啊qwq 我们定义$dp[i][j]$表示第$i$步,拿到宝物前的状态为$j$。 正着来会有很多不合法的情况,剔除比较麻烦,我们反着来考虑,因为你想如何是合法,就是状态表示拿得物品个数小于等于步数嘛,倒着来最后答案根据 阅读全文
posted @ 2018-07-23 21:12 Ning_Mew 阅读(145) 评论(0) 推荐(0)
摘要:"题面戳我" Solution 不会,看的 "题解" Attention 哇痛苦,一直不会打$ST$表,我是真的菜啊qwq 预处理 cpp Log[1]=0;two[0]=1; for(int i=2;i 1]+1; for(int i=1;i define LL long long using n 阅读全文
posted @ 2018-07-19 17:16 Ning_Mew 阅读(196) 评论(0) 推荐(0)
摘要:" bzoj3894 ,懒得复制题面,戳我戳我" Solution: 首先这是一个网络流,应该还比较好想,主要就是考虑建图了。 我们来分析下题面,因为一个人要么选文科要么选理科,相当于两条流里面割掉一条(怎么想到割我也不知道,颓的题解),那么我们就可以从原点连向每个人,流量为文科愉悦值,然后每个人连 阅读全文
posted @ 2018-07-12 18:22 Ning_Mew 阅读(393) 评论(0) 推荐(0)
摘要:" 662A ,戳我戳我" Solution: 我们先取$ans=a[1] \bigoplus a[2] \bigoplus ... \bigoplus a[n]$,然后我们定义$c[i]=a[i] \bigoplus b[i]$,我们就可以知道每异或一个$c[i]$,就是更换选取$a[i],b[i 阅读全文
posted @ 2018-06-25 18:58 Ning_Mew 阅读(280) 评论(0) 推荐(0)
摘要:" bzoj1923 ,戳我戳我" Solution: 这个高斯消元/线性基很好看出来,主要是判断 在第K 次统计结束后就可以确定唯一解 的地方和$bitset$的骚操作 (我用的线性基)判断位置,我们可以每次加入一个线性基时判断是不是全被异或掉了,如果没有,说明这个方程不是冗余的,那么我们可记录非 阅读全文
posted @ 2018-06-25 18:57 Ning_Mew 阅读(207) 评论(0) 推荐(0)
摘要:" bzoj2115 ,戳我戳我" Solution: 看得题解~~(逃~~,我太菜了,想不出这种做法 那么 "丢个链接" Attention: 板子别写错了 ~~又写错了这次~~ $long long$是左移63位,多了会溢出就会出鬼 Code: 博主蒟蒻,随意转载。但必须附上原文链接: "htt 阅读全文
posted @ 2018-06-25 18:57 Ning_Mew 阅读(201) 评论(0) 推荐(0)
摘要:" bzoj4004 ,戳我戳我" Solution: 裸的线性基,这没啥好说的,我们说说有意思的地方(就是我老是wa的地方) Attention: 这题在$luogu$,上貌似不卡精度,$bzoj$卡精度~~(一开始还以为自己精度被卡的很惨,结果是线性基打错了)~~ 线性基板子: 注意不是一个个动 阅读全文
posted @ 2018-05-28 23:06 Ning_Mew 阅读(176) 评论(0) 推荐(0)
摘要:" bzoj1055,懒得复制,戳我戳我 " Solution: 区间动规 (以后开始动规会在solution前面标注是啥动规 我觉的这道题挺难想了,但其实状态定义了一下子就出来了~~(还是不行啊)~~ 我们定义状态$dp[i][j][sta]$,表示在$i$到$j$区间可不可以合成字符$sta$, 阅读全文
posted @ 2018-05-12 16:51 Ning_Mew 阅读(207) 评论(0) 推荐(0)
摘要:" bzoj1875 ,懒得复制,戳我戳我" Solution: 看到这道题,看的出是个dp,每个点$t$时刻到达的方案数等于 $t 1$到连过来的点方案数之和 但又因为题目有要求不能走一样的边回去 不是说不能回到之前那个点,而是不能走一样的边 又因为$t$很大,每次我们的都是做的重复的操作,我们就 阅读全文
posted @ 2018-05-12 16:51 Ning_Mew 阅读(224) 评论(0) 推荐(0)
摘要:" bzoj1503 ,懒得复制,戳我戳我" Solution: 我知不知道我是那根筋抽了突然来做splay,调了起码$3h+$,到第二天才改出来~~(我好菜啊)~~,当做训练调错吧 一个裸的splay,没啥好说的 Attention: 我的del操作里面,注意连边要把儿子的父亲更改,父亲的儿子更改 阅读全文
posted @ 2018-05-12 16:51 Ning_Mew 阅读(168) 评论(0) 推荐(0)
摘要:" bzoj4472 ,懒得复制,戳我戳我" Solution: 题面意思:从$1$号节点出发,每到一个节点就必须停下,获得节点权值(每个节点只会获得一次),每个点有个规定的停留次数,求最大可获得多大权值,并且判断是否只有唯一的路线才能获得这个权值 直接$dp$储存子树最大获得权值就行,顺便要记录方 阅读全文
posted @ 2018-04-29 15:15 Ning_Mew 阅读(221) 评论(0) 推荐(0)