Codeforces_814
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的更多相关文章
随机推荐
- 1086 就不告诉你 (15分)C语言
做作业的时候,邻座的小盆友问你:"五乘以七等于多少?"你应该不失礼貌地微笑着告诉他:"五十三."本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积. 输入 ...
- NB的程序员,亮瞎了你的眼吗?
郑重声明: 本文首发于人工博客 1.导读 你能想象到1K的代码能写出什么样的功能强大.效果炫酷的作品吗?来吧,今天小编带领大家认识下下面这位大神的作品. 西班牙程序员Roman Cortes用纯Jav ...
- Java AOP的底层实现原理
Java AOP的底层实现原理 一.什么是AOP 1.AOP:Aspect Oriented Programming(面向切面编程),OOP是面向对象编程,AOP是在OOP基础之上的一种更高级的设计思 ...
- 动态代理之 JDK 动态代理
动态代理 动态代理源于设计模式中的代理模式,代理模式的主要作用就是使代理对象完成用户的请求,屏蔽用户对真实对象的访问.通过代理对象去访问目标对象来控制原对象的访问. 代理模式的最典型的应用就是 Spr ...
- deepin idea2019注册码
找了好久终于找到能用的注册码了https://blog.csdn.net/zixiao217/article/details/82942476第一个好像是已经过期了,然后试了下第二个发现可以直接官网下 ...
- Linux学习_菜鸟教程_3
我是在UBANTO上运行Linux的,开机启动时按下shift或者Esc都不能进入到grub,没有百度到可靠的教程. 暂时先这样吧.免得我把系统搞坏了,先学点实用的知识~~ Next Chapter
- React-router路由4.0版本用法
第一步:引包两个 命令:cnpm i -S react-router react-router-dom 第二步:用路由管理APP页面 1.创建主路由管理页面,在这里使用了路由嵌套 import Rea ...
- 【转】DB2数据库编目的概念以及对其的正确解析
此文章主要向大家描述的是DB2数据库编目的概念以及对DB2数据库编目的概念的正确理解,在DB2中编目(catalog)这个单词看似很难理解,我自己当初在学习DB2数据库的时候也常常被这个编目搞的很不明 ...
- Scanner使用方法
import java.util.Scanner; //导入包 public void main (String args[]){ Scanner a=new Scanner(System.in); ...
- http GET 和 POST 请求的优缺点和误区 --前端优化
Get和Post在面试中一般都会问到,一般的区别:(1)post更安全(不会作为url的一部分,不会被缓存.保存在服务器日志.以及浏览器浏览记录中)(2)post发送的数据更大(get有url长度限制 ...