A.直接模拟。

#include<bits/stdc++.h>
using namespace std; int c,v0,v1,a,l; int main()
{
ios::sync_with_stdio();
cin >> c >> v0 >> v1 >> a >> l;
int ans = ,now = l,v = v0-a;
while()
{
ans++;
now -= l;
v += a;
if(v > v1) v = v1;
now += v;
if(now >= c) break;
}
cout << ans << endl;
return ;
}

B.相等弧长对应的圆周角相等。圆周角是对应圆心角的一半。

#include<bits/stdc++.h>
using namespace std; int n,a; int main()
{
ios::sync_with_stdio();
cin >> n >> a;
double t = 180.0/n;
int ans;
double minn = ;
for(int i = ;i <= n-;i++)
{
if(abs(i*t-a) < minn)
{
ans = i+;
minn = abs(i*t-a);
}
}
cout << "2 1 " << ans << endl;
return ;
}

D.统计数值大于等于位置的个数和数值小于位置的个数,以及每个偏差值的个数,每次向右移动的时候,可以O(1)更新答案,注意每次更新三个计数。

#include<bits/stdc++.h>
using namespace std; int n,a[],cnt[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i];
long long sum = ,cntl = ,cntr = ;
for(int i = ;i <= n;i++)
{
sum += abs(a[i]-i);
if(a[i] >= i)
{
cntl++;
cnt[a[i]-i]++;
}
else cntr++;
}
long long ans = sum;
int num = ;
for(int i = ;i < n;i++)
{
cntl -= cnt[i-];
cntr += cnt[i-];
sum = sum-cntl+cntr-abs(a[n-i+]-n-)+abs(a[n-i+]-);
if(a[n-i+]+i- < n) cnt[a[n-i+]+i-]++;
cntl++;
cntr--;
if(sum < ans)
{
ans = sum;
num = i;
}
}
cout << ans << " " << num << endl;
return ;
}

Codeforces_820的更多相关文章

随机推荐

  1. 解决mariadb字符级不是utf8问题

    解决方法:在my.cnf配置文件中添加如下几个指令 [client]  default-character-set=utf8 [mysqld] character-set-server=utf8 in ...

  2. Linux下离线安装gdb及常用命令汇总

    以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...

  3. linux防火墙之iptables

    linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...

  4. SpringBoot-2.1.1系列一:使用https

    1.什么是https? HTTPS中文名称:超文本传输安全协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要 ...

  5. 从0开发3D引擎(五):函数式编程及其在引擎中的应用

    目录 上一篇博文 函数式编程的优点与缺点 优点 缺点 为什么使用Reason语言 函数式编程学习资料 引擎中相关的函数式编程知识点 数据 不可变数据 可变数据 函数 纯函数 高阶函数 柯西化 参考资料 ...

  6. kmp算法初步理解

    123456789 abbdaxnds Next   01212 第三位看第二位b,第二位和第三位相同,都是b,所以第三位的next是第二位的next加1,即1+1=2 第四位看第三位b,第四位d与第 ...

  7. GeneXus 16 如何实现自动化测试和发布

    CI/CD(持续集成/持续发布)是一种软件开发策略,以使公司能够尽可能快速.高效地给客户发布新功能.为了能够实现CI/CD,就需要通过PipeLine对整个软件过程进行一系列的节点管理,必须将每个阶段 ...

  8. 3次方的期望dp

    osu 是一款群众喜闻乐见的休闲软件.     我们可以把osu的规则简化与改编成以下的样子:     一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的 ...

  9. Nginx的一理解(1)

    1.请解释一下什么是Nginx? 答:Nginx是一个web服务器和反向代理服务器,用于HTTP.HTTPS.SMTP.POP3和IMAP协议. 2.请列举Nginx的一些特性? 答:Nginx服务器 ...

  10. Oracle GoldenGate 12.3微服务架构指北

    Microservices Architecture introduction Microservices Architecture is a method or approach to develo ...