คำถามติดแท็ก integers

คำถามเกี่ยวกับคุณสมบัติของการทำงานกับและอัลกอริทึมเกี่ยวกับจำนวนเต็ม

2
อัลกอริทึมที่มีประสิทธิภาพสำหรับ 'unsumming' ชุดจำนวนเงิน
รับชุดของตัวเลขธรรมชาติ X พิจารณาชุดของผลรวมที่เป็นไปได้ทั้งหมด: จำนวนเงิน (X) = { ∑ฉัน∈ผม|A ⊆ X}sums(X)={∑i∈Ai|A⊆X}\textrm{sums}(X)= \left\{ \sum_{i \in A} i \,|\, A \subseteq X \right\} ยกตัวอย่างเช่นผลรวม ( { 1 , 5 } )= { 0 ,1,5,6}sums({1,5})={0,1,5,6}\textrm{sums}(\left\{1,5\right\}) = \left\{0, 1, 5, 6\right\}ในขณะที่ sums({1,1})={0,1,2}sums({1,1})={0,1,2}\textrm{sums}(\left\{1,1\right\}) = \left\{0, 1, 2\right\} } อัลกอริธึมที่มีประสิทธิภาพมากที่สุดสำหรับการคำนวณการดำเนินการผกผันคืออะไร โดยเฉพาะมันเป็นไปได้ที่จะคำนวณอย่างมีประสิทธิภาพต่อไปนี้: ไม่ว่าจะเป็นชุดที่กำหนดเป็นชุดผลรวมที่ถูกต้อง (ตัวอย่างเช่น{0,1,2}{0,1,2}\left\{0,1,2\right\}ถูกต้อง แต่{0,1,3}{0,1,3}\left\{0,1,3\right\}ไม่ถูกต้อง) เซ็ตมัลติเซตที่รวมกับเซ็ตที่กำหนด ชุดมัลติเซ็ตที่เล็กที่สุดที่รวมกับเซ็ตที่กำหนด (ตัวอย่างเช่น{1,2}{1,2}\left\{1,2\right\}และ{1,1,1}{1,1,1}\left\{1,1,1\right\}ทั้งผลรวมเป็น{0,1,2,3}{0,1,2,3}\left\{0,1,2,3\right\}แต่ตัวเก่ามีขนาดเล็กลง)

3
อัลกอริทึมเพื่อลดพื้นที่ผิวปริมาณที่กำหนด
พิจารณางานอัลกอริทึมต่อไปนี้: อินพุต: จำนวนเต็มบวกพร้อมกับการแยกตัวประกอบเฉพาะของการ ค้นหา: จำนวนเต็มบวกที่ลดขึ้นอยู่กับข้อ จำกัด ที่x , y , z x y + y z + x z x y z = nnnnx , y, zx,y,zx,y,zx y+ yZ+ x zxy+yz+xzxy+yz+xzx yZ= nxyz=nxyz=n ความซับซ้อนของปัญหานี้คืออะไร? มีอัลกอริธึมเวลาพหุนามหรือไม่? มันเป็น NP-hard หรือไม่? ปัญหานี้ถามโดยทั่วไปว่า: จากของแข็งที่เป็นรูปสี่เหลี่ยมผืนผ้าทั้งหมดที่มีปริมาตรเป็นและมิติใดเป็นจำนวนเต็มทั้งหมดอันใดที่มีพื้นที่ผิวน้อยที่สุดnnn ปัญหานี้เกิดขึ้นจาก Dan Meyer ภายใต้ชื่อThe Problem Problem ที่อาจารย์คณิตศาสตร์ 1,000 คนไม่สามารถแก้ไขได้ จนถึงขณะนี้ไม่มีครูคณิตศาสตร์ที่เขาทำงานด้วยได้พบอัลกอริทึมที่เหมาะสมสำหรับปัญหานี้ …

3
วิธีที่มีประสิทธิภาพมากที่สุดในการคำนวณแฟคทอเรียลโมดูโลคืออะไร?
คุณรู้จักอัลกอริธึมที่คำนวณแฟคทอเรียลหลังจากโมดูลัสอย่างมีประสิทธิภาพหรือไม่? ตัวอย่างเช่นฉันต้องการโปรแกรม: for(i=0; i<5; i++) sum += factorial(p-i) % p; แต่pเป็นจำนวนมาก (นายก) สำหรับการใช้ปัจจัยโดยตรง8)(p≤108)(p≤108)(p \leq 10^ 8) ใน Python งานนี้ง่ายมาก แต่ฉันอยากรู้วิธีเพิ่มประสิทธิภาพ

2
การแทนตัวเลขเชิงลบและจำนวนเชิงซ้อนโดยใช้แคลคูลัสแลมบ์ดา
บทเรียนส่วนใหญ่เกี่ยวกับแลมบ์ดาแคลคูลัสให้ตัวอย่างที่ฟังก์ชัน Integers และ Booleans ที่เป็นบวกสามารถแสดงได้ -1 แล้วฉันล่ะ

