传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0,1}c0,1​+1≥c1,0​≥c0,1​,因为$ 10, 01 $是交替出现的. c1,0+c0,0c_{1,0 }+c_{0,0}c1,0​+c0,0​是000出现的次数. c0,1+c1,1+1c_{0,1}+ c_{1,1}+1c0,1​+c1,1​+1 是111 出现的次数. 由于满足条…
传送门 把每一个数aaa质因数分解. 假设a=p1a1∗p2a2∗...∗pkaka=p_1^{a_1}*p_2^{a_2}*...*p_k^{a_k}a=p1a1​​∗p2a2​​∗...∗pkak​​ 然后可以转化成a′=p1a1mod3∗p2a2mod3∗...∗pkakmod3a'=p_1^{a_1mod3}*p_2^{a_2mod3}*...*p_k^{a_kmod3}a′=p1a1​mod3​∗p2a2​mod3​∗...∗pkak​mod3​ 然后可以找到另外一个不含立方因子的bb…
传送门 考试的时候乱搞过了. 其实题目就是让你求拓扑排序方案数. 直接树形dpdpdp然后组合数转移一下就行了. 乱搞代码…
Number 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 如果一个数能够表示成两两不同的 3 的幂次的和,就说这个数是好的. 比如 13 是好的,因为 13 = 9 + 3 + 1 . 又比如 90 是好的,因为 90 = 81 + 9 . 现在我们用 a[i] 表示第 i 小的好数. 比如 a[1] = 1, a[2] = 3, a[5] = 10 . 给定 L,R,请求出 a[L] 到 a[R] 的 和 mod 232. 输入格式 第一行一个整数 T,表示数据组数. 接…
传送门 题目并不难(想) 其实就是用倍增维护几个树上信息. 也就这么几个: 子树内最长链及其后继点. 子树内次长链及其后继点. 子树内第三场链(也就是dzyodzyodzyo口中鬼畜的次次长链) 点iii的第2j2^j2j个父亲不计算iii这棵子树的最优值−dep-dep−dep 点iii的第2j2^j2j个父亲不计算iii这棵子树的最优值+dep+dep+dep 点iii的第2j2^j2j个祖先 然后注意细节狂码一波就能过了 代码…
传送门 状压dp好题. 怎么今天道道题都有点东西啊 对于今天题目神仙出题人先膜为上策:%%%%DzYoAk_UoI%%%% 设f[i][j]f[i][j]f[i][j]表示选取点的状态集合为iii,当前在jjj号点的状态总数. 然后枚举一个不在集合中的点转移. 但是直接这样做会算错. 为什么呢? 因为我们没有考虑状压时其它子树的影响. 因此再记一个数组g[i][j]g[i][j]g[i][j]表示选取集合为iii当前在jjj号点来进行状态转移. f[sta][p]=∑[E(u,v)]f[sta∣…
传送门 考场上自己yy了一个双连通只有40分. 然后换根dp求最长路就行了. 代码…
传送门 对于每个二进制位单独考虑贡献. 然后对于两种情况分别统计. 对于第二种要用类似数位dpdpdp的方法来计算贡献. 代码…
传送门 sb模拟,考试跟着sb了90分. 代码…
传送门 对于每个点,用单调栈求出它左右第一个比他大的位置. 然后对每个点O(logai)O(log_{a_i})O(logai​​)求出第一个拥有跟它不同二进制位的位置. 然后容斥一下就行了. 代码…