摘要: 传送门 这题我居然不会…… 每个限制条件实际上等价于 \(z-1\) 个形如 \(a_i=a_j\) 的条件和一个 \(a_i\neq a_j\) 的条件 发现支持复杂度 \(O(n^2)\),于是暴力并查集,贪心填数即可 Code: #include <bits/stdc++.h> using n 阅读全文
posted @ 2021-11-14 19:47 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 发现那个 \(k\) 每次都在变着实很烦 于是将 \(k\) 看做变量 \(x\),将 \(\sum b\) 看做 \(k\),将 \(\sum a\) 看做 \(b\) 于是每个决策点都可以表示为一条 \(kx+b\) 的直线,李超树维护即可 李超树维护直线(不是线段)是 \(O(nlog 阅读全文
posted @ 2021-11-14 19:44 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 发现这个传送门是单向的就很烦 于是并查集缩点+有向图tarjan缩点+bitset可达性统计即可 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 100010 #defi 阅读全文
posted @ 2021-11-14 19:41 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 传送门 其实还有这个 并不会做 首先是 一个处理形如「每个元素有两种值可以选」问题的常见转化方法:将这个元素看成连接这两个值的一条边 于是若将每张牌看成从底面数字连向顶面数字的一条边 问题就转化为要改变尽量少的边的方向使每个点的度数不超过1 于是分连通块,考虑这个连通块的贡献 若是棵树,可以 阅读全文
posted @ 2021-11-14 19:39 Administrator-09 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门 显然但不容易想到的事情:\(a\oplus b=a+b-(a\&b)\) 于是问题变成了求 \(\sum\limits_{i=1}^{n-1}i\&(n-i)\),可以数位DP 但还有一种思路是让原式直接递推 对于一些看着很简单但求起来很慢的式子貌似还有一个处理方法是构造递推 于是上题解式子 阅读全文
posted @ 2021-11-14 19:14 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 刚了四个小时并且没有任何用处 一开始尝试按位拆开考虑贡献,但发现极难DP 想了trie树但感觉trie树只能处理两个数的相对关系,于是就没细想 然后正解扔到trie树上了 思路是枚举 \(k\),用trie树处理 \(i\) 和 \(j\) 发现比较大小时我们只需要考虑两者的最高不同位 两个 阅读全文
posted @ 2021-11-14 07:28 Administrator-09 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门 好题! 但数据是拿脚造的并且官方题解写得像shit一样 康不懂官方题解,于是学习了dalao做法 看了一年才看懂,于是下文是在试图解释dalao题解 首先能产生贡献的点一定是单调栈中的点,但每次爆扫单调栈复杂度显然不对 于是考虑单调栈中的每个元素对所有询问的贡献,这个可以只在弹栈时考虑 于是 阅读全文
posted @ 2021-11-14 07:26 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