摘要:
我们要求∑k%i 可以化简为∑n*k-i*(k/i) 所以问题在于如何求∑k/i*i 数据范围1e9,想一想O(n)不可做 加入n=k=15 i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 k/i=15 7 5 3 3 2 2 1 1 1 1 . . . . . . . 阅读全文
摘要:
dp模拟即可。 d[i][j][k]表示使用前i种面值,1号手里钱为j,2号手里钱为k时最少操作数 使用滚动数组压缩空间 阅读全文
摘要:
做到了AC自动机的题目,复习了一下AC自动机,学习了黄学长代码,这个题呢,我们可以模拟在AC自动机上的操作,dp数组f[i][j]表示前i个字符,我们在AC自动机上处在j号节点的方案数。 我们可以计算不符合条件的方案数,转移的时候不在有标记的节点转移就行了。—— by VANE 阅读全文
摘要:
01分数规划。 我们知道01分数规划有两种解法,一种是二分,一种是迭代。 先讲讲思路。 R=sigma(a[i]*x[i])/sigma(b[i]*x[i]),F(L):=sigma(a[i]*x[i])-L*sigma(b[i]*x[i])=sigma(d[i]*x[i]);d[i]=a[i]-b 阅读全文
摘要:
辣鸡POJ输出只能写%.0f 今天做bz时扫到了01分数规划,就来写一写 式子就是R=sigma(a[i]*x[i])/sigma(b[i]*x[i]) 我们先定义一个函数F(L):=sigma(a[i]*x[i])-L*sigma(b[i]*x[i]),显然这只是对目标式的一个简单的变形。分离参数 阅读全文
摘要:
定义f[i][j]为将i柱上的j个盘挪走(按优先级)的步数 p[i][j]为将i柱上的j个盘按优先级最先挪至何处 首先考虑一定p[i][j]!=i 设初始为a柱,p[i][j-1]为b柱 考虑两种情况,已经挪走的这j-1个盘如果挪到区别于这两柱的c柱,那么就是经典的汉诺塔,所以只能动底盘到c柱,其他 阅读全文