08 2021 档案

摘要:关于Debug 一、Debug: (1)如何判断程序有bug: ··········《1》显然,答案错了一定有bug ··········《2》构造特殊数据,使劲考验自己的程序 ··········《3》多看几遍,分析逻辑有无错误 (2)怎么找bug: ···· 阅读全文
posted @ 2021-08-31 20:41 Mint-hexagram 阅读(62) 评论(2) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; const int N=2e5+10; int n,m,q,tot=0; int a[N],b[N]; int T[N],sum[N<<5],L[N<<5],R[N<<5]; int build(int l,i 阅读全文
posted @ 2021-08-26 15:48 Mint-hexagram 阅读(51) 评论(0) 推荐(0)
摘要:树状数组基本性质: (1)C[i] = A[i - 2k+1] + A[i - 2k+2] + ... + A[i]; //k为i的二进制中从最低位到高位连续零的长度 (2)SUMi = C[i] + C[i-2k1] + C[(i - 2k1) - 2k2] + .....; (3)A[i] 包含 阅读全文
posted @ 2021-08-26 13:56 Mint-hexagram 阅读(86) 评论(0) 推荐(0)
摘要:一、辛普森公式(二次函数积分公式): 用途:求一个积分的近似值 拓展用途:由于积分的几何意义是函数图像和x轴所围成的图形的面积,因此常用于在计算几何中计算面积 tips1:这里的f(x)可以是任意一个函数。 tips2:但自适应辛普森法只能用于定义域连续不中断的函数(注意是定义域连续不中断即可,函数 阅读全文
posted @ 2021-08-25 15:50 Mint-hexagram 阅读(3082) 评论(0) 推荐(0)
摘要:一、基本概念&算法基础: 顾名思义,就是把一些状态压缩成一个或多个n进制数来表示,然后通过数位的运算来判断这些数所对应的状态是否合法,从而成对状态的转移。 常用2进制,因此2进制位运算就很重要。 二、没了 注意合法性常常需要从多个方面考虑,不要漏掉需要考虑的情况。 例题:洛谷P1879 [USACO 阅读全文
posted @ 2021-08-24 16:43 Mint-hexagram 阅读(46) 评论(0) 推荐(0)
摘要:由于原来的模板在某些题目中出现了一些不可知的错误,我就把模板换了一个写法。 #include<bits/stdc++.h> using namespace std; int f[310][310]; int n,m,a,b,c,dis[310]; bool vis[310]; void prim() 阅读全文
posted @ 2021-08-23 18:23 Mint-hexagram 阅读(27) 评论(0) 推荐(0)
摘要:dfn[now]表示在now点在dfs搜索树中的dfs序。 low[now]表示的是now通过后向边、横叉边能到达的dfn最小的点的dfs序。 我们取一个强连通分量中dfn最小的点作为整个强连通分量的代表元素。 因此low[now]的实际意义就是now所在的强连通分量的代表元素的点的dfn值。 to 阅读全文
posted @ 2021-08-22 15:47 Mint-hexagram 阅读(67) 评论(0) 推荐(0)
摘要:一、快速幂 递归写法 int quickpow(int a,int b,int c) { if(b==1) return a%n; int t=quickpow(a,b/2,c)%n; t=t*t%n; if(b%2==0) return t; else return t*a%n; } 非递归写法 阅读全文
posted @ 2021-08-16 13:57 Mint-hexagram 阅读(88) 评论(0) 推荐(0)
摘要:知识点总结。 判断树上的链 ···每个点的度数不超过二(出度与入度之和) 判断树 ···n个点,只有n-1条边 ···每两个点之间的边具有唯一性 多叉树转换成二叉树 ···第一个孩子作为左孩子,第一个孩子的兄弟作为它的右孩子 最小生成树 生成:prim or kruskal具体代码在这里 一些小性质 阅读全文
posted @ 2021-08-15 20:41 Mint-hexagram 阅读(83) 评论(0) 推荐(0)
摘要:知识点: (1)欧拉路径定义:从一个点出发,不重不漏的经过图中每一条边的一条路径(允许多次经过同一个点)。 (2)欧拉路径的判断: ···········<1>若为无向图,则需连通,且图中恰好存在两个点的度数是奇数,其他节点的度数为偶数,这两个度数为奇数的点就是起点与终点;或者所有点度数都是偶数。 阅读全文
posted @ 2021-08-15 14:36 Mint-hexagram 阅读(151) 评论(0) 推荐(0)
摘要:两个月前写的模板,忘记存blog了 prim #include<cstdio> #include<algorithm> using namespace std; const int maxn=2e5+5; int n, m, f[maxn][maxn],tot,dis[maxn],s; bool v 阅读全文
posted @ 2021-08-14 16:43 Mint-hexagram 阅读(36) 评论(0) 推荐(0)
摘要:今天是分治+二分+倍增(图上倍增)+矩阵快速幂 时间规划还算合理吧,but代码实现的准确性卡掉了我180分 T1:看着就是分治(数据结构具有一定的性质),于是就写。结果忘了四舍五入的要求,没有在强制类型转换前+0.5。爆零了。 T2:明显的二分,但是当时没有想出二分的具体方式。。 T3:图上倍增,题 阅读全文
posted @ 2021-08-13 23:05 Mint-hexagram 阅读(37) 评论(0) 推荐(0)
摘要:时间规划又出了一些大问题emmmm 前15min:读了四道题,发现T1完全是裸的数位dp 15min~1h30min写T1代码,样例和自己构造的数据全过。 1h30min~2h30min突然觉得有问题,于是开始改,改到一半发现其实原来的写法是正确的,开始复原 2h30~3h复原失败,开始写暴力 3h 阅读全文
posted @ 2021-08-12 21:36 Mint-hexagram 阅读(56) 评论(0) 推荐(0)
摘要:题面无。 主题是搜索和枚举专题。 一,问题总结 (1)审题 我真傻,真的,我单知道题面会告诉有用的内容,没想到pdf文件的标题才是关键 总之不管什么内容都要好好审一下吧(虽说正式考试应该不会告诉我算法是什么) (2)时间分配&&做题的顺序和策略 这次翻车的回溯以及心路历程 第一阶段: 我先把所有题都 阅读全文
posted @ 2021-08-09 21:35 Mint-hexagram 阅读(63) 评论(0) 推荐(0)
摘要:数列找不同 **莫队的算法思路: (1)把m个查询排序:左端点为第一关键字,右端点为第二关键字 (2)维护一个序列(pl,pr),每次根据查询区间(l,r)将pr,pl加一或减一进行修改 由于之前已经对查询进行了排序,因此调整的复杂度很低,接近O(N * sqrt(N)) 注意:初始状态pl=1,p 阅读全文
posted @ 2021-08-07 13:55 Mint-hexagram 阅读(113) 评论(0) 推荐(0)
摘要:https://www.luogu.com.cn/problem/P2340 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int dp[800005]; int main() { int n, 阅读全文
posted @ 2021-08-02 23:11 Mint-hexagram 阅读(61) 评论(0) 推荐(0)