洛谷P1246C语言,codevs1246 丑数
題目描述 Description
對于一給定的素數集合 S = {p1, p2, ..., pK},
來考慮那些質因數全部屬于S 的數的集合。這個集合包括,p1, p1p2, p1p1, 和 p1p2p3 (還有其它)。這是個對于一個輸入的S的丑數集合。
注意:我們不認為1 是一個丑數。
你的工作是對于輸入的集合S去尋找集合中的第N個丑數。longint(signed 32-bit)對于程序是足夠的。
輸入描述 Input Description
第 1 行: 二個被空間分開的整數:K 和 N , 1<= K<=100 , 1<= N<=100,000.
第 2 行: K 個被空間分開的整數:集合S的元素
輸出描述 Output Description
單獨的一行,寫上對于輸入的S的第N個丑數。
樣例輸入 Sample Input
4 19
2 3 5 7
樣例輸出 Sample Output
27
數據范圍及提示 Data Size & Hint
----------分界線----------
我們可以發現所有S中的數都滿足如下規律:
Si>Sj(j
Si都是S1~Si-1中的某一個數程P中某一個數的結果
Si是滿足上述兩條中的最小的一個
這樣計算Si時可以枚舉P,然后二分查找一個恰當的S(S是嚴格上升的)
這樣一直計算到n即可。
讓S0=1,這樣P中的數字可以乘以這個1來直接加入到S
代碼:
#include
#include
#include
#define debug(x) cout<
using namespace std;
int k,n;
long long p[],s[];
int main(){
memset(s,0x7f,sizeof(s));
cin>>k>>n;
for(int i=;i<=k;i++){
cin>>p[i];
}
s[]=;
for(int i=;i<=n;i++){
for(int j=;j<=k;j++){
//er fen
int l=,r=i-,mid;
while(l
mid=(l+r)/;
if(s[mid]*p[j]>s[i-])r=mid;
else l=mid+;
}
s[i]=min(s[i],p[j]*s[r]);
}
// debug(i); debug(s[i]);
}
cout<
return ;
}
AC日記——丑數 codevs 1246
1246 丑數 USACO ?時間限制: 1 s ?空間限制: 128000 KB ?題目等級 : 鉆石 Diamond 題解 ?查看運行結果 ? ? 題目描述?Description 對于一給定的素 ...
劍指Offer面試題:29.丑數
一.題目:丑數 題目:我們把只包含因子2.3和5的數稱作丑數(Ugly Number).求按從小到大的順序的第1500個丑數.例如6.8都是丑數,但14不是,因為它包含因子7.習慣上我們把1當做第一個 ...
劍指Offer:面試題34——丑數(java實現)
問題描述: 把只包含因子2.3和5的數稱作丑數(Ugly Number).例如6.8都是丑數,但14不是,因為它包含因子7. 習慣上我們把1當做是第一個丑數.求按從小到大的順序的第N個丑數. 思路1: ...
UVA136 求第1500個丑數
枚舉大范圍數據..暴力檢查題目條件 #include #include #include #include ...
37.尋找丑數[Ugly numbers]
[題目] 我們把只包含質因子2.3和5的數稱作丑數(Ugly Number),例如:2,3,4,5,6,8,9,10,12,15,等,習慣上我們把1當做是第一個丑數.求按從小到大的順序的第1500個丑 ...
hdu1058丑數(優先隊列、暴力打表)
hdu1058 題意:當一個數只有2.3.5.7這四種質因數時(也可以一種都沒有或只有其中幾種),這個數就是丑數,輸出第 n 個丑數是多少: 其實并沒有發現hdu把這道題放在 dp 專題里的意圖,我的 ...
劍指offer系列59---尋找丑數
[題目]把只包含因子2.3和5的數稱作丑數(Ugly Number). * 例如6.8都是丑數,但14不是,因為它包含因子7. 習慣上我們把1當做是第一個丑數.求按從小到大的順序的第N個丑數. 解法一 ...
洛谷P2723 丑數 Humble Numbers
P2723 丑數 Humble Numbers 52通過 138提交 題目提供者該用戶不存在 標簽USACO 難度普及/提高- 提交??討論??題解 最新討論 暫時沒有討論 題目背景 對于一給定的素數 ...
【劍指offer 面試題34】丑數
只包含因子2.3.5的數稱作丑數. #include #include using namespace std; int GetUgly ...
隨機推薦
spring架構源碼:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
【mysql】mysql 常用建表語句
[1]建立員工檔案表要求字段:員工員工編號,員工姓名,性別,工資,email,入職時間,部門.[2]合理選擇數據類型及字段修飾符,要求有NOT NULL,auto_increment, primary ...
MVC輔助方法
我相信很多人雖然經常用mvc去做一些東西,但是可能很少使用mvcHtml輔助方法 首先我們要創建一個mvc項目 二創建一個HtmlHelper文件夾 三編寫文件 四調用輔助方法 調用輔助方法 和使用其 ...
clearTimeout消除閃動
需求:當鼠標放到父級菜單上面的時候,顯示下方的子菜單.鼠標從子菜單或者父級菜單上面移開的時候,子菜單要收起來.最終效果如下: PS:這樣需求很常見,最常見的做法是li元素下面再嵌套一個Ul元素來包含子 ...
作業一:創建個人技術博客、自我介紹、簡單的C程序
年9月14日中午12點: 一.主要內容 ?建個人技術博客(博客園 www.cnblogs.com) 本學期將通過寫博客的方式提交作業,實際上,最終的目的是希望同學們能通過博客的形式記錄我們整個學習過程 ...
CSS3_概述、發展史、模塊介紹、與瀏覽器之間的關系
一.CSS3概述和CSS3的發展史: 1.css3概述: CSS3是CSS2的升級版本,3只是版本號,它在CSS2.1的基礎上增加了很多強大的新功能.? ? 目前主流瀏覽器chrome.safari. ...
CentOS 6.3 安裝ATI顯卡驅動
環境: centos 6.3??內核(GNU貌似大家都知道) 顯卡:ATI Mobility Radeon HD 3470 安裝顯卡流程: 1.官網下載最新驅動 http://support.amd. ...
apache_fileupload實現文件上傳_上傳多個文件
1.導包 核心類: DiskFileItemFactory – 設置磁盤空間,保存臨時文件.只是一個具類. ServletFileUpload? - 文件上傳的核心類,此類接收request,并解析r ...
Python之路Day16
主要內容:Django基礎進階之:Django 流程.Django URL.Django Views.Django Models.Django Template.Django Admin Django ...
將網頁封裝成蘋果APP的牛逼方法,無需發布到appstore,無需越獄即可安裝
很多小伙伴都在開發自己的app, 有的實現實現比較簡單,就是一個h5頁面,然后想要打包成app發布出去. 這個想法很單純 打包生成個app這個是很簡單的,網上一堆打包工具,分分鐘可以完成 但是... ...
總結
以上是生活随笔為你收集整理的洛谷P1246C语言,codevs1246 丑数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言课程设计 性别,【图片】发几个C语
- 下一篇: 运营商市场经营方向及趋势