摘要:
链接发个长长的模拟 这题要注意的地方挺多 -的个数 以及对齐的情况 全都注意好了 大数的加减乘就可以了 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 #define N 510 11 char s1[N],s2[N]; 12 int s[N][N*2],o[N]; 13 int main() 14 { 15 int t,i,j,k1,k2,len; 16 char c,tc; 1... 阅读全文
摘要:
一简单的状压题 比赛时跑偏了 ,脑子最近乱的跟浆糊似得呢。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int dp[15][5010],o[15][5010]; 9 int w[15][15],ee[15][15],s[15];10 int main()11 {12 int i,j,n,t,e;13 cin>>t;14 while(t--)15 {16 memset(dp,0,sizeof(dp));17... 阅读全文
摘要:
链接next数组的巧妙应用 学弟出给学弟的学弟的题。。求最长的 是前缀也是后缀同时也是中缀的串 next的数组求的就是最长的前后缀 但是却不能求得中缀所以这里 就把尾部去掉之后再求 这样就可以保证是中缀了 先把所有既是前缀也是后缀的长度的求出来标记 然后再去掉尾部 求一下最大 既是前缀又是后缀的长度 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 #define INF 0xfffffff11 #define N 1. 阅读全文
摘要:
链接题目大意就相当于 跟你一串字符串 让你截成k段 使总体的值最小想法是递归的 递归太慢 可以转换为递推的这样就有可以推出状态方程 dp[i][j] = max(dp[i][j],dp[i-1][g]+sum[g+1][j]+sum[1][g]-sum[1][j]); dp[i][j]表示总长度为j第i次截的最小值 后面的sum[i][j]表示的就是从i开始作为第一个到j个的花费 o[i][j]保存路径 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #defi. 阅读全文