基础算法
shiftrain
小菜鸡一枚~
展开
-
C++string使用注意事项
在未初始化,只是定义了的情况下,不能进行如下操作string str;str[0]='a';str[1]='b';正确操作为string str;str+='a';str+='b';原创 2020-03-08 00:23:26 · 192 阅读 · 0 评论 -
C++大数乘法(大数*整数)
bign multi(bign a,int b){ bign c; int carry=0; for(int i=0;i<a.len;i++){ int tmp=a.d[i]*b+carry; c.d[c.len++]=tmp%10; carry=tmp/10; } while(carry!=0){ ...原创 2020-03-07 22:32:47 · 294 阅读 · 0 评论 -
模板:LCS、LIS、LCIS(最长公共子序列、最长上升子序列、最长公共上升子序列)
最长公共子序列LCS:for(int i=1;i<n;i++){ for(int j=1;j<m;j++){ if(a[i]==b[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=max(dp[i-1][j],dp[i][j-1]); }}最长上...原创 2020-02-21 21:53:31 · 201 阅读 · 0 评论 -
C++实现大数运算(加,减)
之前遇到过几次大数问题,发现竟然不会。参考了别人的方法,再次做个简单的记录。无注释大数定义struct bign{ int d[1000]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};大数输入bign charge(char str[]){ bign a...原创 2020-02-17 23:01:53 · 448 阅读 · 0 评论