03 2023 档案

摘要:这是一道很神奇的题,神奇的地方在于全网这个模型只有这题 什么是Every SG? 不同于普通的ICG,它由多个游戏同时进行,且必须同时进行 比如这道题,要求先手一次对所有石头堆都要操作 显然对于单独的每种情况,我们都可以求出这是必败态还是必胜态 现在摆在我们眼前的就有一堆游戏,对于每个游戏,你其实是 阅读全文
posted @ 2023-03-30 23:11 liyishui 阅读(18) 评论(0) 推荐(0) 编辑
摘要:liyishui今天学习博弈,因为liyishui今天写树链剖分写得有点理智-- 题意: 有一个圆,上面有n个豆子,每次要挑出连续m个没染色的豆子进行染色,不能移动时输掉游戏 问先手必胜还是后手必胜,其中n、m<=1000 题解: 会很朴素地想到如果第一个人拿走了m个,那么剩下的就是一条链的问题。 阅读全文
posted @ 2023-03-30 20:23 liyishui 阅读(15) 评论(0) 推荐(0) 编辑
摘要:哈哈哈哈没想到居然会是第一道动态开点线段树 之前一直想学,模板还没调过,结果在这里遇到了 题解: 有个很朴素的想法是对每个宗教开一棵线段树 但是这样1e5*1e5,空间会炸 考虑像主席树那样动态开点,需要的时候再开辟新节点,显然新增的节点不会很多 开辟新节点也很简单: if(ql<=mid) { i 阅读全文
posted @ 2023-03-30 10:25 liyishui 阅读(21) 评论(0) 推荐(0) 编辑
摘要:困困的开始了我的修炼树剖之旅途 考虑怎么搞这个lca 是说,习惯了倍增求lca,突然冒出这么一个东西还真不会搞 那要么能一次性求很多个lca(?),要么把deep[lca(i,z)]这个东西转化一下 当我们不会倍增求lca的时候,有一个很朴素的想法就是把x到根节点一路上的点都染色 然后让y节点开始往 阅读全文
posted @ 2023-03-29 22:19 liyishui 阅读(18) 评论(1) 推荐(0) 编辑
摘要:这个还是看代码,比讲的清楚 #include<bits/stdc++.h> #define fastio ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) #define ls (rt<<1) #define rs (rt<<1|1) u 阅读全文
posted @ 2023-03-28 09:21 liyishui 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题意: 给定序列a,ai为第i根木棍长度,给出q个询问 每次问[L,R]内能构成三角形的最大周长是多少 题解: 属于那种没有往这个方向想就很难想到,然后一直想不到的题2333 因为周长要最大,贪心地优先考虑第一大,第二大,第三大能不能组成合法的三角形 假设不行,那第一根肯定是废了 因为任意两边之和大 阅读全文
posted @ 2023-03-28 01:11 liyishui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:2333居然有一天做题会做到找来找去找不到oj有这道题 虽然说HydroOJ保存了不少bzoj的题,但总归仍不是非常完善,bzoj你为什么不争气点—— 题意: 给定一棵树,n个点,每个点有点权 给出m条询问,每次问(u,v)的路径上出现了偶数次的最小数 题解: 出现了偶数次,联想到异或和为0,但是直 阅读全文
posted @ 2023-03-27 11:32 liyishui 阅读(26) 评论(0) 推荐(0) 编辑
摘要:挺神奇的一道题,唯一想不通的是为什么放在主席树的题单里.. 首先暴力找出所有的合法区间显然是不可能的。 考虑怎么贪心,假如固定每个L作为左端点,那么合法的区间就是[L+l-1,L+r-1](当然还要跟n取个min) 对于每个L,用线段树求出合法区间内最大的值,以及取得最大值时所对应的点,设为idx 阅读全文
posted @ 2023-03-24 09:45 liyishui 阅读(17) 评论(0) 推荐(0) 编辑
摘要:哈哈哈哈老婆我有出息了,犬犬第一次从思路到代码都是自己一发切了紫题呢~ 好了一眼数据结构。 考虑如何转化第i个时刻有威胁的情报员,若能产生威胁 则说明他们至少在i-c-1这个时刻"出生" 也就是转化为在权值线段树上查询[1,i-c-1]有多少个人。 启发了我们可以先把未来的情报员都弄下来,再记一个他 阅读全文
posted @ 2023-03-23 10:55 liyishui 阅读(6) 评论(0) 推荐(0) 编辑
摘要:在学主席树时找到了这道题 本来yyyy了一个二维的主席树这种东西,然后发现很多信息好像维护不了 观察到n和m都很小,考虑把一整行看成一个节点,开一个bitset 然后区间取反、单点修改,就都可以直接做啦。 最开始不敢直接这么做,总觉得在结构体里再封装一个bitset太大 但其实还好,时间复杂度100 阅读全文
posted @ 2023-03-21 21:08 liyishui 阅读(13) 评论(0) 推荐(0) 编辑
摘要:首先贪心是显然的,但是询问有n个 先考虑一个朴素的主席树做法 对于每个k,对于当前固定的L,二分R,用主席树查询一下[L,R]区间内的不同数个数是否大于K个(主席树的经典应用),更新答案,暴力跳过去 时间复杂度:一共有nlogN个区间(n/1+n/2+n/3~nlnN,调和级数知识) 二分的复杂度是 阅读全文
posted @ 2023-03-16 18:10 liyishui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:今天学了回滚莫队,为什么会有回滚莫队呢? 比如普通莫队求max时就很不好撤销,那我们就换个思路,干脆不删了,通过调整枚举顺序进行暴力加点 回滚莫队的思想主要是这段代码: bool cmp(const query& a,const query& b){ if(bel[a.l]==bel[b.l]) r 阅读全文
posted @ 2023-03-09 21:41 liyishui 阅读(55) 评论(0) 推荐(0) 编辑
摘要:__终于学到了线段树维护xx,嘿嘿,嘿嘿嘿..树树:D 做了两题,感觉知识点是维护区间相同不相同可以拿hash做,不连续的区间也可以拿hash维护 主要是出得很有想法,太妙了要想得到hh 1. CF213E Two Permutations 考虑枚举x(因为值域不会很大) 观察到其实如果x++,会变 阅读全文
posted @ 2023-03-04 10:47 liyishui 阅读(86) 评论(1) 推荐(0) 编辑
摘要:首先答案肯定有单调性,先二分出答案 然后如何保证c[i]+c[j]不为质数 如果同奇偶的话,除了1和1,其他必不为质数,否则可以for循环暴力判一下 所以如果是质数,必定为一奇一偶,这两点不能同时选 启发了我们可以把点分开来,奇数在一边,偶数在一边,在不能同时选的两点间连inf的边(因为inf不能被 阅读全文
posted @ 2023-03-02 16:41 liyishui 阅读(16) 评论(0) 推荐(0) 编辑
摘要:很经典,想记录一下 网络流里有一个很典的trick,求最大获利转化成最小损失 求最小损失转化成割边 求的是max(边权和-边所连接的点权和),考虑把边看成左部点,把点看成右部点 刚开始我们假设边全都要选,那么最小割也就是选取左部所有点,去掉右边所有点 也就是把所有边都选了,再扣掉所有点(根据最小割的 阅读全文
posted @ 2023-03-02 10:50 liyishui 阅读(12) 评论(0) 推荐(0) 编辑
摘要:势能线段树| 拉线段树题单时发现的这道 花神游历各国的骚操作至今让我印象深刻,原来有名字 所谓势能,大意就是原本你在高空,操作一点下降一点,势能变少一点..当你落地时,修改就没意义了 因此可以打一个落地标记:) 适用在操作次数不会很多、lazytag失效时,常见的比如开根号,区间取mod,位运算。 阅读全文
posted @ 2023-03-01 20:15 liyishui 阅读(17) 评论(0) 推荐(0) 编辑
摘要:开一个变量维护同一个区间内颜色是否相同,而且显然要用lazytag了 递归到颜色相同的区间时就可以直接打标记 然后对于标记,维护的就是常规区间加的部分 (最开始没写lazy,wa6,没明白自己怎么错的,但是又觉得要加lazy很合理:) 由于有区间推平的操作,用珂朵莉树也可以,详情见洛谷题解区 #in 阅读全文
posted @ 2023-03-01 11:45 liyishui 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示