摘要: #include"stdio.h"int n,dis[100000],max,dp[100000];void DP(){ for(int i=1;i<=n;++i) { dp[i]=1; for(int j=1;j<i;++j) if(dis[i]>dis[j]&&dp[j]+1>dp[i]) dp[i]=dp[j]+1; if(dp[i]>dp[max]) max=i; } }int main(){ int t; while(scanf("%d",&n)!=EOF) { max=0; dis[0]= 阅读全文
posted @ 2011-08-02 22:08 bcy 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Problem B: 素因子Time Limit: 5 SecMemory Limit: 128 MBSubmit: 266Solved: 113[Submit][Status][Web Board]Description我们知道,任何一个大于1的数,都可以写成多个素数的乘积,我们把这些素数叫做这个数的素因子。Input第一行为测试数据的组数N,以下N行,每行一个数字k(1<k<2^24)Output输出N行,每行两个数字,一个是k的最大素因子,第二个是k的素因子的个数。Sample Input31025120Sample Output5 2#include"stdio. 阅读全文
posted @ 2011-08-02 10:54 bcy 阅读(348) 评论(0) 推荐(0) 编辑