3
กำหนดหมายเลขที่ขาดหายไปในสตรีมข้อมูล
เราได้รับกระแสของn−1n−1n-1ตัวเลขที่แตกต่างจากจำนวนจากชุด{1,…,n}{1,…,n}\left\{1,\dots,n\right\} } ฉันจะกำหนดจำนวนที่ขาดหายไปด้วยอัลกอริทึมที่อ่านกระแสข้อมูลหนึ่งครั้งและใช้หน่วยความจำของบิตเท่านั้น( ล็อก2 n ) ได้O(log2n)O(log2⁡n)O(\log_2 n)อย่างไร

1
ผลรวมที่ปลอดภัยล้น
สมมติว่าฉันกำลังให้สิทธิ์แก่กว้างคงจำนวนเต็ม (เช่นพวกเขาพอดีในการลงทะเบียนของความกว้าง )ดังกล่าวว่าผลรวมของพวกเขายังเหมาะในการลงทะเบียนของความกว้างWw a 1 , a 2 , … a n a 1 + a 2 + ⋯ + a n = S wnnnWwwa1,2, ...na1,a2,…ana_1, a_2, \dots a_na1+ a2+ ⋯ + an= Sa1+a2+⋯+an=Sa_1 + a_2 + \dots + a_n = SWww มันดูเหมือนว่าฉันว่าเราสามารถเปลี่ยนรูปตัวเลขเพื่อเช่นกันว่าผลรวมคำนำหน้ายังเหมาะในการลงทะเบียนของความกว้างWS i = b 1 + b 2 …

4
เปรียบเทียบจำนวนตรรกยะ
ได้รับ, B , C , D ∈ NและB , D ∉ { 0 } ,a,b,c,d∈Na,b,c,d∈Na,b,c,d \in \mathbb Nb,d∉{0}b,d∉{0}b,d \notin \{0\} ab&lt;cd⟺ad&lt;cbab&lt;cd⟺ad&lt;cb \begin{eqnarray*} \frac a b < \frac c d &\iff& ad < cb \end{eqnarray*} คำถามของฉันคือ: ได้รับ, B , C , Da,b,c,da,b,c,da,b,c,d สมมติว่าเราสามารถตัดสินใจx&lt;y∈Zx&lt;y∈Zx < y \in \mathbb ZในO(|x|+|y|)O(|x|+|y|)\mathcal{O}(|x| +|y|)จะมีวิธีของการตัดสินใจใด ๆd &lt; …

3
จำนวนของเซ็ตย่อยที่แต่ละหมายเลขตั้งแต่ 1 ถึง
ปัญหาของฉัน ได้รับผมต้องการที่จะนับจำนวนของมัลติถูกต้องSMultisetนั้นถูกต้องถ้าn S SnnSSSS ผลรวมขององค์ประกอบของคือและS nSSnn ตัวเลขจากทุกเพื่อสามารถแสดงไม่ซ้ำกันเป็นผลรวมของบางส่วนขององค์ประกอบของที่S1 n11nnSS ตัวอย่าง. ตัวอย่างเช่นถ้าn = 5n = 5n=5แล้ว{ 1 , 1 , 1 , 1 , 1 } , { 1 , 2 , 2 } , { 1 , 1 , 3 }{ 1 , 1 , 1 , 1 , 1 } …

4
อัลกอริทึมที่มีประสิทธิภาพที่สุดในการพิมพ์ 1-100 โดยใช้ตัวสร้างตัวเลขสุ่มที่กำหนด
เราได้รับตัวสร้างตัวเลขสุ่มRandNum50ซึ่งสร้างจำนวนเต็มแบบสุ่มในช่วงที่ 1–50 เราอาจใช้ตัวสร้างตัวเลขสุ่มนี้เท่านั้นในการสร้างและพิมพ์จำนวนเต็มทั้งหมดจาก 1 ถึง 100 ตามลำดับแบบสุ่ม ทุกหมายเลขจะต้องมาหนึ่งครั้งและความน่าจะเป็นของหมายเลขใด ๆ ที่เกิดขึ้น ณ สถานที่ใด ๆ จะต้องเท่ากัน อัลกอริทึมที่มีประสิทธิภาพที่สุดสำหรับสิ่งนี้คืออะไร?

