摘要: https://www.acwing.com/solution/content/135911/ oi-wiki扫描线 放个模板先 P5490 【模板】扫描线 #include<bits/stdc++.h> using namespace std; #define ll long long #defi 阅读全文
posted @ 2024-07-23 20:47 codwarm 阅读(95) 评论(0) 推荐(0)
摘要: dp 优化 阅读全文
posted @ 2024-07-21 17:45 codwarm 阅读(35) 评论(0) 推荐(0)
摘要: 第一种形式 有 n个限制,\(f_k\) 表示恰好满足k个限制,\(g_k\) 表示选择 \(k\) 个限制,满足这些限制其他不管的选择方案。 \[\large {g_k = \sum_{i=k}^{n} {i\choose k} \times f_i } \]\[\large {f_k = \su 阅读全文
posted @ 2024-07-18 16:11 codwarm 阅读(34) 评论(2) 推荐(1)
摘要: 求不等式组的最大解和最小解: 神奇结论:求最大解跑最短路,求最小解跑最长路 设超级源点为 \(x_0\),\(x_0\) 到其他点边权为 \(W\) 则跑最短路时,答案为 \(x_1,x_2 ... x_n <= w\) 的最大解。 跑最长路时,答案为 \(x_1,x_2 ... x_n >= w\ 阅读全文
posted @ 2024-06-20 23:05 codwarm 阅读(26) 评论(0) 推荐(0)
摘要: 学习链接 cdq分治是一种离线算法,一般解决以下三种问题: cdq 分治解决和点对有关的问题 cdq 分治优化 1D/1D 动态规划的转移 通过 cdq 分治,将一些动态问题转化为静态问题 大致思想是对于区间 \([l,r]\),先解决 \([l,mid]\) 和 \([mid+1,r]\),在计算 阅读全文
posted @ 2024-06-11 21:08 codwarm 阅读(23) 评论(0) 推荐(0)
摘要: 链接 链接2 链接3 链接4 前置知识: 数论分块 可以求形如:\(\sum f(i)g(\left \lfloor n/i \right \rfloor )\) 的东西。 原理如下: 比如说求 $\sum_{i=1}^{10}\left \lfloor 10/i \right \rfloor $ 阅读全文
posted @ 2024-06-01 15:26 codwarm 阅读(17) 评论(1) 推荐(0)
摘要: 学习链接 https://www.luogu.com/article/tzeo544s 数位DP标准模版: ll dfs(int pos,int pre,int st,……,int lead,int limit)//记搜 { if(pos>len) return st;//剪枝 if((dp[pos 阅读全文
posted @ 2024-06-01 10:44 codwarm 阅读(36) 评论(0) 推荐(0)
摘要: 枚举状态S的子集: for(int s=0; s<=tot; s++){ for(int s2=s; ; s2=s&(s2-1)){ 枚举子集例题 旅行商问题:P8733 [蓝桥杯 2020 国 C] 补给 在方格中填图案问题: 蒙德里安问题 国际象棋 炮兵阵地 阅读全文
posted @ 2024-06-01 10:40 codwarm 阅读(12) 评论(0) 推荐(0)
摘要: 介绍 主席树即可持久化线段树,由 hjt 大佬发明。 好像又称函数式线段树。 可以查询序列在任意时间的历史状态。 学习链接 学习链接 主要思路 维护历史状态,若采用直接拷贝整棵树的方式,空间爆炸。 可以发现每次修改只有部分节点发生了改变(其实就是到树根那条链会改变),因此每次只需要记录下来这条链的变 阅读全文
posted @ 2024-05-04 16:03 codwarm 阅读(29) 评论(0) 推荐(0)
摘要: 非常好学习资料 manacher 求最长回文子串 暴力 枚举回文中心 \([1,n]\),暴力向两边拓展,然后 \(checkmax\)。时间复杂度 \(O(n^2)\) 可以用二分哈希优化至 \(O(n \log n)\) 算法思路 当求解第 \(i\) 个字符为回文中心的时候,已经知道了 \([ 阅读全文
posted @ 2024-05-04 11:05 codwarm 阅读(28) 评论(0) 推荐(0)