Codeforces_794
A.统计两个guard之间的钞票数。
#include<bits/stdc++.h>
#define MOD 1000000009
using namespace std; int a,b,c,n; int main()
{
ios::sync_with_stdio(false);
cin >> a >> b >> c >> n;
int ans = ;
while(n--)
{
int x;
cin >> x;
if(b < x && x < c) ans++;
}
cout << ans << endl;
return ;
}
B.面积x倍,边长sqrt(x)倍。
#include<bits/stdc++.h>
#define MOD 1000000009
using namespace std; int n,h; int main()
{
ios::sync_with_stdio(false);
cin >> n >> h;
for(int i = ;i < n;i++)
{
cout << fixed << setprecision() << h*sqrt(1.0*i/n) << " ";
}
cout << endl;
return ;
}
C.首先可以得知,选取s1中最小的(n+1)/2个,s2中最大的n/2个,整个过程有以下两步骤。
1.当s1中最小的比s2中最小的要小是,显然,s1每次选最小的放在串首,s2每次选最小的放在串首。
2.否则,s1每次选最大的放在串尾,s2每次选最大的放在串尾。
#include<bits/stdc++.h>
using namespace std; string s1,s2; int main()
{
ios::sync_with_stdio(false);
cin >> s1;
sort(s1.begin(),s1.end());
cin >> s2;
sort(s2.begin(),s2.end());
reverse(s2.begin(),s2.end());
int n = (s1.length()+)/,m = s1.length()/;
int now1 = ,now2 = ;
char ans[] = {};
int num = ,l = ,r = s1.length()-;
while(num < s1.length() && s1[now1] < s2[now2])
{
if(num% == ) ans[l++] = s1[now1++];
else ans[l++] = s2[now2++];
num++;
}
now1 = n-,now2 = m-;
while(num < s1.length())
{
if(num% == ) ans[r--] = s1[now1--];
else ans[r--] = s2[now2--];
num++;
}
cout << ans << endl;
return ;
}
D.用hash缩点,之后的图每个点最多只能有两条边,dfs。
#include<bits/stdc++.h>
using namespace std; int n,m;
int hashh[],pre[],ans[] = {},vis[] = {},visc[] = {};
vector <int> v[]; void dfs(int now)
{
vis[now] = true;
if(ans[now] == ) return;
for(int i = ;i < v[now].size();i++)
{
int t = v[now][i];
if(hashh[t] == hashh[now]) ans[t] = ans[now];
}
for(int i = ;i < v[now].size();i++)
{
int t = v[now][i];
if(vis[t]) continue;
if(!ans[t])
{
if(!visc[ans[now]-])
{
visc[ans[now]-] = ;
ans[t] = ans[now]-;
}
else if(!visc[ans[now]+])
{
visc[ans[now]+] = ;
ans[t] = ans[now]+;
}
}
dfs(t);
}
} int main()
{
ios::sync_with_stdio();
cin >> n >> m;
pre[] = ;
for(int i = ;i <= n;i++) pre[i] = pre[i-]*+i;
for(int i = ;i <= n;i++) hashh[i] = pre[i];
for(int i = ;i <= m;i++)
{
int x,y;
cin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
hashh[x] += pre[y];
hashh[y] += pre[x];
}
ans[] = ;
visc[] = ;
dfs();
for(int i=;i<=n;i++)
{
if(!ans[i])
{
cout << "NO" << endl;
return ;
}
}
cout << "YES" << endl;
for(int i = ;i <= n;i++) cout << ans[i] << " ";
cout << endl;
return ;
}
Codeforces_794的更多相关文章
随机推荐
- 学海无涯-php
- CSRF 详解:攻击,防御,Spring Security应用等
本文原创,更多内容可以参考: Java 全栈知识体系.如需转载请说明原处. CSRF(Cross-site request forgery跨站请求伪造,也被称成为"one click att ...
- 微服务统计,分析,图表,监控一体化的HttpReports项目在.Net Core 中的使用
简单介绍 HttpReports 是 .Net Core 下的一个Web项目, 适用于WebAPI,Ocelot网关应用,MVC项目,非常适合针对微服务应用使用,通过中间件的形式集成到您的项目中,可以 ...
- 【FAR 方云研发绩效】助力于解决管理难题
方云研发绩效(farcloud.com)自发布以来,助力多家企业完成研发管理数字化转型,并有效解决产研绩效这一普遍存在的管理难题. 研发管理是许多企业面临的管理难题,首先,技术构成的信息壁垒,让内部沟 ...
- extract函数的使用
EXTRACT(field FROM source) extract函数从日期/时间数值里抽取子域,比如年.小时等. source必须是一个timestamp, time, interval类型的值表 ...
- Spring Boot2 系列教程(二十) | SpringBoot 是如何实现日志的?
微信公众号:一个优秀的废人.如有问题,请后台留言,反正我也不会听. 前言 休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下. 门面模式 说到日志框架不得不说门面模式.门面 ...
- Spring-cloud微服务实战【三】:eureka注册中心(中)
回忆一下,在上一篇文章中,我们创建了两个springboot项目,并且在consumer项目中通过restTemplate进行HTTP通信,成功访问到了producer提供的接口,思考一下这样的实 ...
- VMware Workstation CentOS7 Linux 学习之路(4)--守护服务(Supervisor)
目前存在三个问题 问题1:ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生 ...
- 一个按键搞定日常git操作
Git is a free and open source distributed version control system designed to handle everything from ...
- 打包一份py给大家用!!!
好不容易写完了代码,却发现对面无法使用自己的python代码,其无奈可想而知 在这里就给大家介绍一下pyinstaller的简单用法 你所需要的就是在电脑上安装好 https://blog.csdn. ...