3
โครงสร้างข้อมูลใดจะเก็บช่วงจำนวนเต็มได้อย่างมีประสิทธิภาพ
ฉันต้องการเก็บสะสมจำนวนเต็มในช่วง 0 ถึง 65535 เพื่อที่ฉันจะสามารถทำสิ่งต่อไปนี้ได้อย่างรวดเร็ว: ใส่จำนวนเต็มใหม่ แทรกช่วงของจำนวนเต็มต่อเนื่อง ลบจำนวนเต็ม ลบจำนวนเต็มทั้งหมดด้านล่างเป็นจำนวนเต็ม ทดสอบว่ามีจำนวนเต็มหรือไม่ ข้อมูลของฉันมีคุณสมบัติที่มักจะมีจำนวนเต็มในคอลเลกชัน ตัวอย่างเช่นการรวบรวมอาจ ณ เวลาหนึ่งจะเป็น: { 121, 122, 123, 124, 3201, 3202, 5897, 8912, 8913, 8914, 18823, 18824, 40891 } วิธีที่ง่ายที่สุดคือการใช้ต้นไม้ไบนารีแบบสมดุลเช่น C ++ std :: set อย่างไรก็ตามโดยที่ฉันไม่ได้ใช้ประโยชน์จากความจริงที่ว่าฉันมักจะมีจำนวนของตัวเลข บางทีอาจเป็นการดีกว่าที่จะเก็บสะสมของช่วง? แต่นั่นหมายความว่าช่วงจะต้องสามารถแยกย่อยได้ถ้าจำนวนเต็มที่อยู่ตรงกลางถูกลบออกหรือรวมเข้าด้วยกันถ้าช่องว่างระหว่างสองช่วงเต็ม มีโครงสร้างข้อมูลใดที่มีอยู่ซึ่งเหมาะสำหรับปัญหานี้หรือไม่?


5
ภาษาของค่าของฟังก์ชันเลียนแบบ
เขียนสำหรับการขยายทศนิยมของ (โดยไม่นำหน้า) ให้และเป็นจำนวนเต็มกับ0 พิจารณาภาษาของการขยายทศนิยมของทวีคูณของบวกค่าคงที่:ˉ nn¯\bar n nnn0aaabbba&gt;0a&gt;0a > 0aaa M = { ¯ ax + b ∣x∈N}M={ax+b¯¯¯¯¯¯¯¯¯¯¯¯¯¯∣x∈N}M = \{ \overline{a\,x+b} \mid x\in\mathbb{N} \} คือปกติ? บริบทฟรีหรือไม่MMM (ตรงกันข้ามกับภาษาของกราฟของฟังก์ชันเลียนแบบ ) ฉันคิดว่านี่จะเป็นคำถามทำการบ้านที่ดีดังนั้นคำตอบที่เริ่มต้นด้วยคำใบ้หรือสองและอธิบายไม่เพียง แต่วิธีการแก้ปัญหา แต่ยังรวมถึงวิธีการตัดสินใจว่าจะใช้เทคนิคใดในการใช้งาน

1
มีอัลกอริทึมใดในการแก้ระบบเชิงเส้นจำนวนธรรมชาติ?
ฉันกำลังดูปัญหาต่อไปนี้: ได้รับมิติเวกเตอร์ของจำนวนธรรมชาติและบางเวกเตอร์อินพุตเป็นรวมกันเชิงเส้นของ 's มีค่าสัมประสิทธิ์จำนวนธรรมชาติ?nnnโวลต์1, … ,โวลต์ม.v1,…,vmv_1, \ldots, v_mยูuuยูuuโวลต์ผมviv_i นั่นคือมีบางโดยที่ ?t1,…,tm∈Nt1,…,tm∈Nt_1, \ldots, t_m \in \mathbb{N}u=t1v1+⋯+tmvmu=t1v1+⋯+tmvmu = t_1 v_1 + \dots + t_m v_m แน่นอนว่าปัญหานี้สามารถแก้ไขได้โดยใช้การกำจัดแบบเกาส์ ฉันสงสัยว่ามีการศึกษาปัญหาจำนวนเต็มนี้หรือไม่ มีอัลกอริทึมใดบ้างที่สามารถแก้ไขได้? โปรดทราบว่านี่คือการใช้ตัวเลขธรรมชาติ แต่ไม่ใช่เลขคณิตแบบแยกส่วนดังนั้นจึงค่อนข้างแยกจากทฤษฎีบท Remainder ของจีนและระบบเช่นนี้ นอกจากนี้ดูเหมือนว่าจะเกี่ยวข้องกับสมการไดโอแฟนไทน์ แต่ฉันสงสัยว่าเกิดอะไรขึ้นในกรณีที่พิจารณาเฉพาะจำนวนเต็มที่ไม่เป็นลบ นี่เป็นการเตือนความจำของปัญหาผลรวมย่อยหลายมิติโดยทั่วไปเพื่อให้เราสามารถคัดลอกจำนวนของแต่ละเวกเตอร์โดยพลการ นอกจากนี้ยังดูเหมือนว่าเกี่ยวข้องกับการทดสอบว่าเป็นองค์ประกอบของขัดแตะที่สร้างขึ้นโดย ,ยกเว้นว่าที่นี่เราอนุญาตให้ใช้การผสมแบบเชิงเส้นกับค่าสัมประสิทธิ์ที่ไม่เป็นลบเท่านั้นuuuv1,…,vmv1,…,vmv_1,\dots,v_m สำหรับทุกคนที่สนใจนี้เป็นแรงบันดาลใจโดยดูที่ไม่ว่าจะเป็นเวกเตอร์ Parikh อยู่ในชุดเชิงเส้นในขณะที่Parikh ทฤษฎีบท โดยเฉพาะอย่างยิ่งฉันสนใจอัลกอริทึมที่สามารถแก้ปัญหาโดยใช้การดำเนินการกับจำนวนธรรมชาติเท่านั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.