1. 程式人生 > >整數區間 題解

整數區間 題解

【題目描述】

一個整數區間[A,B]請程式設計完成以下任務:1.從檔案中讀取區間的個數及其它們的描述;2.找到滿足下述條件的所含元素個數最少的集合中元素的個數,對於每一個區間,都至少有兩個不同的整數屬於該集合。

【 輸入】

首行包括區間的數目 n,1<=n<=10000,接下來的 n 行,每行包括兩個整數 a,b,被一空格隔開,0<=a<=b<=10000,它們是某一個區間的開始值和結束值。

【輸出】

第一行集合元素的個數,對於每一個區間都至少有兩個不同的整數屬於該區間,且集合所包含元素數目最少。 

【樣例輸入】

4

3 6

2 4

0 2

4 7

【樣例輸出】

4

=====================題解=====================

用結構體儲存區間開始值與結束值,用sort傳比較函式來按區間開始的端點升序排列,之後從第一個區間開始,將此區間的最後兩個數存入集合陣列中,往下對於每個區間都遍歷一遍,若其中有兩個元素在集合中,那麼開始遍歷下一個區間,若只有一個,則將此區間最後一個數存入集合,若一個也沒有,則將此區間最後兩個個數存入集合,最後數一下集合裡有多少個數。



相關推薦

整數區間 題解

【題目描述】一個整數區間[A,B]請程式設計完成以下任務:1.從檔案中讀取區間的個數及其它們的描述;2.找到滿足下述條件的所含元素個數最少的集合中元素的個數,對於每一個區間,都至少有兩個不同的整數屬於該集合。【 輸入】首行包括區間的數目 n,1<=n<=10000

整數區間

namespace != += i++ tdi csharp 行集 cin pac 整數區間 【題目描述】 一個整數區間[A,B] 請編程完成以下任務: 1.從文件中讀取區間的個數及其它們的描述; 2.找到滿足下述條件的所含元素個數最少的集合中元素的

利用劃分樹求解整數區間內第K大的值

  如何快速求出(在log2n的時間複雜度內)整數區間[x,y]中第k大的值(x<=k<=y)?   其實我剛開始想的是用快排來查詢,但是其實這樣是不行的,因為會破壞原序列,就算另外一個數組來儲存,多次詢問的條件下,同樣滿足不了。   劃分樹主要是針對上述問題而設

ACMer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數(從1 到 n 中1出現的次數)。

/* 思路:(這裡不僅僅侷限於1,其他數字也是相通的) 找規律,當計算右數第  i  位包含的 X 的個數時: 取第  i  位左邊(高位)的數字,乘以  10 i−1 ,得到基礎值  a 。 取第  i  位數字,計算修正值: 如果大於 X,則結果為  a+ 10 i

貪心演算法-整數區間-JAVA

貪心演算法-整數區間 【題目描述】  我們定義一個整數區間[a,b],a,b是一個從a開始至b 結束的連續整數的集合。編一個程式,對給定的 n個區間,找出滿足下述條件的所含元素個數最少的集合中元素的個數:對於所給定的每一個區間,都至少有兩個不同的整數屬於該集合。(1

貪心——整數區間

問題 F: 【例6.6】整數區間時間限制: 1 Sec  記憶體限制: 128 MB題目描述請程式設計完成以下任務:1.從檔案中讀取閉區間的個數及它們的描述;2.找到一個含元素個數最少的集合,使得對於每

Java:演算法 - 整數區間求素數

題目:判斷101-200之間有多少個素數,並輸出所有素數。 程式分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表明此數不是素數,反之是素數。 吐槽:簡單的題,想仔細需要的引數,邏輯,邊界控制,爭取一次寫對。 程式碼: package com.oz.

B - 整數區間

header 區間 div algo scanf color 表示 enter itl B - 整數區間 Time Limit: 1000/1000MS (C++/Others) Memory Limit: 65536/65536KB (C++/Others)

貪心演算法----整數區間

一、題目描述 給n個區間,形式為[a, b],a和b均為整數,且a < b。 求一個最小的整數點的集合,使得每個區間至少2個不同的元素(整數點)屬於這個集合。 求這個集合的元素個數。 輸入 第1

整數區間(貪心)

請程式設計完成以下任務:     1.從檔案中讀取閉區間的個數及它們的描述;     2.找到一個含元素個數最少的集合,使得對於每一個區間,都至少有一個整數屬於該集合,輸出該集合的元素個數。

用Java求整數區間[a,b]和[c,d]的交集、並集

1. 求整數區間[a,b]和[c,d]的交集、並集 package cn.oop.nk; /** * 求整數區間[a,b]和[c,d]的交集、並集 * @author 溫暖wk * */ public class Demo02 { pu

Mushroom的區間 題解

Mushroom的區間 【題目描述】 Mushroom有一行數,初始時全部是0。現在Mushroom有m個區間[L,R],他希望用以下操作得到新的序列。 從m個給定區間中選擇一個區間[s,t],把區間中的數對應元素全部翻轉。(0變1,1變0) 請告訴Mushroom他能得到

整數區間(poj1716)

整數區間(intervals.cpp/pas) 題目描述(Description):對於一個整數序列,給出它的若干個閉區間[a,b],表示a到b包含至少2個不同的列中,你的任務是找到滿足所有條件的最短的序列的長度。 輸入檔案(dist.in):第一行一個數n (1 <

1324:【例6.6】整數區間

描述 struct 接下來 -s return idt 空格 時間限制 continue 1324:【例6.6】整數區間 時間限制: 1000 ms 內存限制: 65536 KB提交數: 1614 通過數: 1020 【題目描述】 請編程完

poj 1716 貪心(整數區間:2-覆蓋)

題意:給定n個區間[pi.s,pi.t],現要選出一個數據集合S,使得每個區間至少有兩個元素在S中。求集合S的最小元素個數。 思路:貪心,按照區間的末端排序。設定兩個遊標表示當前取得的兩個數a和b。對p[i]分三種情況討論: 1、p[i].s<=a,則不需要改變a和b

java中判斷任何一個整數區間的素數的個數,並輸出所有的素數

什麼是素數,這個概念還是初中接觸的,看到這個題目還是百度了下,原來是大於1,,除了1和它本身外,不能被其他自然數整除,換句話說就是該數除了1和它本身以外不再有其他的因數;否則稱為合數,,,,,, 看看

【基礎練習】【區間DP】codevs1090 加分二叉樹題解

border style script 全部 靈魂 noip 初始 mar 出現 2003 NOIP TG 題目描寫敘述 Description 設一個n個節點的二叉樹tree的中序遍歷為(l,2,3,…,n),當中數字1,2,3,…,n為節點編

LintCode算法題解——奇偶分割數組、二進制中1個數、反轉整數、加一、排序數組轉換為高度最小的二叉搜索樹、二進制求和

code style 求和 二進制 題解 二叉 following 算法題 targe Y3訟韭62獻si鏈倥8臣khttp://www.facebolw.com/space/2103837/following 7v6d04Vhpf玖忠http://www.facebol

貪心算法-區間調度問題解之證明

text body font 思想 gpo 排序。 開始時間 選擇 指標 一、貪心算法    定義:一個算法是貪心算法,如果它是通過一些小的步驟來一個求解,並且在每一步根據局部情況選擇一個決定,使得某些主要的指標得到優化。 二、區間調度問題   1. 問題:我們有一組需求{