摘要: #include #include #include #define N 33using namespace std;int a0[N][N],a[N][N],b[N][N],c[N][N],d[N][N],temp1[N][N],temp2[N][N];int comp( int m1[][N],int m2[][N], int a ){ int n=0,i,j; for (i=0;i>n) { if (n==0) break; for (i=0;i>a0[i][j]; for (i=0;i>a[i][j];... 阅读全文
posted @ 2013-11-09 14:20 单调的幸福 阅读(181) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #define L 310#define W 610using namespace std;char b[W][L],a[L];int c[W],lena,lenb,dp[L];int main(){ int i,w,m,k,j; scanf("%d %d",&w,&lena); scanf("%s",a); for(i=0;i=0 && k>=0;j--) if (a[j]==b[m][k]) k--; ... 阅读全文
posted @ 2013-11-08 22:04 单调的幸福 阅读(179) 评论(0) 推荐(0) 编辑
摘要: POJ上的alig nment就是最长不下降子序列的两次运用。从后往前,从前往后,问题解决。好思路,可惜不是我想的。~~~#include #include #define N 1010using namespace std;double b[N];int c[N],d[N];int main (){ int a,max=0,i,j; cin>>a; for (i=1;i>b[i]; memset(c,0,sizeof (c)); memset (d,0,sizeof (d)); c[1]=1; for (i=2;i=1;i--) { ... 阅读全文
posted @ 2013-11-07 20:19 单调的幸福 阅读(276) 评论(0) 推荐(0) 编辑
摘要: #include #define maxsize 5005char a[maxsize],b[maxsize];short int c[maxsize][maxsize];//用short int 节省空间,就是因为这个给了我好几个无情的MLE。而且必须在主函数外定义,否则runtime errorusing namespace std;int main (){ int N,i,j; cin>>N>>a; for (i=0; i=c[i][j-1]) c[i][j]=c[i-1][j]; else ... 阅读全文
posted @ 2013-11-03 17:40 单调的幸福 阅读(410) 评论(0) 推荐(0) 编辑
摘要: poj 2109在poj上交的时候用lf输出果断AC,但是在杭电上怎么都不让过。#include #include int main(){ double n,m; while(scanf("%lf%lf",&n,&m)!=EOF) printf("%.0f\n",pow(m,1.0/n)); return 0;} 阅读全文
posted @ 2013-11-02 15:16 单调的幸福 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 函数名 功能描述sort 对给定区间所有元素进行排序stable_sort 对给定区间所有元素进行稳定排序partial_sort 对给定区间所有元素部分排序partial_sort_copy 对给定区间复制并排序nth_element 找出给定区间的某个位置对应的元素is_sorted 判断一个区间是否已经排好序partition 使得符合某个条件的元素放在前面stable_partition 相对稳定的使得符合某个条件的元素放在前面要使用此函数只需用#include sort即可使用,语法描述为:sort(begin,end),表示一个范围,例如:int _tmain(int argc.. 阅读全文
posted @ 2013-11-01 09:46 单调的幸福 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 今天学了点二进制操作,贴一下记录成长历程coutusing std::bitset;3.5.1bitset的定义和初始化表3-6列出了bitset的构造函数。类似于vector,bitset类是一种类模板;而与vector不一样的是bitset类型对象的区别仅在其长度而不在其类型。在定义bitset时,要明确bitset含有多少位,须在尖括号内给出它的长度值:bitsetbitvec; //32位,全为0。给出的长度值必须是常量表达式(2.7节)。正如这里给出的,长度值必须定义为整型字面值常量或是已用常量值初始化的整数类型的const对象。这条语句把bitvec定义为含有32个位的bitset 阅读全文
posted @ 2013-10-30 14:49 单调的幸福 阅读(507) 评论(0) 推荐(0) 编辑
摘要: #include using namespace std;short int dp[5050][5050];int main(){int i,j,n; char a[5050];cin>>n;cin>>a+1;memset(dp,0,sizeof(dp));for(i=1;i0;j--){if(a[i]==a[j])dp[j][i]=dp[j+1][i-1];elsedp[j][i]=(dp[j][i-1]<dp[j+1][i]?dp[j][i-1]:dp[j+1][i])+1;}cout<<dp[1][n]<<endl;return 0; 阅读全文
posted @ 2013-08-26 20:32 单调的幸福 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 解法一:#includeusing namespace std;int map[102][102];int m=0xfffffff;void prim(int n){ int lowcost[102],s[102]={0},i,j,min,k,ans=0; for(i=1;i>map[i][j]; prim(n); } return 0;}解法二:#includeusing namespace std;const int Max = 102;const int inf = 0xfffffff;int n, ans;int map[Max][Max], dis[Max];//dis[i]表 阅读全文
posted @ 2013-08-15 17:19 单调的幸福 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 定义:将一个问题分解为子问题递归求解(小问题按阶段分),并且将中间结果保存以避免重复计算的办法,就叫做“动态规划”。阶段:运用动态规划首先需要将问题的全过程恰当地划分成若干个相互联系的阶段,以便按一定的次序去求解。阶段的划分一般是根据时间和空间的自然特征来定的,一般要便于把问题转化成多阶段决策的过程。大多数情况下,DP可以用来求最优值,这里要注意,DP求最优值不是递推,而是枚举。要考虑清楚每个阶段,并表示出来。然后寻找终止条件,这里常常把每个阶段的最值保存起来,然后在最值里面求最值。备忘录方法:备忘录方法是递归方式的变形。它与动态规划方法一样备忘录方法采用用一个表保存已解决的子问题的答案,而且 阅读全文
posted @ 2013-08-08 14:51 单调的幸福 阅读(1065) 评论(0) 推荐(0) 编辑