03 2020 档案
摘要:推荐博客:https://www.cnblogs.com/ivanovcraft/p/9019090.html 老实说,这篇博客写的很全,看完应该就会了; 核心代码喽~~int df[maxn],idnew[maxn],son[maxn],fa[maxn],top[maxn],siz[maxn],d
阅读全文
摘要:递推 无后效性,最优子结构 -》状态转移方程 -》 注意初始化 (边界值) -》注意枚举顺序(完全背包第二维从小到大,01背包从大到小,区间先长度再左) LIS接上之前最优解,LCS,背包问题(01背包,完全背包,分组背包,依赖性问题) 状态压缩,树形dp 看过最好的一篇讲解动态规划的 https:
阅读全文
摘要:详细讲解博客,推:https://www.cnblogs.com/xenny/p/9739600.html for(int i=x;i;i-=i&-i)//树状数组求前缀和s[x]; s+=c[i]; 区间修改 for(int i=x;i<=n;i+=i&-i)//a[x]增加k,c[]数组修改 c
阅读全文
摘要:线段树,每个节点都代表一个区间,左儿子和右儿子分别是父亲的左右子区间 线段树 线段树初始化 void build(int pos,int l,int r) { if(l==r) {tree[pos]=a[l];return;} int mid=(l+r)>>1; build(lson,l,mid);
阅读全文
摘要:题目描述 给定一个长度为n的非负整数序列A,求一个平均数最大的,长度不小于L的子段。(牛客网) 看到这道题没想到用二分,只看到了暴力~~qwq,这道题可以二分枚举平均数大小,即找>=l区间内,大于平均数的数最大,也就是在此区间内存不存在前缀和(各项减去平均数)大于零,求最大的#include<ios
阅读全文