总结 这个分基本上和爆零没什么区别 只会打无脑暴力,高分暴力也不会 \(T1\) 写了一个随机化贪心拿了 \(20\),\(T2\) 水了一个 \(prufer\) 的分 写 \(T2\) 的时候居然认为边双是有向图的概念,暴搜也没有打出来 明天有一天整理的时间,要好好调整状态 毕竟放假之前最多也只有三次考试了
总结 仍然是三题打暴力,和前面的人分差巨大 最近有一段时间没有 \(A\) 题了 A. 灯 分析 首先把相同的颜色缩成一段,要求的就是总的加入的点的个数-相邻的不同颜色的点被点亮的个数 前面的部分比较好处理,直接记录一下每一种颜色有多少个点就行了 对于后面的部分,分情况考虑 当某种颜
划分序列 部分分很好打,给得也很足 很显然是二分答案,关键在于去怎么 \(check\) 如果只有正数,可以求出权值和 \(\leq x\) 的最小段数 如果只有负数,可以求出权值和 \(\leq x\) 的最大段数 考虑既有正数又有负数的情况,会发现我们既可以求出权值和 \(\leq x\) 的最小段数,也可以求
鱼死网破(clash) 很容易想到对于每个点和每个墙上的两端相连,形成这样的图形: \(A\) 和 \(C\) 区域一定会被看到,而 \(B\) 区域是无法被看见的,不会对答案造成贡献 我们不妨去求,对于一个 \(x\) 轴下方的点,不能被多少个点看见? 我们将这个点与线段的两端连线,能不能被看见分别是下面两种情
总结 这个名次已经是倒数了 感觉整场考试不是很在状态,正解想不到,暴力分也没有打满 其实前两道题仔细推一下还是能想出来的 \(T1\ 2-sat\) 有一段时间没有打了 优化建图的方式和之前的某道题挺像的,但是当时那道题没改 这次算是补了一个锅 \(T2\) 的数据范围折半枚举也不难想,实现
这半周做了一下题单上线段树的题目,我一开始还天真的以为2天就能全做完,结果三天下来也就才做了三分之二。这上面的题真的好难啊,我之前以为我已经完全掌握线段树了,结果现在看来我啥也不会。一个扫描线研究了大半天,线段树的启发式合并又研究了大半天……看来省选/NOI-级别的题目
A:Colorado Potato Beetle 考试连暴力都不会打了…… 首先考虑20pts暴力怎么写 因为总走的路程不会超过30×30 所以可以直接模拟走的方法,然后人为框定一个范围 考试时想的是怎么去做框住了什么,但是显然不好做 所以很好的一个东西是,可以模拟虫侵害的过程bfs 即选取一个起点,如果旁边
A:序列 区间取max 区间加, 显然是吉司机线段树 与普通的题不同的地方在于要记录修改次数 这个东西只要每次pushdown的时候求一下最小值是在哪里转移过来的,然后把次数下放就好了 因为吉司机线段树只会区间把最小值改为另外一个值,所以是正确的 B:旅行计划 不是很能想到的构造题,直
https://www.luogu.com.cn/problem/list?keyword=&tag=79|48&page=1 [HEOI2016/TJOI2016]游戏 点此看题 矩阵常常是网络流套路很多的地方,比如这道题我们用黑白染色之类的套路就做不了,因为他的限制主要在行列而不是图上的边相邻。我们先考虑只有软格子的情况,此时每一行或者每一列都
题面传送门 第二道\(A\)卷题。一道好题目。 这种异或的题目就可以建立\(01trie\) 考虑由每个节点的子树向这个节点的父亲转移。这里线段树合并可以搞定。 那么显然合并时需要对于子树中每个点都\(+1\) 但是考虑在\(trie\)上怎么搞这个东西。 由于树没有边权,所以肯定有什么特殊性质
推荐阅读(参考资料) 对于一个传递 x → y, x、y 表示坐标, 代价是:\(\begin{cases}y-x, \quad x<y\\kx+ky,\quad x>y\end{cases}\). 即所有的的代价都可以换成一个点的坐标的倍数, 于是设 g(S, i) 表示点 i 前面的集合为 S 时, 其对整体代价的贡献。 然后就可以一个一个放了:f(S) + g(i,S
Luogu6622 [省选联考 2020 A/B 卷] 信号传递 蒟蒻用模拟退火\(A\)了此题。 我们先把给出的\(S\)序列拆开,就可以转化成\(m^2\)个二元组\((x,y)\)(指从\(x\)向\(y\)的传递),对于一组排列,我们只需要计算这些二元组之间的贡献即可。 容易发现本题中\(m\)很小,然而题目需要的是排列,很难维护
目录LCT 笔记主要功能和其它数据结构的比较思想虚实剖分如何维护所有的链实链虚边开始构思具体要维护的功能(从基础到高级)Splay部分access(u)make(u)find(u)split(u,v)link(u,v)cut(u,v)复杂度talk is cheap 最近在复习学过的省选算法,发现以前学的太不扎实了,太逊了,有必要做笔记整理
\[\text{用青春写下一个永恒的美丽} \]\[\text{——我与OI的往事} \]写在前面 本文是我对OI生涯的回忆,是一篇回忆录。 关于一些名词的解释 OI:全国青少年信息学奥林匹克系列赛事的简称 NOIP:全国青少年信息学奥林匹克联赛 NOI:全国青少年信息学奥林匹克竞赛,即全国决赛 APIO: 亚洲
链接 LOJ3325 LuoguP6792 题解 xyx的题解 复读机: 发现如果要实现区间取max,区间求和,都必须使用吉司机线段树,那这道题就大概率是要在吉司机线段树的基础上魔改而来。 如果要求区间最大子段和,一定要记录最大前缀,最大后缀,区间和,最大子段和。 我们发现吉司机线段树的第一种情况:modify<
Luogu6628 [省选联考 2020 B 卷] 丁香之路 \(Kruskal\)+欧拉回路 这道题相当妙啊。 本题钦定了起点和终点,容易发现满足题意的路径是一条欧拉路径。欧拉路径的性质是奇点个数为\(0\)或\(2\),在本题中\(s\)和\(i\)恰好是两个奇点,因此剩下的路径上的点的度数应当为\(2\)。 把起点度数
题意: 戳这里 分析: 暴力 据说状压+特判有50分,但我只会暴搜+特判,所以只有20分(我好菜) 正解 前置芝士 :欧拉路径,生成树 这道题目的边权给的很巧妙,由基本不等式可以推出 任意两点之间直接连边不会比通过其他点相连更劣 所以对于每一个人来说,最后的路径可以看成是一条欧拉通路,欧拉通
(来自黄学长) 1.1 基本数据结构 数组 链表,双向链表 队列,单调队列,双端队列 栈,单调栈 1.2 中级数据结构 堆 并查集与带权并查集 hash 表 自然溢出 双hash 1.3 高级数据结构 树状数组 线段树,线段树合并 平衡树 Treap 随机平衡二叉树 Splay 伸展树 Scapegoat T
为什么叫被踩记录呢?因为感觉自己之前真的是太菜了,打算把之前联赛等考过的题目做一做,看看自已以前有多菜,所以取名叫被踩记录。 题目链接 题目分析 首先要知道这些东西: \[n^m=\sum_{i=0}^{n}{n\choose i}{m\brace i}i! \]\[\sum_{i=0}^{n}{n\choose i}x^i=(x+1)^n \]\[{n\choose m}{
Description 有两组二元组,\((a_i,b_i),(c_i,d_i)\) 每次添加或者删除两组中的一个 求一个 \(e\) 使得 \[min(\sum_{b_i\le e} a_i,\sum_{d_i\ge e} c_i) \]最大 如果对于任意一个 \(e\) 都不能满足 \(min\) 中的俩值不为 \(0\),输出 \(Peace\) \(T \le 10^6\) Solution 首先观察题
知识点: 原题面 Loj Luogu 扯 考场上写了二分 + 树状数组。 没想到可以再二分一次于是加了个 set,水了 60。 当时还不知道线段树上二分这种傻逼玩意= = 今日学到虚脱。 题意简述 简不动,简不动。 分析题意 读完题发现全是废话。可总结出下面几个结论: 将冰火人按温度升序排序,冰人
题目链接 省选前一天做十二省联考两天T2,当模拟省选,结果写了俩十分部分分还都爆零了(因为一个数组少开了个零,一个似乎特判那里有问题),省选爆炸也可能和这个有关系,今天补上。 首先转化成最长路模型还是比较容易的,至少省选前我就能想到。A -(支配)- > B, B -(前缀)- > A,然后 S -> A, A
P6619 [省选联考 2020 A/B 卷] 冰火战士 简化题意: 冰战士、火战士组成冰火两队,每个战士有温度 \(x\) 和能量 \(y\) 两个属性。若选择场地温度 \(T\),则冰队温度 \(\leq T\) 的战士参赛,火队温度 \(\geq T\) 的战士参加,设冰队、火队参加战士的能量和是 \(a,b\),你要选择 \(T\) 来最大
估分:\(50 + 10 + 40 = 90\) 考场:\(50 + 10 + 0 = 60\) 无语了。。。手玩出锅,还能怎样? \(T1\) 操作\(1、2、4\)都容易用线段树解决。 关键是操作\(3\),区间除法。考场没有想到做法。 其实我们对于一个区间,设最大值为\(A\),最小值为\(B\)。 如果\(⌊A/d⌋−A=⌊B/d⌋−B\),那很容易说明
冰火战士 线段树上二分即可 具体实现可以参见代码 #include<bits/stdc++.h> using namespace std; #define cs const #define pb push_back #define pii pair<int,int> #define fi first #define se second #define ll long long #define bg begin namespace IO{ cs int rl