子数列(双向dp)

子数列(子数列(双向dp)) Description 现在有一个数列,需要你求得该数列满足下述要求的最长子数列。子数列要求:这个子数列可以被分成前后两个部分,且两部分共同拥有一个数列项(即前一部分的最后一个数列项和后一部分的第一个数列项是同一个数列项);子数列的前一部分各项要严格递增,后一部分各项要严格递减。例如,数列 1 4 6 5 2 1 可以分成 1 4 6 和 6 5 2 1 这两部分。他们都含有数列项 6 ,且前者各项严格递增,后者各项严格递减。 请你编写程序回答,对一个数列最少剔除几项,就可使剩下的各项组成的子数列满足上述的要求。 Input 输入数据有若干组。...
程序 | 2011-01-09 20:49 | 阅读 1600 次 | 评论 0 条

集合

已知一个集合,包含一,若有包含x,则2*x+1以及3*x+1也被包含在里面,编写一个程序按客户要求输出从小到大排列的所要元素! #include<iostream>using namespace std;int a[10000000];int main(){ int i,two,three; a[0]=1; two=three=0; for(i=1;i<10000000;i++) { if(a[two]*2+1<a[three]*3+1) a[i]=a[two++]*2+1; else if(a[two]*2+...
程序 | 2011-01-09 20:46 | 阅读 846 次 | 评论 0 条

滑雪(动态规划)

滑雪 (动态规划) Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。...
程序 | 2011-01-03 22:40 | 阅读 2344 次 | 评论 0 条

装配线

Description  有两条装配线,编号分别为1和2。每一条装配线上有个n装配点,将第i条线上的第个j装配点记为Si,j,设在装配点Si,j的装配时间为Ai,j。假设要装配一辆汽车,将汽车底盘从进厂点送入第i号装配线,需要时间Ei。在装配点Si,j装配后,如果汽车传送到同一号装配线的装配点Si,j+1进行装配,则传送不需要时间。如果汽车完成装配点Si,j的工作后传送到另一号装配线进行下一步的工作,则需要传送时间Ti,j。汽车在装配点Si,n装配后,将汽车成品从装配线上退下来,需要花费时间Xi。装配线调度问题是如何确定每一个装配点的装配需要在哪号线上进行,使得当汽车成品出来时,花费的总...
程序 | 2010-12-30 00:20 | 阅读 1052 次 | 评论 0 条

安全网络

Description  现在有个一个内部局域网络,里面有N台机器。为了某种安全原因的考虑,有些机器之间是无法直接通讯的,即使可以通讯,机器与机器之间的通讯都是经过加密的。由于不同机器之间传输的内容不同,所以他们通讯采用的加密级别也不大相同。不同的加密级别导致破解的难度不一样,越高的加密级别破解需要的时间也越多。如果我们获得了编号为i的机器的完全控制权,且机器i和机器j可以直接通讯,另外我们破解了机器i和机器j之间的加密信息,那么我们就得到了机器j的完全控制权。  现在你通过了某种手段入侵了1号机器,得到了这台机器的完全控制权,为了扩大劳动果实,你准备对其余的机器也在你的控制当中,但是由...
程序 | 2010-12-30 00:19 | 阅读 1476 次 | 评论 0 条

最接近神的男人(哈希表的使用)

  女神雅典娜的转世---沙织率领一班青铜圣斗士来到希腊圣域与教皇决战,可是不幸被黄金之箭射中,一定要在十二小时内突破十二宫并找出教皇才能救回沙织一命。于是青铜圣斗士星矢、瞬、冰河、紫龙决定冒死突破十二宫。现在时间只剩下5个小时,而星矢一行人却遇到了号称最接近神的处女座沙加。   此时的沙加正在为过英语六级而拼命背单词,看见星矢等人,立马两眼放光。沙加让他们留下一个人帮忙统计下他笔记本里不同的单词数,否则绝不放行。星矢等人顿时傻了眼,他们中英语最好的瞬也只认得26个字母。正当他们一筹莫展的时候,凤凰座一辉出现了。一辉曾在“力羊峰矿影域”进修,有比较高的英语水平。  现在请你扮演一辉来帮助...
程序 | 2010-12-30 00:17 | 阅读 1116 次 | 评论 1 条

全排列

Generate the complete permutation of 1..N Input Each input file contains only one non-negative integer N (0< N < 9) Output Output N! Lines, according to lexicographic order. Sample Input 3 Sample Output 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 #include <iostream>using namespace std;...
程序 | 2010-12-29 12:43 | 阅读 993 次 | 评论 0 条

苦恼的月老

传说中,月老是掌管男女婚姻之神。每年七夕,七星娘娘会把人世间未婚的成年男女制成名册,向天庭呈报。月下老人收到名册后,按照个性、善恶、兴趣与条件抄写成一本配偶名册,然后用红线绑牢男女二人之足,使合适的男女配成一对佳偶。 在一个古老的小镇,有一条古老的小河横穿这个镇南北,把这个小镇划分成东西两个部分。这个古老的小镇保留着一个古老的风俗,所有未婚男子都住在这条河的西岸上面,所有的未婚女子都住在这条河的东岸。 今年月下老人收到了这个小镇上所有未婚男女的名册,他把每个人的个性、善恶、兴趣与条件做了一个简单的汇总,给每个人添加了一个如A B C之类的标签,只有相同标签的男女...
程序 | 2010-12-29 12:41 | 阅读 2424 次 | 评论 2 条

约会

