[JUG-Indonesia] Re: Kode menarik

2008-06-07 Thread Kiki Ahmadi
--- In jug-indonesia@yahoogroups.com, "Frans Thamura" <[EMAIL PROTECTED]> wrote:
>
> dari saya
> 
> lg cari cari rumus statistika, selain log, tapi sin, cos, juga
statistika,
> mean, average
> 
> cape jugakan buat sendiri semua
> 
> ada yang tahu?
> 
> F
>

bro..

http://commons.apache.org/math/userguide/stat.html

buat tugas Statistical Computing enak tuh...

tinggal...
array.getMeans() 

hehehehhehe

:) 



Kiki Ahmadi
jug-bonek



[JUG-Indonesia] Re: Kode menarik

2008-06-08 Thread Suhendry Effendy
ikutan ah, sepertinya rame :-D

code yang dibawah kayaknya belum ada yg bahas cara kerjanya.

(buat yang bingung aja):

OUTPUT[i]: output pada elemen ke-i (hasil perkalian semua A[] kecuali
A[i])

KIRI[i]: partial-multiplication dari A[1] s/d A[i] (maju)
KANAN[i]: partial-multiplication dari A[N] s/d A[i] (mundur)

contoh..
INPUT:[4, 3, 2, 1, 2]
KIRI:[4, 12, 24, 24, 48]
KANAN:[48, 12, 4, 2, 2]

maka...

OUTPUT[i] = KIRI[i-1] * KANAN[i+1]

baca: OUTPUT[i] adalah hasil kali semua elemen yang di kiri i, dengan
semua elemen yang di kanan i.


KIRI[] bisa dikomputasi dalam O(n) -> sekali looping
KANAN[] juga bisa dikomputasi dalam O(n) -> sekali looping juga.

setelah KIRI[] dan KANAN[] di pre-compute, maka OUTPUT[] juga bisa
diselesaikan dalam O(n) :-D

jadi total kompleksitasnya O(n)

pseudocode:

FOR i := 1 to n -> KIRI[i] = KIRI[i-1] * INPUT[i]
FOR i := n downto 1 -> KANAN[i] = KANAN[i+1] * INPUT[i]
FOR i := 1 to n -> OUTPUT[i] = KIRI[i-1] * KANAN[i+1]



Suhendry Effendy



