摘要:
F $dp$出前$i$个位置匹配了多少个$nunhehheh$,再统计每个位置后面$a$的个数即可计算答案 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld 阅读全文
摘要:
A 签到题,分别计算两种情况边的贡献,注意奇偶性的影响 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld long double #define ull u 阅读全文
摘要:
吉司机线段树部分操作板题 支持区间取$max$,$min$,区间加 区间查询最大值 最小值和区间和 1 #include<bits/stdc++.h> 2 #define ll long long 3 #define db double 4 #define ld long double 5 #def 阅读全文
摘要:
C 注意到最后一段连续的可行答案其实很长 记录一下对于每个$i$来说最后一段连续的起始位置然后暴力转移 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld l 阅读全文
摘要:
A 先构造出$1-8,16$这$9$个数,共需要$17$步 之后按照每四位一个单位构造数$x$,若$x$的末四位$\le 8$可以直接加,否则需要在之前$+1$然后减去一个$<8$的数 这样每一个$4$位最多用两步即可解决,一共最多$17+16\times2+1=50$步 (注意一直进位使得整个数多 阅读全文
摘要:
A 先不考虑空间的限制,考虑每次一个字符串转变的情况,需要找到$trie$树上第一个独立于剩余字符串的前缀 则这个前缀即为这次所需的前缀,但需要考虑这个前缀可以替代之前的前缀的情况 新开一个$num$数组记录$trie$树上每个节点在前缀中出现了几次,则每次新增答案为找到节点的$1-num[x]$ 阅读全文
摘要:
A \[ \sum\limits_{i=0}^{n}\sum\limits_{1\le cj\le ai+b}i^pj^q=\sum\limits_{i=0}^{n}\sum\limits_{j=1}^{\lfloor \frac{ai+b}{c}\rfloor}i^pj^q \] 令$F(n)=\ 阅读全文
摘要:
A 数位$dp$ 咕了 B 由于$m$很小,考虑用生成函数表示方案数,设$f_i$表示$i$个物品的生成函数 转移$f_i$时,单独考虑第$i$个物品有三种情况$(不选,s,b)\(,对应价格为\)(0,1,2)$,贡献为$f_{i-1}(1+x+x^2)$ 否则$i$与$i-1$联合考虑,一共四种 阅读全文
摘要:
A 很猛的题 咕了 B 线段树计数 咕了 C 签到题,推个式子,大概是拆成了一些等比的三角形以及面积为等差乘等比的矩形面积和 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double # 阅读全文