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. 1033 旧键盘打字 (20 分)C语言

    题目描述 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入描述: 输入在2行中分别给出坏掉的那些键.以及应 ...

  2. Bandicam(班迪录屏)高清视频录制工具

    Bandicam(班迪录屏)简单好用的录屏幕,录游戏,录视频的功能强大的屏幕录像软件,比起其他软件其性能更加卓越. 与其他软件相比,用Bandicam录制的视频大小更小, 不仅保证原文件的质量.

  3. Quartz.NET总结(八)如何根据自己需要配置Topshelf 服务

    前面讲了如何使用Topshelf 快速开发windows服务, 不清楚的可以看之前的这篇文章:https://www.cnblogs.com/zhangweizhong/category/771057 ...

  4. Django框架之数据库ORM框架

    首先,我来介绍一下什么是ORM框架: O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思.在ORM框架中,它帮 ...

  5. 从头学pytorch(十六):VGG NET

    VGG AlexNet在Lenet的基础上增加了几个卷积层,改变了卷积核大小,每一层输出通道数目等,并且取得了很好的效果.但是并没有提出一个简单有效的思路. VGG做到了这一点,提出了可以通过重复使⽤ ...

  6. C++指针声明

    指针声明 void f(int) void (*p1)(int)=&f; void (*p2)(int)=f; 调用例子: int f(); int (*p) ()=f; //指针p指向f i ...

  7. C语言之函数用法总结

    C语言函数概述: 构成C语言程序的基本模块,模块化编程的最小单位. 函数调用的基本方式: 函数调用时的数据传递: 函数调用的过程: 函数原型与函数定义的区别: 函数封装: 1.外界对函数的影响仅限于入 ...

  8. 人群密度检测MCNN+CSRnet

    MCNN(简单理解): 三列卷积神经网络,分别为大中小三种不同尺度的卷积核,表示为L列(使用大尺度卷积核: 9*9, 7*7, 7*7,7*7), M(使用中等尺度卷积核: 7*7, 5*5, 5*5 ...

  9. 正则表达式grep命令

    grep命令 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查:打印匹配到的行. 模式::由正则表达式字符及文本字符所编写的过滤条件 语法:grep [OPTIONS] PATTE ...

  10. 容器环境的JVM内存设置最佳实践

    Docker和K8S的兴起,很多服务已经运行在容器环境,对于java程序,JVM设置是一个重要的环节.这里总结下我们项目里的最佳实践. Java Heap基础知识 默认情况下,jvm自动分配的heap ...