10 2016 档案
摘要:$dp$。 $dp[i][j]$表示$s[i]$到$s[j]$和$t[lent-1+i-j]$到$t[lent-1]$有$dp[i][j]$位相同,然后枚举一遍$dp[i][j]$就可以算出答案了。
阅读全文
摘要:素因子分解,树状数组。$ACM/ICPC$ $2013$杭州区域赛$H$题。 首先需要处理出数字$a[i]$左边最远到$L[i]$,右边最远到$R[i]$区间内所有数字都与$a[i]$互质。 那么对于左端点在$[L[i],i]$并且右端点在$[i,R[i]]$的询问,$a[i]$就可以作出一个贡献。
阅读全文
摘要:水题。 对于两个$0$,肯定是先删去后面的$0$,再删去前面的$0$。 对于两个$1$,肯定是先删去前面的$1$,再删去后面的$1$。 对于一个$0$和一个$1$,无论先删哪一个,对答案做出的贡献都是一样的。 综上所述,可以先从后往前删完$0$,然后从前往后删完$1$;或者先从前往后删完$1$,然后
阅读全文
摘要:枚举,组合数,逆元。 枚举$a$用了$i$个,那么$b$就用了$n-i$个,这个时候和$sum=a*i+b*(n-i)$,判断$sum$是否满足条件,如果满足,那么答案加上$C(n,i)$。
阅读全文
摘要:离散化,线段树。$2014$年$ACM/ICPC$亚洲区域赛上海站$D$题。 可以处理出炸任意相邻的$h$行能消灭的点的数量,以及炸任意相邻的$w$列能消灭的点的数量,分别用$py[i]$和$px[i]$记。 然后可以枚举炸哪个相邻的$h$行,这相邻的$h$行中有些位置可能有点在,所以有一些位置的$
阅读全文
摘要:贪心,优先队列。 每次变最大的数,变到最大的能变的一个就停止。如果发现最大的数不能变小,那么输出。
阅读全文
摘要:并查集,离线操作。 将操作倒着进行,一开始所有数字都没有加入到数组中,然后倒着一个一个加入,更新最大值。
阅读全文
摘要:贪心,优先队列。 先看一下输入的数组乘积是正的还是负的。 ①如果是负的,也就是接下来的操作肯定是让正的加大,负的减小。每次寻找一个绝对值最小的数操作就可以了。 ②如果是正的,也是考虑绝对值,先操作绝对值最小的那个数,直到那个数字的符号发生变化就停止操作,接下来就是第①步。
阅读全文
摘要:$dp$,拓扑排序。 记$dp[i][j]$表示走到节点$i$,走过了$j$个点的最小时间,然后就可以递推了。要注意的是节点$1$的入度一开始不一定等于$0$。
阅读全文