--- In jug-indonesia@yahoogroups.com, naray citra <[EMAIL PROTECTED]> wrote:
>
> Gw dapet cuplikan kode menarik neh, untuk share aja, sapa tau ada
yang butuh :D
> sumber : http://linkmingle.com/details/865
> 
> 
> There is an array A[N+1] of N integers. You have to compose an array
> Output[N+1] such that Output[i] will be equal to the productof all the
> elements of A[] except A[i].
> Example:
> INPUT:[4, 3, 2, 1, 2]
> OUTPUT:[12, 16, 24, 48, 24]
> 
> Solve it without division operator and in O(n) with out using division
> 
>  
>  
>   import java.util.Arrays;
> 
> public class PArray {
> 
> public int[] PSub(int[] inp){
>  int[] out = new int[inp.length];
>  out[0]=1;out[1]=inp[0];
>  for (int i = 2; i   out[i] = inp[i-1]*out[i-1];
>  int P = 1;
>  for(int i=inp.length-2;i>=0;i--){
>  P*=inp[i+1];
>  out[i]=out[i]*P;
>  }
>   return out;
> }
> public static void main(String[] args) {
> PArray pArray = new PArray();
> int in[] = new int[]{4,3,2,1,2};
> System.out.println("INPUT:"+
> Arrays.toString(in));
> System.out.println("OUTPUT:"+
> Arrays.toString(pArray.PSub(in)));
> }
> }
>




[JUG-Indonesia] Re: Kode menarik

2008-06-09 Thread Suhendry Effendy
boleh jelasin list of "turning point" nya itu gimana?

kalau datanya saya bikin berinterpolasi besar/kecil gimana?

25 65 10 60 30 55 20 50 35 45 15 40


Suhendry Effendy


--- In jug-indonesia@yahoogroups.com, "Feris Thia" <[EMAIL PROTECTED]> wrote:
>
> Kepikir list of "turning point"... ini yang akan di BST-in. Ga tau bener
> atau kaga ?
> 
> Lagi ga sempat coding... padahal tertarik banget :p
> 
> Tunggu yang mecahin aja deh... hehehehe
> 
> Regards,
> 
> Feris
> 




[JUG-Indonesia] Re: Kode menarik

2008-06-10 Thread imam baihaqi
menarik sih menarik, tapi aku butuh waktu lammaaa utk mengertinya, sol

--- In jug-indonesia@yahoogroups.com, "Felix Halim" <[EMAIL PROTECTED]>
wrote:
>
> 2008/6/10 Andrian Kurniady <[EMAIL PROTECTED]>:
> > Pake RMQ yang O(log N) bisa dapet segini :
> >
> > Preprocess Time: 0.372
> > 100 Queries Time: 0.372
> > TOTAL Time: 0.744
> 
> Inilah sang jawara :D
> 
> He eh, kalo pake bottom-up + plain-array DP bisa lebih kenceng
> daripada pake rekursi + tree structure.
> 
> 
> > Pake RMQ yang O(1) dapet nya segituan juga.
> > [Spoiler] http://andrian.kurniady.net/Minimum.java [/Spoiler]
> > Bener gak? :-D
> 
> Congats!!!  Sodara2, perkenalkan Andrian Kurniady, master DP + calon
> juara INC 2008 :D
> 
> Sepertinya pertanyaan saya sudah setop sampai disini, karena udah gak
> ada yang lebih kenceng dari O( 1 ) query time :P
> 
> Yang versi O(log N) nya bisa dibuat tergantung "lebar" sehingga kalau
> j-i+1 nya kecil, versi O( log N ) nya bisa finish hanya dalam beberapa
> steps, sehingga tidak jauh beda dengan versi O( 1 ) nya.  However
> versi O( 1 ) nya guaranteed hanya butuh 1 step untuk "lebar" apapun.
> 
> Soal gini2an cocoknya jadi "interview" questions nich. Karena di
> kuliah biasanya cuman diajarin dasar dari tree data structure dan itu
> tergantung kreativitas programmer untuk menggunakannya secara
> efficient. Untuk yang RMQ versi O( 1 ) nya biasanya terlalu susah
> untuk orang awam, karena butuh pengetahuan tentang Dynamic Programming
> yang kuat. Tapi kelihatannya bukan masalah bagi seorang Andrian
> Kurniady :P
> 
> Menarik kan? Mau soal lagi? :D
> 
> Felix Halim
>




Re: [JUG-Indonesia] Re: Kode menarik

2008-06-09 Thread Feris Thia
Maka array TP pointnya (1 ascending, -1 descending) adalah sebagai berikut :

idx = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
direction = 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1

Contoh yang diberikan benar-benar worst case ya ? naik turun melulu tiap
index ?  hehehe

Regards,

Feris

2008/6/9 Suhendry Effendy <[EMAIL PROTECTED]>:

>   boleh jelasin list of "turning point" nya itu gimana?
>
> kalau datanya saya bikin berinterpolasi besar/kecil gimana?
>
> 25 65 10 60 30 55 20 50 35 45 15 40
>
> Suhendry Effendy
>
> 
>



-- 
Thanks & Best Regards,

Feris
PT. Putera Handal Indotama
A Business Intelligence Company
Jl. K.H. Moh Mansyur No. 11 B 8 - 12
Jakarta - Indonesia
Phone : +6221-30119353
Fax : +6221-5513483
Mobile : +628176-474-525
http://business-intelligence.phi-integration.com
http://blog.komputasiawan.com


Re: [JUG-Indonesia] Re: Kode menarik

2008-06-09 Thread Feris Thia
Ups... sori, harusnya :

idx = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
direction = 1, -1, 1, -1, 1, -1, 1, -1, 1, -1

2008/6/9 Feris Thia <[EMAIL PROTECTED]>:

> Maka array TP pointnya (1 ascending, -1 descending) adalah sebagai berikut
> :
>
> idx = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
> direction = 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1
>
> Contoh yang diberikan benar-benar worst case ya ? naik turun melulu tiap
> index ?  hehehe
>
> Regards,
>
> Feris
>
> 2008/6/9 Suhendry Effendy <[EMAIL PROTECTED]>:
>
>>   boleh jelasin list of "turning point" nya itu gimana?
>>
>> kalau datanya saya bikin berinterpolasi besar/kecil gimana?
>>
>> 25 65 10 60 30 55 20 50 35 45 15 40
>>
>> Suhendry Effendy
>>
>> 
>>
>
>
>
> --
> Thanks & Best Regards,
>
> Feris
> PT. Putera Handal Indotama
> A Business Intelligence Company
> Jl. K.H. Moh Mansyur No. 11 B 8 - 12
> Jakarta - Indonesia
> Phone : +6221-30119353
> Fax : +6221-5513483
> Mobile : +628176-474-525
> http://business-intelligence.phi-integration.com
> http://blog.komputasiawan.com
>



-- 
Thanks & Best Regards,

Feris
PT. Putera Handal Indotama
A Business Intelligence Company
Jl. K.H. Moh Mansyur No. 11 B 8 - 12
Jakarta - Indonesia
Phone : +6221-30119353
Fax : +6221-5513483
Mobile : +628176-474-525
http://business-intelligence.phi-integration.com
http://blog.komputasiawan.com


Re: [JUG-Indonesia] Re: Kode menarik

2008-06-10 Thread Feris Thia
Wow... sama  :p

Tapi senang banget jago2 komputasi bisa nimbrung disini dan memberikan
teknik2 aneh nan berguna. hehehe

Salut.. salut .. !

Regards,

Feris

2008/6/11 imam baihaqi <[EMAIL PROTECTED]>:

>   menarik sih menarik, tapi aku butuh waktu lammaaa utk mengertinya, sol
>
> --- In jug-indonesia@yahoogroups.com ,
> "Felix Halim" <[EMAIL PROTECTED]>
> wrote:
> >
> > 2008/6/10 Andrian Kurniady <[EMAIL PROTECTED]>:
>
> > > Pake RMQ yang O(log N) bisa dapet segini :
> > >
> > > Preprocess Time: 0.372
> > > 100 Queries Time: 0.372
> > > TOTAL Time: 0.744
> >
> > Inilah sang jawara :D
> >
> > He eh, kalo pake bottom-up + plain-array DP bisa lebih kenceng
> > daripada pake rekursi + tree structure.
> >
> >
> > > Pake RMQ yang O(1) dapet nya segituan juga.
> > > [Spoiler] http://andrian.kurniady.net/Minimum.java [/Spoiler]
> > > Bener gak? :-D
> >
> > Congats!!! Sodara2, perkenalkan Andrian Kurniady, master DP + calon
> > juara INC 2008 :D
> >
> > Sepertinya pertanyaan saya sudah setop sampai disini, karena udah gak
> > ada yang lebih kenceng dari O( 1 ) query time :P
> >
> > Yang versi O(log N) nya bisa dibuat tergantung "lebar" sehingga kalau
> > j-i+1 nya kecil, versi O( log N ) nya bisa finish hanya dalam beberapa
> > steps, sehingga tidak jauh beda dengan versi O( 1 ) nya. However
> > versi O( 1 ) nya guaranteed hanya butuh 1 step untuk "lebar" apapun.
> >
> > Soal gini2an cocoknya jadi "interview" questions nich. Karena di
> > kuliah biasanya cuman diajarin dasar dari tree data structure dan itu
> > tergantung kreativitas programmer untuk menggunakannya secara
> > efficient. Untuk yang RMQ versi O( 1 ) nya biasanya terlalu susah
> > untuk orang awam, karena butuh pengetahuan tentang Dynamic Programming
> > yang kuat. Tapi kelihatannya bukan masalah bagi seorang Andrian
> > Kurniady :P
> >
> > Menarik kan? Mau soal lagi? :D
> >
> > Felix Halim
> >
>
>  
>



-- 
Thanks & Best Regards,

Feris
PT. Putera Handal Indotama
A Business Intelligence Company
Jl. K.H. Moh Mansyur No. 11 B 8 - 12
Jakarta - Indonesia
Phone : +6221-30119353
Fax : +6221-5513483
Mobile : +628176-474-525
http://business-intelligence.phi-integration.com
http://blog.komputasiawan.com