10 2020 档案
摘要:知识的迁移,题目意思的分析 T1:互质数对 显然,对于在线的题目,我们应该认真的思考(如果计算过于麻烦,我们是不是可以通过增量来计算) 推导过程: 第二步到第三步:因为每一个d要满足|ax和ay,所以对于每一个μ来说,只有对于每一个ax加入进来的约数,会产生的只有(ay中是d倍数的个数,记录并计算就
阅读全文
摘要:关于能用矩阵乘法优化的DP题目,有如下几个要求: 转移式只有加法,清零,减法etc.,max和min运算不允许【符合矩阵的计算规律】 转移式中关于前几位dp结果得到的系数必须是常量【和常数项矩阵进行相乘】 转移次数一般超级多【运用快速幂转化成mod】 由于转移次数多,一般都要模一个int范围内的数【
阅读全文
摘要:适用范围 非负数就可以 注意n多n多的细节就可以啦 #include <stdio.h> #include <algorithm> #include <cstring> #include <iostream> #include <stack> using namespace std; typedef
阅读全文
摘要:本质上是一道trajan构图+floodfill+期望的壳子 对于高度来说,我们自然需要重新建图:-》知识点:二维变成一维的图 return (x-1)*m+y 那么新图就建出来了:同时我们可以考虑(现在这个图是DAG吗?显然不是,那么我们往往特殊走:如果一块之间是DAG我们会怎么处理) 如果是DA
阅读全文
摘要:看到这种需要对树上以及子树区间内部的树进行操作的题目,想都不用想就是树链剖分了 打模板已经熟悉到爆炸了,关键是怎么样在已知条件下引入新的操作 观察到新操作只有一个:取mod,怎么解决呢? 这一题我们得出了两个经验 在空间允许的范围以内,一颗线段树上面可以搭载多条信息 对于节点的操作我们要注意转化成i
阅读全文
摘要:新章节 容斥原理 基本思路:根据给出的N一般很小的原理,我们需要明确三个事情 集合是什么,条件是什么,什么满足什么不满足 然后通过二进制状态压缩的方式枚举每一个变量的存在与否 根据奇偶性对答案+或者-就可以统计出原来的答案 一般来说,其中会有很明显的集合重叠特征 t1牛皮的鲜花 发现n很小,但是每一
阅读全文
摘要:1.倍增关系: T1 序列和问题的贪心方法:左右端点一定要选到,那么自然是能往里面放就多放几个;【贪心正确】 此时我们发现,x到下一个跳到下一个第一次超过常数k的点y,就向x-》y连一条边 问题就转化成了l跳几步可以跳到r 利用双指针O(n)建树,倍增就可以了
阅读全文
摘要:1.扩展欧几里得算法: 求解问题a,b,qcd(a,b)=d;扩展欧几里得算法就是求出这么一组解ax+by=d 推导过程 如果求出来易祖杰x0,y0,那么通解x=x0+k*【a/d】 y=y0-k*[b/d]k整数就可 通常形式ax同余b(mod c) 那么就转化成ax+cy=b T1求解线性同余方
阅读全文
摘要:目前待做题目: 旅行(基础基环树+断边) fence rail(+剪枝https://blog.csdn.net/TA201314/article/details/41287567?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCom
阅读全文
摘要:prime适用于稀疏图,(适用于堆优化)prime的题目可能会被卡kruskal适用vector存图的时候适用迭代器用引用的方式来 访问成员(vector的内存是连续的,不是随机引用的关系)prime算法每次实际上和dij一样的绝大多数都是用kriskal,稠密图用n^2 prime(或者隐式建图)
阅读全文
摘要:背包数:组合类DP 1.01背包 集合,属性,最后一步(不重,不漏) 分析方法:左边部分(前面i-1的最大价值)和当前选择的物品的价值之和自然是最大的 2.完全背包 如果每次要枚举选择几个的话 k=0,1...决策由O(1)变成了O(n) 优化方法:考虑枚举求解状态的顺序,考虑决策之间的相近关系 发
阅读全文
摘要:10.14 topsort 核心:模拟队列,切进入队列时候已经就是答案了,直接按照队列输出就可 注意while循环用输入量来作为终止 #include <stdio.h> #include <algorithm> #include <cstring> using namespace std; con
阅读全文
摘要:可以说是非常惨了 思维上面的局限性暴露的一览无遗: 总结的经验也跑得一干二净 所以以后怎么做:按照解题表老老实实的进行剖析,珍惜每一次的经验 波利亚的怎样解题表 怎样解题第一步:弄清条件 第一:你必需弄清问题 未知是什么? 已知是什么? 条件是什么?满足条件是否可能? 要确定未知,条件是否充分?或者
阅读全文
摘要:1.堆优化的dij 使用优先队列https://blog.csdn.net/qq_36561697/article/details/82194569 priority_queue<Type, Container, Functional> Type为数据类型, Container为保存数据的容器,Fu
阅读全文
摘要:前言:bfs的证明 为什么我们可以用bfs来求出边权相同的单源最短路 首先,队列有两个性质: 两端性:队列当中只【且最多】存在距离起点x和x+1的点 单调性:队列里面的点一定先是x才到x+1 证明:起点是sx,sy 同时把x的点扩展之后,只会增加x+1的距离,所以说,队列当中两端性和单调性不变 所有
阅读全文
摘要:1.BFS 大概分为两种题目: 对于地图本身操作(最小步数)或者说二维矩阵上面的距离问题 2.边权唯一和flood fill模型: 3.bfs的特点: 求“最小或者求最短” 求迭代,“不会爆炸” 4.flood fill 在线性时间内,找到某个点的连通块 t1:细胞,最基本的floodfill 代码
阅读全文
摘要:约数个数问题:1.1-n中的约数个数:1.怎么求个数:分解质因子后 (c1+1)(c2+1)...2.估算复杂度:1-n当中有每个数中的约数个数和N/1+N/2+.. 总共是nlogn个3.0-2e9 最多的约数个数是1600个数 T2 数论题目本身就需要对式子进行一定的推导 对于二元问题,我们转化
阅读全文
浙公网安备 33010602011771号