随笔分类 -  ACM

上一页 1 2 3 4 5 6 7 8 下一页

洛谷P1462 通往奥格瑞玛的道路(二分+spfa,二分+Dijkstra)
摘要:"洛谷P1462 通往奥格瑞玛的道路" 二分费用。 用血量花费建图,用单源最短路判断 $1$ 到 $n$ 的最短路花费是否小于 $b$ 。二分时需要不断记录合法的 $mid$ 值。 这里建议使用`while(l include include include using namespace std; 阅读全文

posted @ 2019-08-19 15:05 solvit 阅读(150) 评论(0) 推荐(0)

HDU6669 Game(思维,贪心)
摘要:"HDU6669 Game" 维护区间 $[l,r]$ 为完成前 $i$ 步使用最少步数后可能落在的区间。 初始时区间 $[l,r]$ 为整个坐标轴。 对于第 $i$ 个任务区间 $[a,b]$,如果两区间相离,那么至少需要 $(length + 1) / 2$ 步。 在第 $i$ 个任务完成后,区 阅读全文

posted @ 2019-08-18 19:36 solvit 阅读(204) 评论(0) 推荐(0)

HDU6672 Seq(找规律)
摘要:"HDU6672 Seq" 对于递推式 $a_n = (\sum_{i = 1}^{n 1}a_i i)\%n$ 打表列出 $a_i$ 的前 $100$ 项,发现有以 $6$ 为循环的规律,具体规律见代码。 复杂度为 $O(1)$ 。 include include include include 阅读全文

posted @ 2019-08-18 17:14 solvit 阅读(121) 评论(0) 推荐(0)

HDU6668 Polynomial(模拟)
摘要:"HDU6668 Polynomial" 顺序遍历找出最高次幂项的系数 分三种情况 $1/0$、$0/1$、$f(x)/g(x)$ 。 复杂度为 $O(n)$ 。 阅读全文

posted @ 2019-08-18 16:46 solvit 阅读(176) 评论(0) 推荐(0)

洛谷P1378 油滴扩展(搜索)
摘要:"洛谷P1378 油滴扩展" 直接暴力搜索更新答案就可以了。 时间复杂度为 $O(n!)$ 。 include include include include using namespace std; const int maxn = 10; const double pi = acos( 1.0) 阅读全文

posted @ 2019-08-18 10:58 solvit 阅读(136) 评论(0) 推荐(0)

洛谷P1120 小木棍 [数据加强版](搜索)
摘要:"洛谷P1120 小木棍 [数据加强版]" 搜索+剪枝 【剪枝操作】:若某组拼接不成立,且此时 已拼接的长度为0 或 当前已拼接的长度与刚才枚举的长度之和为最终枚举的答案时,则可直接跳出循环。因为此时继续枚举其它更小的值时,显然可能情况更少,且 同样凑不完 。 include include inc 阅读全文

posted @ 2019-08-17 11:52 solvit 阅读(153) 评论(0) 推荐(0)

洛谷P2661 信息传递(最小环,并查集)
摘要:"洛谷P2661 信息传递" 最小环求解采用并查集求最小环。 只适用于本题的情况。对于新加可以使得两个子树合并的边,总有其中一点为其中一棵子树的根。 复杂度 $O(n)$ 。 include using namespace std; const int inf = 0x3f3f3f3f; const 阅读全文

posted @ 2019-08-16 14:47 solvit 阅读(208) 评论(0) 推荐(0)

洛谷P1879 [USACO06NOV]玉米田Corn Fields(状压dp)
摘要:"洛谷P1879 [USACO06NOV]玉米田Corn Fields" $f[i][j]$ 表示前 $i$ 行且第 $i$ 行状态为 $j$ 的方案总数。$j$ 的大小为 $0 \to (1 n 1)$ 。 第 $i$ 行,种植状态为 $j$ 的方案总数等于所有合法的 $f[i 1][k]$ 之和 阅读全文

posted @ 2019-08-15 19:45 solvit 阅读(133) 评论(0) 推荐(0)

莫队学习
摘要:[TOC] 莫队算法  典型的离线算法,不支持修改。不能解决强制在线的问题。莫队算法优化的核心是分块和排序。将大小为 $n$ 的序列分为 $\sqrt{n}$ 块,从 $1$ 到 $\sqrt{n}$ 编号,然后根据分块结果对查询区间进行排序。一种方法是把查询区间 按照左端点所在块的序号排 阅读全文

posted @ 2019-08-14 15:34 solvit 阅读(181) 评论(0) 推荐(0)

主席树学习
摘要:主席树  是函数式线段树,是一种持久化数据结构。对于每次修改,我们只需该次修改所改动的结点新建一遍,其余的结点跟上一历史版本一样即可。如果每次都是单点修改的话,那么就只会增加 $\log n$ 个新结点。 由于动态开点的原因,左右儿子就不能通过完全二叉树找左右儿子那种方式来找了, 必须要记 阅读全文

posted @ 2019-08-11 19:37 solvit 阅读(136) 评论(0) 推荐(0)

dp的优化总结
摘要:[TOC] 前缀和优化 解决问题  如果dp转移过程中需要反复的使用一个求和式时,可以将数列的前缀和先预处理出来。运算一般要满足可减性。 题目 "P2513 [HAOI2009]逆序对数列"   "题解" 单调队列优化 前置技能  单调队列(经典问题模型: "P1886 阅读全文

posted @ 2019-08-10 16:09 solvit 阅读(180) 评论(0) 推荐(0)

背包九讲
摘要:目录 01背包问题 完全背包问题 多重背包问题 混合三种背包问题 二维费用的背包问题 分组的背包问题 有依赖的背包问题 泛化物品 背包问题问法的变化 01背包问题 基本问题 有 $N$ 件物品和一个容量为 $V$ 的背包。第 $i$ 件物品的费用是 $c[i]$,价值是 $w[i]$。求解将哪些物品 阅读全文

posted @ 2019-08-10 15:54 solvit 阅读(152) 评论(0) 推荐(0)

BZOJ 1026: [SCOI2009]windy数
摘要:简单的数位dp 直接用dfs的模板写 坑点:0001是合法的,但是之前没考虑前导0导致将其判为不合法的 #include<bits/stdc++.h> using namespace std; typedef long long ll; int bit[50]; ll f[50][55]; ll d 阅读全文

posted @ 2019-03-18 19:19 solvit 阅读(154) 评论(0) 推荐(0)

BZOJ 5170: Fable
摘要:离散化+树状数组 求当前位之前是否有k位比它大 这样的话它就需要前移k位 剩下的按照原来的顺序依次填入 其实我觉得sort一下就可以做出来了 太久没写树状数组了 所以写了一下树状数组 #include <bits/stdc++.h> using namespace std; const int ma 阅读全文

posted @ 2019-03-17 10:57 solvit 阅读(164) 评论(0) 推荐(0)

ZOJ4043 Virtual Singers
摘要:题目: ZOJ4043 Virtual Singers 题解: 2018青岛热身赛的D题 注意反悔操作的处理,其他就贪心了 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 100 阅读全文

posted @ 2018-11-05 09:23 solvit 阅读(243) 评论(0) 推荐(0)

树分治
摘要:参考 阅读全文

posted @ 2018-10-21 21:04 solvit 阅读(112) 评论(0) 推荐(0)

逆元打表
摘要:逆元打表模板: long long re[N],inv[N],fac[N]; void init(int n){ re[0] = inv[1] = fac[0] = 1; for(int i = 1;i <= n;++i) fac[i] = fac[i-1] * i % mod; for(int i 阅读全文

posted @ 2018-10-20 09:53 solvit 阅读(432) 评论(0) 推荐(0)

三分:求解凸函数极值
摘要:三分算法:三分算法(简称三分法)用于求解凸性函数的极值问题。二分法适用于单调函数,当需要求凸性函数的极值点时,三分法便可派上用场。使用二分法不能判断函数极值点在哪部分,而使用三分法将区间分成三部分,可以明确判定一定不在哪部分,每次舍弃三分之一的查找空间,效率也很高。 题目: TOJ3777 Func 阅读全文

posted @ 2018-10-15 09:49 solvit 阅读(381) 评论(0) 推荐(0)

anti-nim 游戏
摘要:游戏描述: 桌上有n堆石子,游戏双方轮流取石子,每次只能从一堆中取出任意数目的石子,不能不取,取走最后一个石子者失败。 结论: 先手必胜,当且仅当: ①、所有堆的石子数都为1,且游戏的SG值为0。 ②、存在堆的石子数大于1,且游戏的SG值不为0。 题目: HDU2509 Be the Winner 阅读全文

posted @ 2018-10-14 17:21 solvit 阅读(354) 评论(0) 推荐(0)

Modular arithmetic and Montgomery form 实现快速模乘
摘要:题目: 电音之王 题解: 求数列前n项相乘并取模 思路: ①、这题的乘法是爆long long的,可以通过快速幂的思想去解决(按数位对其中的一个数进行剖分)。当然你的乘法会多出一个log的复杂度... ②、O(1)快速乘:一种O(1)复杂度求解整数相乘取模的思路(它对于64位的整型也是适用的): 来 阅读全文

posted @ 2018-10-06 13:08 solvit 阅读(416) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 下一页

导航