从一道很水的题窥探动态规划优化技巧

摘要: 原题:https://www.luogu.com.cn/problem/P1776 这题虽然标绿,但是数据极水,通过解绑优化即可卡着1s时限通过 未优化代码: const int N=1e5+5; int v[N],w[N],m[N]; int dp[N]; void solve(){ int n, 阅读全文
posted @ 2024-11-14 20:49 TaopiTTT 阅读(5) 评论(0) 推荐(0) 编辑

拆环成链+贪心区间覆盖+倍增

摘要: 好题,先插个眼,以后水平上来了再看 https://www.luogu.com.cn/problem/P4155 #include<bits/stdc++.h> #define endl '\n' #define lowbit(x) (x&-x) using namespace std; typed 阅读全文
posted @ 2024-11-12 20:22 TaopiTTT 阅读(1) 评论(0) 推荐(0) 编辑

链式并查集合并(裸板)

摘要: 对于操作:将一段元素合并为同类。 在合并 \([l,r]\) 这一段数的时候,其实有很多数本来就在一个并查集里。我们只需要合并若干个还没有合并的并查集,而不需要从 \(l\) 到 \(r\) 一个一个合并。因为只要合并了这几个并查集,效果等价于把 \([l,r]\) 直接合并了。 实现方法:每次记录 阅读全文
posted @ 2024-11-06 18:51 TaopiTTT 阅读(16) 评论(0) 推荐(0) 编辑

链式并查集合并+维护区间和

摘要: 用于解决区间合并查询问题 https://ac.nowcoder.com/acm/contest/93847/E #include<bits/stdc++.h> #define endl '\n' #define int long long #define lowbit(x) (x&-x) usin 阅读全文
posted @ 2024-11-04 20:15 TaopiTTT 阅读(2) 评论(0) 推荐(0) 编辑

bitset使用样例

摘要: bitset可将01字符串转换为01数组,快速进行位运算等操作 bitset<int>(string) //将01字符串转换为01数组 例题 https://ac.nowcoder.com/acm/contest/92972/D #include<bits/stdc++.h> #define end 阅读全文
posted @ 2024-10-28 21:03 TaopiTTT 阅读(1) 评论(0) 推荐(0) 编辑

Tarjan模板

摘要: 模板题在此 https://ac.nowcoder.com/acm/contest/86639/B /* tarjan:求强联通分量,本题中运用该算法实现重新构图并toposort */ #include<bits/stdc++.h> #define IOS ios::sync_with_stdio 阅读全文
posted @ 2024-10-28 16:10 TaopiTTT 阅读(1) 评论(0) 推荐(0) 编辑

set.erase()立大功

摘要: set.erase(int x)可以将x删除,利用这个特性,可以做到一次性删除 https://atcoder.jp/contests/abc370/tasks/abc370_d #include<bits/stdc++.h> #define endl '\n' #define int long l 阅读全文
posted @ 2024-10-17 21:46 TaopiTTT 阅读(4) 评论(0) 推荐(0) 编辑

二进制凑数+路线规划构造题

摘要: 妙啊妙啊 https://ac.nowcoder.com/acm/contest/92687/K #include<bits/stdc++.h> #define endl '\n' #define lowbit(x) (x&-x) using namespace std; const double 阅读全文
posted @ 2024-10-17 18:45 TaopiTTT 阅读(2) 评论(0) 推荐(0) 编辑

叉积法判断三点共线+重载运算符

摘要: https://ac.nowcoder.com/acm/contest/92687/G #include<bits/stdc++.h> #define endl '\n' #define int long long #define lowbit(x) (x&-x) using namespace s 阅读全文
posted @ 2024-10-16 20:10 TaopiTTT 阅读(4) 评论(0) 推荐(0) 编辑

set+并查集查无向图第k大的节点(启发式合并优化)

摘要: 关于启发式合并https://oi-wiki.org/graph/dsu-on-tree/ 在这里,对于两个大小不一样的集合,我们将小的集合合并到大的集合中,而不是将大的集合合并到小的集合中。 为什么呢?这个集合的大小可以认为是集合的高度(在正常情况下),而我们将集合高度小的并到高度大的显然有助于我 阅读全文
posted @ 2024-10-15 17:05 TaopiTTT 阅读(3) 评论(0) 推荐(0) 编辑