だいすうぶせつごう

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