A.b序列从大到小填a序列中的0,在判断。

#include<bits/stdc++.h>
using namespace std; int n,m,a[],b[]; int main()
{
ios::sync_with_stdio();
cin >> n >> m;
for(int i = ;i <= n;i++) cin >> a[i];
for(int i = ;i <= m;i++) cin >> b[i];
sort(b+,b++m);
reverse(b+,b++m);
int now = ;
for(int i = ;i <= n;i++)
{
if(a[i] == ) a[i] = b[++now];
}
for(int i = ;i <= n;i++)
{
if(a[i-] > a[i])
{
cout << "Yes" << endl;
return ;
}
}
cout << "No" << endl;
return ;
}

B.分一个位置不同和两个位置不同两种情况。一个位置不同的直接改成没出现的数字。两个位置不同的把两种情况都试一下。

#include<bits/stdc++.h>
using namespace std; int n,a[],b[],c[],ok[] = {},x[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i];
for(int i = ;i <= n;i++) cin >> b[i];
int cnt = ;
for(int i = ;i <= n;i++)
{
if(a[i] == b[i]) ok[a[i]] = ;
else x[++cnt] = i;
}
if(cnt == )
{
for(int i = ;i <= n;i++)
{
if(!ok[i]) a[x[]] = i;
}
}
else
{
for(int i = ;i <= n;i++) c[i] = a[i];
for(int i = ;i <= n;i++)
{
if(!ok[i])
{
a[x[]] = i;
ok[i] = ;
break;
}
}
for(int i = ;i <= n;i++)
{
if(!ok[i]) a[x[]] = i;
}
int cnt1 = ,cnt2 = ;
for(int i = ;i <= n;i++)
{
if(a[i] != b[i]) cnt1++;
if(a[i] != c[i]) cnt2++;
}
if(cnt1 != || cnt2 != ) swap(a[x[]],a[x[]]);
}
for(int i = ;i <= n;i++) cout << a[i] << " ";
return ;
}

C.打表每个字母增加每个数值的ans。

#include<bits/stdc++.h>
using namespace std; int n,q,ans[][] = {},cnt[];
string s; int main()
{
ios::sync_with_stdio();
cin >> n >> s >> q;
s = ' '+s;
for(char c = 'a';c <= 'z';c++)
{
memset(cnt,,sizeof(cnt));
for(int i = ;i <= n;i++)
{
cnt[i] = cnt[i-];
if(s[i] != c) cnt[i]++;
}
for(int i = ;i <= n;i++)
{
for(int j = i+;j <= n;j++)
{
ans[c][cnt[j]-cnt[i]] = max(ans[c][cnt[j]-cnt[i]],j-i);
}
}
for(int i = ;i <= n;i++) ans[c][i] = max(ans[c][i-],ans[c][i]);
}
while(q--)
{
int x;
cin >> x >> s;
cout << ans[s[]][x] << endl;
}
return ;
}

D.判断每个环在第几层,0层和偶数层的加,奇数层的减。

#include<bits/stdc++.h>
#define PI acos(-1)
using namespace std; int n,x[],y[],r[],cnt[] = {}; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> x[i] >> y[i] >> r[i];
for(int i = ;i <= n;i++)
{
for(int j = ;j <= n;j++)
{
if(i == j) continue;
if(sqrt(1.0*(x[i]-x[j])*(x[i]-x[j])+1.0*(y[i]-y[j])*(y[i]-y[j])) <= r[j]-r[i]) cnt[i]++;
}
}
double ans = ;
for(int i = ;i <= n;i++)
{
if(cnt[i] == || cnt[i]%) ans += PI*r[i]*r[i];
else ans -= PI*r[i]*r[i];
}
cout << fixed << setprecision() << ans << endl;
return ;
}

Codeforces_814的更多相关文章

随机推荐

  1. vue入门,vue指令,vue组件,vue模板

    vue 使用虚拟dom操作减少真实dom操作 提高页面的渲染效率 虚拟dom的本质就是内存中的一个对象,该对象和dom结构相互对应 将开发者经历从dom中释放出来,转移到数据的操作 开发者不需要关注页 ...

  2. EF 学习系列三 数据操作数据加载及EF中执行Sql

    1.实体状态 我们通过EF来对数据库进行操作并持久化到数据库,那么EF必然通过EF上下文来维护实体的状态,明确知道每一个状态所对应的操作.也就是说EF通过上下文负责跟踪实体的状态.EF实体状态存在命名 ...

  3. MySQL 持久化保障机制-redo 日志

    我们在 聊一聊 MySQL 中的事务及其实现原理 中提到了 redo 日志,redo 日志是用来保证 MySQL 持久化功能的,需要注意的是 redo 日志是 InnoDB 引擎特有的功能. 为什么 ...

  4. 《图解机器学习-杉山将著》读书笔记---CH5

    CH5 稀疏学习 重点提炼 提出稀疏学习的缘故: 虽然带有约束条件的最小二乘学习法结合交叉验证法,在实际应用中是非常有效的回归方法,但是,当参数特别多时,计算参数以及预测值需要大量时间.此时,我们要解 ...

  5. css写斜角

    项目开发中遇到了这样的效果,百度了一波,可以使用css3的伪类实现: /*斜角公用*/1.外层的div加class='wrapper' 并需要设置相对定位 .wrapper:before { -moz ...

  6. extract函数的使用

    EXTRACT(field FROM source) extract函数从日期/时间数值里抽取子域,比如年.小时等. source必须是一个timestamp, time, interval类型的值表 ...

  7. TensorFlow——tensorflow编程基础

    0.tensorflow中的模型运行基础 tensorflow的运行机制属于定义和运行相分离,在操作层面可以抽象成两种:模型构建和模型运行. 在模型构建中的常见概念: 张量(tensor):数据,即某 ...

  8. Python中url标签使用详解

    url标签: 1.在模板中,我们经常要使用一些url,实现页面之间的跳转,比如某个a标签中需要定义href属性.当然如果通过硬编码的方式直接将这个url固定在里面也是可以的,但是这样的话,对于以后进行 ...

  9. DSN

    用户DSN注册信息记录在本机的注册表上 文件DSN保存在本地磁盘上 系统DSN注册在服务器的注册表上,所以客户端连接服务器,只要一台在服务器建立了DSN,其他客户端登录时都会看到该DSN

  10. 安装Mysql 8.0的艰难体验

    背景: Mysql 8.0 以后版本,在性能等方面有了很大提升,而且在自动编号.Timestamp等字段的设置上有了很方便的进步,因此在一年前即开始将原有的基于5.5版本的服务器逐渐向8.0转移.但转 ...