摘要:
二分 int l,r; while(l<=r){ int mid=(l+r)/2;//>>1 if(ok(mid))l=mid+1; else r=mid-1; } ans=l; lower_bound()和upper_bound() 二分查找 二分查找需要排序 右端点开区间(right需要+1) 阅读全文
二分 int l,r; while(l<=r){ int mid=(l+r)/2;//>>1 if(ok(mid))l=mid+1; else r=mid-1; } ans=l; lower_bound()和upper_bound() 二分查找 二分查找需要排序 右端点开区间(right需要+1) 阅读全文
posted @ 2021-07-17 19:54
DAIANZE
阅读(46)
评论(0)
推荐(0)
摘要:
zhxのDP讲 DP基础例题 1. 斐波那契数列 f[1]=1;//第0项和第1项 f[0]=0; //记忆化搜索 int dp(int n)//斐波那契数列第n项 { //g[i]表示f[i]有没有计算过 if(n<=1)return n; if(g[n])return f[n]; g[n]=tr 阅读全文
zhxのDP讲 DP基础例题 1. 斐波那契数列 f[1]=1;//第0项和第1项 f[0]=0; //记忆化搜索 int dp(int n)//斐波那契数列第n项 { //g[i]表示f[i]有没有计算过 if(n<=1)return n; if(g[n])return f[n]; g[n]=tr 阅读全文
posted @ 2021-07-17 19:36
DAIANZE
阅读(122)
评论(0)
推荐(0)
摘要:
//求最长上升子序列长度 cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; memset(f,0,sizeof(f)); for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) if(a[j]>a[i]) f[j]=max(f[ 阅读全文
//求最长上升子序列长度 cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; memset(f,0,sizeof(f)); for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) if(a[j]>a[i]) f[j]=max(f[ 阅读全文
posted @ 2021-07-17 19:16
DAIANZE
阅读(52)
评论(0)
推荐(0)

浙公网安备 33010602011771号