รวมโจทย์จากการแข่งขัน IOI Thailand League 2010

ผมต้องขออภัยความล่าช้าในการเผยแพร่โจทย์ด้วย

โจทย์ทั้งหมดพร้อมด้วยข้อมูลชุดทดสอบสามารถดาวน์โหลดได้ตามลิงก์ต่อไปนี้ (แยกตามเดือน): มี.ค.53, เม.ย.53, พ.ค.53, มิ.ย.53, ก.ค.53, ส.ค.53, ก.ย.53, ต.ค.53, พ.ย.53, ธ.ค.53, ม.ค.54, ก.พ.54 (รอบชิงชนะเลิศ)

การอ่านอินพุต สำหรับการแข่ง Code Jom

ข้อมูลนำเข้าของ Code Jom ถูกพัฒนาบนระบบ Unix ทำให้หลายครั้งการนำไปเปิดบน Notepad จะไม่เห็นการขึ้นบรรทัดใหม่ได้ วิธีการแก้ไขสามารถทำได้ดังนี้

  • ทางที่สะดวกที่สุดคือเปลี่ยน Editor ที่สามารถเปิดรูปแบบของ Unix ได้ เช่น Wordpad หรือ Notepad++ เป็นต้น

  • อีกทางคือการให้โปรแกรมอ่านข้อมูลนำเข้าโดยตรง โดยอาจจะอ่านจากไฟล์ หรือ จะจัดเก็บข้อมูลนำเข้าลงในไฟล์ก่อน จากนั้น ให้ redirect เข้าสู่โปรแกรมผ่านทาง command line เช่น ถ้าเขียนโปรแกรมด้วยภาษา C++ แล้วคอมไพล์โปรแกรมให้ทำงานได้ใน command line แล้ว สามารถสั่ง

    yourprogram < input-file-name > output-file-name

คะแนนสะสมผู้เข้าแข่งขัน Thailand IOI League 2010 ระดับ C (ธ.ค. 53)

คะแนนสะสมในตารางพิจารณาถึงเดือนธันวาคม 2553 (อ่านเกณฑ์การคิดคะแนนสะสม)

คะแนนสะสมผู้เข้าแข่งขัน Thailand IOI League 2010 ระดับ B (ธ.ค. 53)

คะแนนสะสมในตารางพิจารณาถึงเดือนธันวาคม 2553 (อ่านเกณฑ์การคิดคะแนนสะสม)

คะแนนสะสมผู้เข้าแข่งขัน Thailand IOI League 2010 ระดับ A (ธ.ค. 53)

คะแนนสะสมในตารางพิจารณาถึงเดือนธันวาคม 2553 (อ่านเกณฑ์การคิดคะแนนสะสม)

IOI Thailand League 2010

สำหรับปีพ.ศ. 2553 เว็บ Thailand OI รวมกับเว็บวิชาการดอทคอมได้ร่วมมือกันจัดการแข่งขัน IOI Thailand League 2010 โดยการแข่งขันจะแบ่งออกเป็นสามระดับและมีการแข่งขันทุกเดือน ระดับความยากของการแข่งขันจะไม่เกินการแข่งขัน TOI.C เดิมที่จัดที่เว็บ Thailand OI

สำหรับการแข่งขันในระดับที่ยากกว่านั้นจะมีการจัดเป็นครั้งคราว โดยจะมีการประกาศกำหนดการที่เว็บนี้ และที่ Programming.in.th เป็นครั้ง ๆ ไป

ลงทะเบียนและเข้าแข่งขัน ได้ที่ league.thailandoi.org

รายละเอียด รวมถึงอันดับปัจจุบัน โปรดติดตามได้จากเว็บหลักของการแข่งขัน ที่วิชาการดอทคอม

กองซ้อนและแถวคอย ( Stack and queue )

สวัสดีครับทุกท่าน

เอนทรี่แรกของผมเอนทรี่นี้จะเป็นการขอแนะนำกระบวนการทำงานเกี่ยวกับโครงสร้างข้อมูล (Data Structure) พื้นฐานรูปแบบหนึ่ง ที่เรียกกันว่า stack และ queue ครับ

ทั้งนี้ Stack และ Queue เป็นโครงสร้างข้อมูลที่คล้ายๆกัน ทำให้มักจะมีการกล่าวถึงควบคู่กันไปเสมอๆ ก่อนอื่น มาเริ่มกันที่ความหมายของทั้งสองคำก่อนดีกว่า

โครงสร้างข้อมูล Union-Find

Union-Find Data Structure คือ โครงสร้างข้อมูลแบบหนึ่ง ที่เอาไว้ใช้สำหรับข้อมูลที่อยู่ในรูป Disjoint Set

Disjoint Set คืออะไร

Disjoint Set ก็คือ เวลาเรามี Universe ที่ประกอบด้วยสมาชิกจำนวนหนึ่ง แล้วเราแบ่งมันเป็น set ย่อยๆหลายๆเซต ที่มีคุณสมบัติดังนี้

  • ถ้าหยิบมาสองเซตย่อยใดๆ จะ intersection กันได้เซตว่าง (สองเซตใดๆไม่มีสมาชิกซ้ำกัน)
  • ทุกเซต union กันได้ Universe (ต้องมีสมาชิกครบ Universe)

การหา Big-O เบื้องต้น (Introduction to Big-O Notation)

พูดง่ายๆแล้ว Big-O Notation หรือ สัญกรณ์โอใหญ่ คืออะไรที่ช่วยเราประมาณ ว่าเวลาในการรันอัลกอริธึม(ส่วนใหญ่จะคิดในกรณีที่แย่ที่สุด หรือ worst-case) จะเป็นประมาณเท่าไหร่ หรือ จะใช้ประมาณเมมโมรี่ที่ใช้ก็ได้

ในบล็อกโพสต์นี้ จะขออธิบายการหา Big-O คร่าวๆก่อน (มีภาคต่อภายหลัง)

ขออภัยในความผิดพลาดของ TOI.C 04-2009 ครับ

เนื่องจากในการแข่งขัน TOI.C 04-2009 ครั้งที่ผ่านมา testdata ข้อ Stringfinder เกิดความผิดพลาดทางเทคนิคบางประการ ทำให้ผู้เข้าแข่งขันบางคนได้คะแนนน้อยกว่าปกติ (คะแนนหายไป 40 คะแนน) จึงขออภัยมาใน ณ ที่นี้ ด้วยครับ

Syndicate content