随笔分类 - 杂项---学习笔记
摘要:(一)二分 答案必须具有单调性!! 一。整数集合上的二分 有两种不同的写法:当check(mid)成立时,若答案在右区间,采用第一种写法;反之,若答案在左区间,采用第二种写法。采用配套写法,可以防止死循或漏解。 ① ② 注意:若存在负整数的情况,需采用mid=(xxx)>>1而非mid=(xxx)/
阅读全文
摘要:1.补码表示: ~x=-1-x 2.自然溢出:unsigned long long 自动对2^32取模,可以用来hash。 3.基本位运算操作: 左移:1<<n=2^n n<<1=2n,n<<2=4n,n<<3=8n。。。 算术右移:n>>1=n/2 ,n>>4=n/16。。。算术右移=除以2向下取
阅读全文
摘要://参考:模运算_百度百科 一、概念:对于一个数n,给定一个数p,一定存在等式 n = k * p + r ,其中k、r是整数,且0 ≤ r <p。 则称k为n除以p的商,r为n除以p的余数,即 n / p = k (/为整除),n % p = r(%、mod为模运算)。 ->注意: 1、若a %
阅读全文
摘要:/*参考 https://www.cnblogs.com/LoveYayoi/p/6745541.html https://www.cnblogs.com/George1994/p/7821357.html 以及我校学长的优秀讲解。 */ 树链剖分可以将树剖分成一条一条的链,形成一条新链,然后通过一
阅读全文
摘要:对于一张图G,若存在一条从S出发到T的路径,使得图中每条边都恰好只经过一次(点可以经过多次!),则该路径为S到T的欧拉路径。 若一条回路(从S出发最终回到S),使得图中每条边都恰好只经过一次,则该路径为图G的一条欧拉回路。 对于存在欧拉回路的无向图,称为欧拉图。 定理1:若无向图中存在欧拉路径,当且
阅读全文
摘要:*张浩威老师授课* 树形DP:即在树上DP,用dp[i][]...表示以i为根的子树....。常从根DFS,递归转移dp数组。 没有上司的舞会-- 给定一棵有点权的二叉树,选择若干点,使得选出的点任意两个点都不相连,且选出的点权和最大。 n<=100000。 状态:dp[i][0/1]表示以i为根的
阅读全文
只有注册用户登录后才能阅读该文。
摘要:对于一些刚学DP的同学,直接写出DP转移方程是有些困难的。这里张浩威(张过亿)dalao教给了我们一种简便的方法。可以先写出简单的暴力搜索,然后转成记忆化搜索。 优点:思路简单。 缺点:代码略难写,且很难优化。 例:01背包问题 首先可以写出最暴力的做法,即枚举每个物品选还是不选。 可以观察到当x和
阅读全文
摘要:*钟皓曦老师授课* 常见最短路算法: Floyd → O(n^3) //floyd int dist[maxn][maxn]; memset(dist,0x3f,sizeof(dist)); for (int a=1;a<=m;a++) { int s,e,d; cin >> s >> e >> d
阅读全文
摘要:*钟皓曦(长者、钟百万)老师授课* 图:由边集E和点集V构成。 有向图:含有至少一条有向边的图。 无向图:只含有无向边的图。 →例:左图是有向图,因为其含有有向边。 右图是有向图。虽然无向边相当于两条有向边,但无向边的两条有向边的权值相同,而右图的两条有向边权值不一定相同。 路径:点和边组成的序列。
阅读全文
摘要:描述:并查集是一种对集合进行合并、查询等一系列操作。时间复杂度为O(a(n)) 比O(logn)还快。 代码: 1 int fa[sz];//集合数组 2 void init()//预处理 3 { 4 for(int i=1;i<=n;i++) 5 { 6 fa[i]=i;//初始时每个点都是一个独
阅读全文
摘要:二分答案 O(nlogm) 对一段有序的序列 每次二分,从而快速的查找。解决的问题常是“使最大值最小”或“使最小值最大”。 注意:①注意二分的序列是有序的,对于无序的序列进行二分需要先排序。 ②二分的区间尽可能大(给定区间左右端点+-1) ③根据题目要求,设定好check函数。 ④防止死循环。↓ 模
阅读全文

浙公网安备 33010602011771号