摘要: 【题意】两列n个火柴,分别有高度ai和bi(同一列高度互不相同),每次可以交换一列中的两个相邻火柴,定义距离为∑(ai-bi)^2,求使距离最小的最少交换次数,n<=10^5。 【算法】逆序对 【题解】∑(ai-bi)^2=∑ai^2+∑bi^2-∑ai*bi,其中∑ai^2和∑bi^2为常数,则要 阅读全文
posted @ 2017-11-03 17:05 ONION_CYC 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 【题意】已知n次方程(n<=100)及其所有系数(|ai|<=10^10000),求[1,m]中整数解的个数(m<=10^6)。 【算法】数论 【题解】如果f(x)=0,则有f(x)%p=0。 所以取若干个素数p,将所有数字读入取模并快速计算出所有f(x)%p,若均为0则认为f(x)=0。 优化:利 阅读全文
posted @ 2017-11-03 15:19 ONION_CYC 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 【题意】求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数。n<=1000,m<=100,k<=m。 【算法】动态规划 【题解】这题主要是将从i-l转移变成从i-1转移,从而省略l这一维的枚举(等价于记录前缀和,将信息顺序传递过来)。 f[i][j][k]表示字符串A到i,字符串B到j, 阅读全文
posted @ 2017-11-03 08:01 ONION_CYC 阅读(285) 评论(0) 推荐(0) 编辑