随笔分类 -  省选

摘要:传送门 解题思路 据说是经典思路:把多次排序转化成二分+01序列。 首先二分所求位置的数字是啥,将大于mid的数字变成1,将小于等于mid的数字变成0。 这样在排序的时候就相当于统计区间里的1的个数(区间和),然后区间全部变成0或者1。 也就是区间修改,区间求和,线段树可以实现。 AC代码 #inc 阅读全文
posted @ 2024-05-12 16:35 尹昱钦 阅读(19) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 关于Prufer序列的构造,见OI-wiki 这里直接放结论: 一个Prufer序列与一个无根树一一对应 度数为 di 的节点在序列中出现了 di1(di1)=n2 n个点的完全图的生成树有 nn2 种 所以相当于 阅读全文
posted @ 2023-11-01 20:55 尹昱钦 阅读(21) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 若干平衡树,每次操作有两种,一是合并两个Splay,二是查询某一个点所在的平衡树里的第k小的点的编号。 首先用并查集维护某个点在哪个平衡树里,然后rt[i]记录编号为i的平衡树的根。 每次合并时启发式合并,直接把小的树的每个点暴力insert到大树里。 查询正常操作即可。 为了方便 阅读全文
posted @ 2021-11-18 17:12 尹昱钦 阅读(82) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 若强制在线,可以考虑用树剖+主席树,相当于每次询问两个点之间的路径上在 iCi 时刻之前开始搜集情报的人数。 但是这题可以离线,于是可以把询问按照 iCi 离线一下,就可以用线段树/树状数组来维护了。 注意一定要区分原编号和dfn编号。 时间复杂度:\(O( 阅读全文
posted @ 2021-11-16 21:39 尹昱钦 阅读(39) 评论(0) 推荐(0) 编辑
摘要:传送门 前置知识: Nim博弈 线性基 解题思路 注意两人各进行一次操作,所以目的就是要使对方不管怎么拿,都不能到达一个异或和为0的状态。 所以相当于第一次操作结束后,必须保证任意元素异或值不为0。 这就很典型的线性基了,并且和[BJWC2011]元素这个题完全一样,贪心取即可。 AC代码 #inc 阅读全文
posted @ 2021-10-28 13:33 尹昱钦 阅读(31) 评论(0) 推荐(1) 编辑
摘要:传送门 解题思路 关键:根据定义,线性基是线性无关的,2的线性基内的元素数量次幂即为可能的异或数量。 于是就成了板子题了。 AC代码 #include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<cs 阅读全文
posted @ 2021-10-26 22:42 尹昱钦 阅读(30) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 和上一题很像,不过这是个基环森林。 还是一样要注意是否是二元环(可以通过删边和反向边来处理)。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath 阅读全文
posted @ 2021-10-25 19:45 尹昱钦 阅读(37) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 和板子几乎一样。 而且不用输出方案。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<q 阅读全文
posted @ 2021-10-19 14:38 尹昱钦 阅读(27) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 今晚csp报名网站炸了QAQ,发布新闻者禁三警告 先考虑暴力dp: O(na)的想必大家都会,但一遍都做不下来。 所以需要换一种dp。 假设求序列[l……r]的答案。 先将其排序,假设到第i-1位时能表示出来的范围为[1..x],则只要判断第i位是否大于x+1即可。 若小于x+1, 阅读全文
posted @ 2021-10-12 21:41 尹昱钦 阅读(22) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 好板子啊。 要不是是个省选题 我才不写博客呢。 树剖完了,就是单点修改+区间修改+区间求和。 线段树维护即可。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<a 阅读全文
posted @ 2021-10-04 15:35 尹昱钦 阅读(27) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 田忌赛马这道题的加强版。 收回我不能用贪心来解决的话。 排序后每个序列都用两个指针记录已经使用的数的位置。(一定先使用两边) 具体策略为: 若最大的比对方大,则最大的上。 若最小的比对方大,则最小的上。 否则就用最小的打对面最大的。 AC代码 #include<iostream> 阅读全文
posted @ 2021-10-01 18:37 尹昱钦 阅读(34) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 概括一下题意:求min(sumw/sumn),其中sumw表示一个环上的边权和,sumn表示一个环上点的数量。 这种分数规划问题很常见的一个套路为二分答案,然后转化成01分数规划。 即二分一个比值k,判断有无环满足sumw/sumn<=k,也就是sumw-sumn*k<=0。进一步 阅读全文
posted @ 2021-09-28 20:52 尹昱钦 阅读(44) 评论(0) 推荐(0) 编辑
摘要:传送门 什么是分层图 在一个图上,按照某种限制,进行分层,在相邻两层之间按照某种联系进行连边。 如何实现 一般有两种方法:二维数组法和状态压缩法。 二维数组法:a[i][j]表示第i层的节点j。 状态压缩法:a[j*k+i]表示第i层的节点j,其中k表示层数。(相当于把二维坐标压成一维。) 应用 在 阅读全文
posted @ 2021-09-28 15:38 尹昱钦 阅读(49) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 关于spfa,他死了 显然是差分约束。每日背规律: 小于等于最短路,求出上界最大值; 大于等于最长路,求出下界最小值。 于是建立大于等于的关系,spfa跑一遍最长路,判断有无正环,最后答案就是各个dis之和。 为保证都为正整数,需要从超级源点0向其他所有点建立一条边权为0的边。 ~ 阅读全文
posted @ 2021-09-28 09:15 尹昱钦 阅读(60) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 前置知识:错排问题 令 f(i) 表示 i 个元素的错排数。则: Ans=Cnm×f(nm) 组合数用维护前缀和+逆元求得,错排提前预处理。 AC代码 #include<cstdio> #include<iostream> #include 阅读全文
posted @ 2021-09-18 19:31 尹昱钦 阅读(66) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 调了一晚上。。紫题果然不是我现在能做的。。 首先考虑如何把多个deep的和转化成可以快速求出来的东西: 我们可以对于每个[l,r],把每个点到根节点的路径上的点权++(初始为0),这样对于每个询问(l,r,z),答案即为z到根节点的路径上的点权和。 操作1 但是对于每个询问都操作一 阅读全文
posted @ 2021-09-17 08:04 尹昱钦 阅读(28) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 每次删边复杂度太高,所以可以倒序加边。 注意在对方占领后,这个点就不参与连通块数量的计算了。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> 阅读全文
posted @ 2021-09-16 11:10 尹昱钦 阅读(37) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 注意有个条件为ai互不相同。 尝试应用lxl教的套路: 第一步,将一维问题放到二维平面上:把好的配对(x,y)看做二维平面上的点。于是问题就变成了求出矩形所包含的点的个数。 第二步,利用数据结构将二维平面问题降到一维解决:离线,把询问按照右端点排序,同时把好的配对按照右端点排序,保 阅读全文
posted @ 2021-09-15 20:06 尹昱钦 阅读(45) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 首先判断false的情况:max(a[i+1],a[j1])>=a[j]。 而如果i+1到j之间有没有未知降雨量的年份,则答案是maybe。 否则答案即为true。 离散化放到ST表或线段树上操作一下就行了。 情况太多了细节太多了懒得在这里写了那就说一个吧 我们常常会说 阅读全文
posted @ 2021-09-15 14:56 尹昱钦 阅读(79) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 直接算逆元太麻烦。 可以用线段树维护区间乘积。 需要进行单点修改和查询整个区间的乘积。 每次1操作,就把当前点修改为m; 每次2操作,就把m点修改为1。 AC代码 #include<iostream> #include<cstdio> #include<cstring> #incl 阅读全文
posted @ 2021-09-15 11:42 尹昱钦 阅读(42) 评论(0) 推荐(0) 编辑

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