![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++
amazingcode_lyl
人生能有几回搏,此时不搏何时搏
展开
-
子序列&子串问题
1、最长公共子序列s=abcde t=ace子序列是不连续的,最长公共子串是连续的输出:3int common_longest_string(string& s,string& t){ int s_len=s.size(),t_len=t.size(); vector<vector<int> > dp(s_len+1,vector<int>(t_len+1)); for(int i=0;i<s_len;i+原创 2021-09-15 10:13:09 · 277 阅读 · 0 评论 -
二维数组的前缀和
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j];#include<bits/stdc++.h>using namespace std;int main(){ int a[100][100]; int b[100][100]; memset(b,0,sizeof(b)); int n,m; cin>>n>>m; for(int i=0;i<n;i++){ ..原创 2021-09-12 17:46:49 · 233 阅读 · 0 评论 -
N个数中选择任意个异或和最大
两种方法:1、dfs#include<cstdio>#include<iostream>using namespace std;#define maxn 1000int arr[maxn];int N ,ans = 0;void dfs(int step, int value){ if(step == N+1){ ans = max(ans, value); return; } dfs(step+1, value); dfs(step+1, va原创 2021-09-09 10:33:14 · 808 阅读 · 1 评论