2012年1月29日 星期日

分享

arg max

最近看論文總是會出現類似" y* = argmax f(t)"這種數學式子,還好網路上有人分享,請參考
http://kevingo75.blogspot.com/2009/04/arg-arg-max.html


y = f(t) 是一般常見的函式,代表給定一個t值,丟到f函式中會回傳一個值給y。

y = max f(t) 代表:y 是f(t)函式所有的值中最大的output。

y = arg max f(t) 代表:y 是f(t)函式中,會產生最大output的那個參數t。

舉例:

假設有一個函式 f(t),t 的可能範圍是 {0,1,2},f(t=0) = 10 ; f(t=1) = 20 ; f(t=2) = 7,那分別對應的y如下:

y = max f(t) = 20

y* = arg max f(t) = 1

相信大家都看懂了吧!

2011年4月28日 星期四

分享

高中生程式解題系統 d490: 我也愛偶數

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>


int main(void) 
{
    int input1,input2;
    int i;
    int sum;

    while(scanf("%d %d",&input1,&input2)!=EOF)
    {
        sum = 0;
        for(i=input1;i<=input2;i++)
        {
            if(i%2 == 0)
            {
                sum += i;
            }
        }

        printf("%d\n",sum);
    }
    
    return 0;
}
分享

高中生程式解題系統 d489: 伏林的三角地

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>


int main(void) 
{
    int a,b,c;
    double s;
    
    while(scanf("%d %d %d",&a,&b,&c)!=EOF)
    {
        s = 0.5 * (double)(a+b+c);
        printf("%.f\n",(s*(s-a)*(s-b)*(s-c)));
        
    }
    
    return 0;
}