首页 > 其他分享 >Codeforces Round #667 (Div. 3) E

Codeforces Round #667 (Div. 3) E

时间:2022-11-01 13:47:14浏览次数:47  
标签:667 个数 Codeforces int Div dp

E. Two Platforms

读完题 发现好像跟y坐标没关系
考虑dp
dp[i][0/1/2]表示以第i个点结尾的用了0/1/2个板子的max
显然我们对于0我们都是初始化为0
对于dp[i][1]我们直接dp[i-k][0]+区间[i-k,i]点的个数
对于dp[i][2]我们显然相交不会是最优解 而且会算重复
dp[i-k-1][1]+区间[i-k,i]点的个数
因为坐标轴范围有1e9我们要离散化 然后算区间点的个数直接二分下标就好了

int dp[N][3],n,k;
vector<int>a;
int find(int x) {return lower_bound(all(a), x) - a.begin();}
void solve(){
    cin>>n>>k;
    vector<int>b(n+10);
    a.resize(n);
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    sort(all(a));
    for(int i=0;i<=n;i++)for(int j=0;j<3;j++)dp[i][j]=0;
    for(int i=0;i<a.size();i++){
        dp[i][1]=max(dp[max(0ll,i-1)][1],dp[find(a[i]-k)][0]+i-find(a[i]-k)+1);
        if(find(a[i]-k))dp[i][2]=max(dp[max(0ll,i-1)][2],dp[find(a[i]-k)-1][1]+i-find(a[i]-k)+1);
    }
    cout<<max(dp[a.size()-1][1],dp[a.size()-1][2])<<endl;
}

标签:667,个数,Codeforces,int,Div,dp
From: https://www.cnblogs.com/ycllz/p/16847364.html

相关文章

  • Divide Points
    传送门Sol1神奇的构造。。思路自然直接:枚举\(Dist\),对所有\(dist(i,j)=Dist\)的点对连接\(i,j\),然后剔除所有度数为\(0\)的点,这样就建立了一张图。然后跑dfs判......
  • Codeforces Round #617 (Div. 3) E1
    E1.StringColoring(easyversion)观察样例我们发现要是最长下降子序列要是>=3那我们显然不可能有解然后我们考虑构造要是最长最长下降子序列只是2的话那显然我们只......
  • HTML如何让IMG自动适应DIV容器大小
    HTML如何让IMG自动适应DIV容器大小为了让IMG自适应大小,如下我做了一个横向自适应的示例:IMG样式(横向拉伸,纵向自动匹配大小)DIV样式(元素居中显示)IMG样式(横向拉伸,纵向自动匹配大......
  • html-span与div
    Div自己独占一行一行上可以有多个span实现网络布局<div>我是一个div标签我一个人占一整行</div>  <span>新浪</span>  <span>百度</span>Div相当于一个独占......
  • Codeforces - 839C - Journey(图论 + 概率 + 搜索、*1500)
    839C-Journey(⇔源地址)目录839C-Journey(⇔源地址)tag题意思路错误思路正解AC代码错误次数:2tag⇔图论、⇔概率、⇔搜索、⇔*1500题意在七......
  • 固定高度的div在屏幕中居中方法
    如何将一个固定高度的div居中在屏幕中间呢?先来看个例子,定义一个div并设置其高度为600px;html代码:<divclass='a'></div>css样式代码:.a{height:600px;background......
  • Algorithm: Lecture 4. Divide-and-Conquer Homework
    author:Miyasakadate:2022-10-31title:"Algorithm:Lecture4.Divide-and-ConquerHomework"*Inthiswork,alltheindexofarraystartsby1.Question:Bin......
  • Codeforces Round #658 (Div. 1) B
    B.Unmerge看完样例发现31243后面跟着的12肯定是和3一组的因为他们不如3大所以他们一定是被直接排出来的就这样我们可以将这个序列分成好多组然后就是金典背包......
  • js/jq 点击按钮显示div,点击页面其他任何地方隐藏div
    1、HTML页面<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无标题文档</title><stylet......
  • Codeforces Round #683 (Div. 1, by Meet IT) B
    B.CatchingCheaters对于我们做过的模板提来说这道题是子串那显然我们要改变一下我们的状态表示dp[i][j]表示以ai,bj结尾的max我们状态转移就是dp[i][j]=max{dp[i-1]......