题意:
N个不同的颜色的不透明的长方形(1 <= N <= 1000)被放置在一张宽为A长为B的白纸上。这些长方形被放置时,保证了它们的边与白纸的边缘平行。所有的长方形都放置在白纸内,所以我们会看到不同形状的各种颜色。坐标系统的原点(0,0)设在这张白纸的左下角,而坐标轴则平行于边缘。
分析:
题意:给n个数从中选出一组数使其和为这N个数之和减去给定的TotalW
分析:拿到题很快就想到类似于DP的算法求出最后的方案数
利用积性函数的优化.
这个文章主要介绍了3算法
1线性时间筛素数
2线性时间求前n个数的欧拉函数值
3线性时间求前n个数的约数个数
一、
下面是wiki的条目:
在非数论的领域,积性函数指有对于任何a,b都有性质f(ab)=f(a)f(b)的函数。
在数论中的积性函数。对于正整数n的一个算术函数f(n),当中f(1)=1且当a,b互质,f(ab)=f(a)f(b),在数论上就称它为积性函数。
若某算术函数f(n)符合f(1)=1,且就算a,b不互质,f(ab)=f(a)f(b),称它为完全积性的。
例子
φ(n) -欧拉φ函数,计算与n互质的正整数之数目
μ(n) -默比乌斯函数,关于非平方数的质因子数目
【大意】有几种题目,每一种有无限道,给出做各种题的时间和得分,求在给定的时间内可以得到的分数最大值
【算法】无限背包,但朴素的无限背包超时 ,需要优化一下,再读入的过程中就进行DP
【程序清单】
}var f:array[0..10000]of longint;
begin
end.
{ID:wangyang91
}
var a:array[1..100,1..100]of longint;
begin
begin
{ID:wangyang91
}
const most=1e20;
var f:array[1..150,1..150]of real;
begin
|
标签:杂谈 |