摘要:
题意 牌面初始是1到n,进行m次洗牌,每次抽取一段放到最前面。求最后的序列。 分析 神操作!!!比赛时很绝望,splay技能尚未点亮,不知道怎么用。 殊不知,C++库里有rope神器,即块状链表。 基础函数 有了上面的函数,就解决这道题了(狗头。 splay实现:区间交换可以用区间翻转来实现 如 1 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6315 题意 a数组初始全为0,b数组为1-n的一个排列。q次操作,一种操作add给a[l...r]加1,另一种操作query查询Σfloor(ai/bi)(i=l...r)。 分析 真的是太naive啦,现场时没 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6304 题意 给出一个数列的定义,a[1]=a[2]=1,a[n]=a[n-a[n-1]]+a[n-1-a[n-2]](n>=3)。求前n项和,n<=1e18。 分析 一看就是得打表找规律或推公式的题目。 先把a[ 阅读全文
摘要:
题意 在一个数轴上有n个集装箱,第 i 个集装箱的位置为x[i],且在集装箱内装有a[i]件货物,现在将这些集装箱内的货物进行移动(将一件货物从第 i 个集装箱移动到第 j 个集装箱的花费就为2*abs(x[i]-x[j]) ),求在总花费不超过T的情况下,最多能将多少货物移动到同一个集装箱内。 分 阅读全文
摘要:
题意 n*m的农场有若干种不同种类作物,如果作物接受了不同种类的肥料就会枯萎。现在进行t次施肥,每次对一个矩形区域施某种类的肥料。问最后枯萎的作物是多少。 分析 作者:xseventh链接:https://www.nowcoder.com/discuss/87630?type=101来源:牛客网 我 阅读全文
摘要:
题意 给你一个大小为n的数组,你可以删掉数组中的任意m个数,问你在删除m个数之后剩下的数组有多少种。(其中数组的每个数的大小<=k) 分析 显然需要动态规划,而k又很小,所以二维dp没问题。 设dp[i][j]为前 i 位数中已经删除了j个数的方案数。现在考虑往后转移,假设此时接上来的是数字c,那么 阅读全文
摘要:
题意 给出一个矩阵,矩阵每行的和必须为2,且是一个主对称矩阵。问你大小为n的这样的合法矩阵有多少个。 分析 作者:美食不可负064链接:https://www.nowcoder.com/discuss/87226?type=101&order=0&pos=1&page=1来源:牛客网 题目给出的合法 阅读全文
摘要:
题意 给出一串数字以及q次查询,每次查询l,r],要求求出[1,l]和[r,n]的所有不相同的数字个数。 分析 先对数组进行倍增,变为两倍长,然后查询就变成一个完整的区间。离线处理,按r从小到大排序,数组从1到2n扫一遍,每次更新每种数最后出现的位置,用树状数组处理。把前一次出现位置在树状数组里面更 阅读全文
摘要:
e(ai,bi)为从起点ai到终点bi的方案数。以上矩阵行列式结果就是(a1,a2,...an) 到 (b1,b2,...bn) 的所有不相交路径的种数。 具体证明的话看wiki,比较长。。 这个定理在应用时要注意:起点和终点不能是重复的,而且要和原方案等价。 以下是几个相关题目: CodeForc 阅读全文
摘要:
题意 分析 考虑01和12的分界线是(n, 0)到(0,m)的两条不相交(可重合)路径分界线以及分界线以上的点是一种,分界线下是一种平移其中一条变成(n-1, -1)到(-1,m-1); 此时起点为{(n,0),(n-1,-1)}。终点为{(0,m),(-1,m-1)}。套LGV即可,答案为C(n+ 阅读全文