日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > zoj 2414 - Index of Prime

zoj 2414 - Index of Prime

來源:程序員人生   發(fā)布時間:2014-10-13 03:51:22 閱讀次數(shù):3486次

題目:判斷一個數(shù)能不能寫成素數(shù)的和的形式,輸出對應(yīng)的素數(shù)大小最小組合。

分析:dp,多重背包。看到整數(shù)拆分就是背包了。

            由于時間和數(shù)據(jù)的限制,所以采用打表計算;

            每次記錄上次使用的 prime然后逆向求解即可。

說明:注意,沒有時輸出 0,由于沒寫 WA了好幾次。。。(2011-10-03 18:37)

#include <stdio.h> #include <stdlib.h> #include <string.h> #define OO 10001 bool used[ 10001 ]; int prime[ 1231 ]; int madelist() { memset( used, 0, sizeof( used ) ); int count = 0; for ( int i = 2 ; i < 10000 ; ++ i ) if ( !used[ i ] ) { prime[ ++ count ] = i; for ( int j = i<<1 ; j < 10000 ; j += i ) used[ j ] = 1; } return count; } int f[ 10001 ]; int t[ 10001 ]; int main() { int C = madelist(); for ( int i = 0 ; i <= 10000 ; ++ i ) { f[ i ] = OO; t[ i ] = 0; } f[ 0 ] = 0; for ( int i = 1 ; i <= C ; ++ i ) for ( int j = prime[ i ] ; j <= 10000 ; ++ j ) if ( f[ j ] > f[ j-prime[ i ] ]+1 ) { f[ j ] = f[ j-prime[ i ] ]+1; t[ j ] = prime[ i ]; } int n; while ( ~scanf("%d",&n) ) { if ( t[ n ] ) { printf("%d %d",f[ n ],t[ n ]); int v = n-t[ n ]; while ( t[ v ] ) { printf(" %d",t[ v ]); v = v-t[ v ]; } }else printf("0"); printf(" "); } return 0; }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产传媒一区二区三区 | 精品久久a| 欧美一区二区三区四区视频 | 999免费观看视频 | 亚洲国产一区二区在线 | 国产精品国产三级国产aⅴ9色 | 国产黄色大片免费 | 免费黄色网址视频 | 暖暖av | 国产精品久久久久久久久久久久 | 日韩一级 | 欧美日韩综合视频 | 国产成人精品免费视频 | 美女福利在线观看 | 日韩性xxx | 亚洲www在线 | 国产乱码精品一区二区三区不卡 | 成人在线 | 黄色小视频在线免费观看 | 成人手机视频在线 | 欧美日本一区 | 国产精品视频一区二区免费不卡 | 亚洲3atv精品一区二区三区 | 国产精品国产精品国产专区不卡 | 99热首页| 亚洲乱码一区二区三区在线观看 | 日韩精品极品视频在线观看免费 | 亚洲欧美综合精品久久成人 | 国产视频色 | 一级毛片免费播放 | 久久国产精品免费视频 | 国产精品一区二区三区久久 | 国产性―交一乱―色―情人免费看 | 欧美视频三级 | 婷婷久 | 91欧美精品成人综合在线观看 | 免费网站观看www在线观 | 精品国产一区二区三区不卡蜜臂 | 午夜激情福利视频 | 国产精品一区自拍 | 成人精品国产免费网站 |