题意:给定n个数和一个k,可以改变k个值,最小化相邻两项的差的绝对值的最大值

题解:

最大值最小,可以考虑二分答案;

然后考虑保留哪些关键点不变,dp[i]表示第i个点不变,

如果abs(a[i]-a[j])<=x*(i-j),则我们可以从第j个点转移过来,中间的点分布在线段IJ上

然后看是否超过k个

 1 #include<bits/stdc++.h>
 2 #define ll long long
 3 #define maxn 2005
 4 using namespace std;
 5 int n,k;
 6 ll a[maxn];
 7 int dp[maxn];
 8 bool check(ll x)
 9 {
10     memset(dp,0,sizeof(dp));
11     int ans=n;
12     for(int i=1;i<=n;++i)
13     {
14         dp[i]=i-1;
15         for(int j=1;j<i;++j)if(abs(a[i]-a[j])<=x*(i-j))
16             dp[i]=min(dp[i],dp[j]+(i-j-1));
17         ans=min(ans,dp[i]+n-i);
18     }
19     return (ans<=k);
20 }
21 int main()
22 {
23     scanf("%d%d",&n,&k);
24     for(int i=1;i<=n;++i)scanf("%I64d",&a[i]);
25     ll l=0,r=2000000000,ans=r+1;
26     while(l<=r)
27     {
28         int mid=(l+r)>>1;
29         if(check(mid))ans=mid,r=mid-1;
30         else l=mid+1;
31     }
32     printf("%d\n",ans);
33     return 0;
34 }

View Code

转载于:https://www.cnblogs.com/uuzlove/p/10466287.html

codeforces 360B相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  3. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  4. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  5. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  6. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  7. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

  10. [题解]RGB Substring (hard version)-前缀和(codeforces 1196D2)

    题目链接:https://codeforces.com/problemset/problem/1196/D2 题意: q 个询问,每个查询将给你一个由 n 个字符组成的字符串s,每个字符都是 &quo ...

最新文章

  1. PLM的关键点—实施篇
  2. spring4.0之二:@Configuration的使用
  3. 【Codeforces Round #446 (Div. 2) C】Pride
  4. 利用命令来打开所有程序,这个装逼给满分!
  5. vue-cli-service不是内部或外部命令,也不是可运行的程序
  6. 天下手游卡在获取服务器信息,天下手游召唤兽获取与洗练:新手必须知道的事情...
  7. 12306系统升级对电力营销系统改造的启示
  8. R语言 判别分析:线性判别、K最邻近、有权重的K最邻近、朴素贝叶斯
  9. 大野耐一的十条管理训诫|优思学院
  10. 获取当前时间,包括农历时间
  11. 让谷歌浏览器不再显示不安全内容的提示
  12. 【简单】Divisor Summation
  13. 世界各国的12个王朝
  14. 你画我猜 计算机题目,你画我猜:你知道这些题目的答案是什么吗?
  15. [WiFi] ebtable实现wifi接口之间数据隔离
  16. JVM学习笔记——什么是JVM?
  17. WEB网页开发期末作业
  18. sata3极限速度_SATA 3的实际速度是多少?
  19. 可替代50欧姆_Pomona 50欧姆 2249系列BNC公头射频测试线 可替代横河366925 2249-C-72...
  20. 工程项目管理与国际惯例接轨的几点思考(转)

热门文章

  1. php resize函数,Php Image Resize图片大小调整的函数代码
  2. 计算机网络中什么是突发错,计算机网络基础习题(含答案)
  3. python-学生管理系统--2录入学生信息内容以及代码
  4. 如何运行导入的项目_从0到1学习Flink》—— Flink 项目如何运行?
  5. python open 编码格式_Python以unicode编码格式读入外部文件
  6. 文字发光_PS教程来喽,看PS大神如何使用PS制作发光字效果,果断收藏一下
  7. 基于Yolov5目标检测的物体分类识别及定位(二) -- yolov5运行环境搭建及label格式转换
  8. oracle11.2.0.4使用impdp导入时报错:ORA-39083 ORA-00439
  9. 旧项目如何切换到Entity Framework Code First
  10. 浅谈ANR及如何分析解决ANR