1.Description今天Ckp打算去约会。大家都知道Ckp是超级大帅哥,所以和他约会的MM也超级多,她们每个人都和Ckp订了一个约会时间。但是今天Ckp刚打算出门的时候才发现,某几个MM的约会时间有冲突。由于Ckp不会分身,还不能和多个MM同时约会,他只能忍痛割爱拒绝掉某些MM。但是Ckp这个花心大萝卜还是不死心,他想知道,他最多可以和多少个MM约会。 Input 输入的第一行包含一个正整数N(0<N<=1000),表示和Ckp约会的MM数。接下去N行,每行描述一个MM,格式为: Name starttime endtime,表示在[starttime,endtime)这个...
先知 | 2010-12-29 12:40 | 阅读 1237 次 | 评论 0 条

01背包问题

#include<stdio.h>void readdata();void printresult();void search(int);void checkmax();int w[10],v[10];int c=35,n=10;int a[10],max=0;void main(){ readdata(); search(0); printresult();}void readdata(){ int i; for(i=0;i<10;i++) scanf("%d%d",&amp;w[i],&amp;v[i]);}void printresult()...
程序 | 2010-12-26 21:40 | 阅读 820 次 | 评论 0 条

素数环

#include<stdio.h>#include<math.h>void init();void printresult();void search(int);int isprime(int);void swap(int,int);a[11];void main(){init();search(2);}void init(){int i;for(i=1;i<=10;i++)a[i]=i;}int isprime(int m){int i;for(i=2;i<=sqrt(m);i++)if(m%i==0)return 0;return 1;}void printresult(){ ...
程序 | 2010-12-26 21:32 | 阅读 879 次 | 评论 0 条

c库函数(C)

目录函数名: cabs功 能: 计算复数的绝对值用 法: double cabs(struct complex z);程序例:#include <stdio.h>#include <math.h>int main(void){ struct complex z; double val; z.x = 2.0; z.y = 1.0; val = cabs(z); printf("The absolute value of %.2lfi %.2lfj is %.2lf", z.x, z.y, val); return 0;}函数名: calloc功 能: ...
程序 | 2010-12-11 00:39 | 阅读 749 次 | 评论 0 条

c库函数(B)

目录函数名: bar功 能: 画一个二维条形图用 法: void far bar(int left, int top, int right, int bottom);程序例:#include <graphics.h>#include <stdlib.h>#include <stdio.h>#include <conio.h>int main(void){ /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy, i; /* initialize grap...
程序 | 2010-12-11 00:39 | 阅读 696 次 | 评论 0 条

c库函数(A)

目录函数名: abort功 能: 异常终止一个进程用 法: void abort(void);程序例:#include <stdio.h>#include <stdlib.h>int main(void){ printf("Calling abort()\n"); abort(); return 0; /* This is never reached */}函数名: abs功 能: 求整数的绝对值用 法: int abs(int i);程序例:#include <stdio.h>#include <math.h>int main(void){ int number =...
程序 | 2010-12-11 00:38 | 阅读 1127 次 | 评论 4 条

魔方阵

//输出魔方阵#include<stdio.h>void main(){ int a[60][60],i,j,k,p,n; p=1; while(p==1) { printf("enter n(n=1 to 60):"); scanf("%d",&amp;n); if((n!=0)&amp;&amp;(n<=60)&amp;&amp;(n%2!=0)) p=0; } for(i=1;i<=n;i++) for(j=1;j<=n;j++) a[i][j]=0; j=n/2+1;...
程序 | 2010-12-10 18:05 | 阅读 765 次 | 评论 0 条

计算树的深度

#include <stdio.h>#include <stdlib.h>typedef char telemtype;typedef struct tnode{ telemtype data; struct tnode *hp,*vp;}tnode,*bitree;int visit(bitree p){ int max=0; if(p!=NULL){ printf("%c ",p->data); visit(p->hp); visit(p->vp); } return max;}void createb...
程序 | 2010-12-10 12:59 | 阅读 833 次 | 评论 0 条

八皇后问题

# include <iostream.h>int col[8],Left[15],Right[15];int queen[8];int n=0;int sum=0;void generate(){ int h,i; for(h=0;h<=7;h++) { if(col[h]&amp;&amp; Left[n+h] &amp;&amp; Right[n-h+7]) { queen[n]=h; col[h]=false; Left[n+h]=false; ...
程序 | 2010-12-09 09:50 | 阅读 962 次 | 评论 0 条

回文数猜想

//“回文数猜想”//从任意一个两位数或两位以上的自然数开始,将这个数与它的逆序数相加,得到一个新数,再用这个新//数与它的逆序数相加,不断重复这个操作,经过若干的逆序数相加,可能得到一个回文数。//程序开始运行,要求用户首先输入一个十进制整数;//计算机列举出获得回文数的步骤;//给出是否找到回文数及其数值的答案。#include<iostream>#define MAX 2147483647using std::cin;using std::cout;using std::endl;void main(){ long reverse(long); bool judge...
程序 | 2010-12-09 09:33 | 阅读 948 次 | 评论 0 条

约瑟夫环

#include <stdio.h>#include <malloc.h>#define null 0typedef struct joseph{int count;int mima;joseph *next;}ath;int n,m,i,j;ath *head,*p,*q;void main(){void creat();void shuru();void mima1();head=(ath*)malloc(sizeof(ath));head->next=null;p=head;printf("请输入几个人围坐一圈:\n");scanf("%d",&amp;n);for(i=1;...
程序 | 2010-12-08 22:42 | 阅读 751 次 | 评论 0 条

逆波兰式表达式计算

#include <stdio.h>#include <stdlib.h> /* for atof() */#define MAXOP 100 /* max size of operand or operator */#define NUMBER '0' /* signal that a number was found */int getop(char []);void push(double);double pop(void);/* reverse Polish calculator */main(){ int type; double op2; char s[MAX...
程序 | 2010-12-08 22:28 | 阅读 1669 次 | 评论 1 条
浏览29638次