摘要:
题面传送门 话说这不是一张真正的图啊,只是一根链表后面挂着一个可有可无的环儿。 一眼扫去,这道题如果没有环,那么就是记忆化搜索或$topo$,但有环,就不好办。 根据亡羊补牢原则,我们把这个环拆了不就好了。 接下来就可以缩点。即把一个环变成一个权值为这个环的权值之和的点。 我们可以把那些绕在环上的链 阅读全文
摘要:
题面传送门 话说这道题题面和题目一点儿不沾边啊$QAQ$,而且还有错别字:大米有$32768$棵(颗)…… 扯了半天,题目要求解一个方程组:\(ax1+bx2+cx3+dx4=0\),\(0<=x1,x2,x3,x4<=m\) 第一想法:枚举:四重循环,枚举$x1$,\(x2\),\(x3\),\( 阅读全文
摘要:
题面传送门 按照题目要求递推即可 代码实现: #include<cstdio> #define min(a,b) ((a)<(b)?(a):(b)) using namespace std; int n,f[10039],a[10039]; int main(){ register int i,j; 阅读全文
摘要:
题面传送门 一看到最大最小值,而且是区间,立马想到两个东西:$st$和单调队列。这里介绍一种$st$表的做法。 但这可是二维,我们只学过一维的。 回想一下之前的前缀和和差分,我们是怎么一维转多维的。 维恩图! 首先是建表,肯定还是拿来拼,四个小正方形拼一个大正方形。 设$stmax_{i,j,k}$ 阅读全文
摘要:
题面传送门 这道题可以任意$\pm x$,所以可以$%x$考虑。将每一个数进来后$%x$并加入一个数组f中,设$f_i$为$%x=i$的数有几个。同时有一个指针为$head$。 若$head<x$,那么$f_>0$,\(head++\) 如果$head\geq x$,那么就要先满足小的,再来管大的。 阅读全文