だいすうぶせつごう
2925 ワード
: N, 1000 , K
N , SUM,SUM K
SUM
: 01 , .
, , K v, , , c w .
, : f[i][v] i v . :
f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}
, f[N][K] .
, 01
HDU1262:
, , .
: , n/2 0 。
HDU1215:
N, ( N N , 12 1,2,3,4,6.)
: for(int i=1; i<=MAXN>>1; ++i) for(int j=i+i; j<=MAXN; j+=i) a[j] += i;
: 1 N
:PH ,ANS ans[i]=ph[i]+ans[i-1]
SCOI2010: ( + )
n 1 m 0 , k ,1 0
: , (0,0) , (n+m,n-m) , , 1 0, , 1 0 。 , y=-1 , , y=-1 , (0,-2) (n+m,n-m)。 C(n+m,n)。 (0,-2) , n-m+2+[n+m-(n-m+2)]/2 = n+1 , C(n+m,n+1), , 。
hdu 1717 2
, ( ) 。
: , 10^k , a*10^k=b(b ), a=b/10^k, 。
, 0.148257148257... , , 。
:148257, 6 , :x=0.148257148257... 10^6, : 1000000x=148257.148257148257..., x=0.148257148257...,
: 999999x=148257, x=148257/999999=1/7
Hdu1452 Happy 2004
2004^x mod29
gcd(a,b)==1 && s(a*b)==s(a)*s(b) s ,
if(prime[p])s(p^n)=1+p^1+p^2+p^n=(p^(n+1)-1)/(p-1)
,s(2004^n)=s(2^(2n))*s(3^n)*s(167^n) 167 22 29
,s(2004^n)=s(2^(2n))*s(3^n)*s(22^n)
a=s(2^(2n))=(2^(2n+1)-1),b=s(3^n)=(3^(n+1)-1)/2,c=s(22^n)=(22^(n+1)-1)/21
, ,
2 21
: N, 1..N N
:sigma (i=1...n) i*[gcd(i,n)==1]
:gcd(n,i)=1
K!=1 gcd(n,n-i)=k, (n-i)%k==0 n%k=0
i%k=0。
i%k==0&&n%k==0 gcd(n,i)=k, , 。
gcd(n,i)=1 gcd(n,n-i)=1 , i,n-i n。
:ANS=N*phi(N)/2
n-i=i ?
1. n , n!=2*i, n-i=i
2. n ,n=2*i ,gcd(n,n/2) n , 1 n==2
n>2 ,gcd(n,n/2)=n/2。 n==2,ans=2*1/2=1,
: ans=N*phi(N)/2
sdibt 2406 Greatest Number (dfs)
: N , 4 ( ) , M,
#include
using namespace std;
int a[1010],n,m,s;
int cmp(int a,int b){return a>b;}
void dfs(int i,int sum,int gs){//i ,sum ,gs
if(sum>s)s=sum;// ,
if(i>=n||sum==m||gs>4||sum+a[i]*(5-gs)<=s)return;//5-gs , sum+a[i]*(5-gs) , a[i]
if(sum+a[i]<=m)dfs(i,sum+a[i],gs+1);// a[i] , i , a[i] , GS+1
if(sum<=m)dfs(i+1,sum,gs);// , , , GS
}
int main(){
int i,k=1;
while(scanf("%d%d",&n,&m)!=EOF){// N M
if(n==0&&m==0)break;//
for(i=0;i