摘要:
指针 在 lower_bound , upper_bound运用时的返回值是指针,可以用 auto 来存储(现在比赛基本都 c++14 了,放心用)。有时常见的解决方法为‘减去数组’,如: int a[N], n, x; int k = lower_bound(a + 1, a + n + 1, x 阅读全文
摘要:
线段树合并 需用结构体存线段树 简单的,板子也好理解 inline int merge(int x, int y, int l, int r){ //将 y 树合并到 x 树中 if(!x || !y){ return x | y; //返回节点 } if(l == r){ tree[x].v += 阅读全文
摘要:
数位dp 离谱dp,常用于有位置与位置之间的限制并计数的问题中。通过记忆化搜索求出。 代码大致模板: const int N = 50; //数的最高位数,可以往大点开 int s[N], tot; //栈用来存每位的数值 int dp[N][2][2]; //状态可能还会多一些,大致与 Dfs 状 阅读全文