上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 57 下一页
摘要: 传送门 显然但不容易想到的事情:\(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) 编辑
摘要: 传送门 发现我们可以很容易地确定集合中最小的元素 然后从大到小用类似背包的逆过程处理掉这个元素的贡献 于是转化为子问题,递归做即可 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 阅读全文
posted @ 2021-11-13 21:24 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 并不会做 原题在这里 对于两个无序序列是否相等的判断:可以用无序hash Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 500010 #define ll long l 阅读全文
posted @ 2021-11-13 06:26 Administrator-09 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先有一个 \(O(nc^2)\) 的暴力 令 \(f_{i, j}\) 为考虑到第 \(i\) 个位置,当前有 \(j\) 个糖的最大收益 转移的时候枚举在当前位置买入/卖出几块糖 这个暴力可以优化到 \(O(nc)\) 具体地,可以利用完全背包的思想,以卖出为例 \(f_{i, j}=m 阅读全文
posted @ 2021-11-11 21:07 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 看起来需要求出每个数在哪些区间内是第 \(k\) 大 不会求,就炸了 关于形如「求序列内所有数左/右边」前 \(k\) 个大于/小于这个数的数: 需要避免从一个数向两边爆扫的时候扫到小于这个数的数 于是对这个序列建立一个双向链表,将整个序列复制下来排序,从小到大枚举 枚举到一个数时,向两边爆 阅读全文
posted @ 2021-11-11 20:51 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 有一个暴力做法是枚举一条边断开,在形成的两个连通块中求直径更新答案 于是树形DP预处理可以做到 \(O(1)\) 求直径 整体复杂度 \(O(n)\) Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f 阅读全文
posted @ 2021-11-11 20:38 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 按题意DP即可 Code: #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define N 2010 #define ll long long //#define int long long cha 阅读全文
posted @ 2021-11-11 20:36 Administrator-09 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先有个显然地过分但我没有看出来的结论:若没有修改,从 \(u\) 到 \(v\) 的最短路长度是 \(a_u\) 那现在改了几条边,最短路可能就变成了 \(dis_{u, z}+a_z\) 发现这个 \(z\) 和 \(u\) 之间必须通过修改过的边连通,否则绕一下一定不优 于是将每个修改 阅读全文
posted @ 2021-11-11 07:24 Administrator-09 阅读(2) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 57 下一页