Codeforces Beta Round #31 (Div. 2, Codeforces format)
Codeforces Beta Round #31 (Div. 2, Codeforces format)
http://codeforces.com/contest/31
A
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define maxn 1000005
typedef long long ll;
typedef unsigned long long ull;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int a[]; int main(){
#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
cin>>n;
for(int i=;i<=n;i++) cin>>a[i];
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
for(int k=;k<=n;k++){
if(i!=j&&j!=k){
if(a[i]==a[j]+a[k]){
cout<<i<<" "<<j<<" "<<k<<endl;
return ;
}
}
}
}
}
cout<<-<<endl;
}
B
模拟
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define maxn 1000005
typedef long long ll;
typedef unsigned long long ull;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int a[]; int Check(string str){
int pre=-;
int pos=-;
for(int i=;i<str.length();i++){
if(str[i]=='@'){
pos=i;
if(pre<i-&&i+<str.length()){
pre=i+;
}
else{
return -;
}
}
}
return pos;
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
string str;
cin>>str;
int pos=Check(str);
if(pos!=-){
for(int i=;i<str.length();i++){
cout<<str[i];
if(str[i]=='@'){ if(pos!=i){
cout<<str[i+];
i++; if(i<str.length()-){
cout<<',';
}
}
}
}
}
else cout<<"No solution"<<endl;
}
C
暴力
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define maxn 1000005
typedef long long ll;
typedef unsigned long long ull;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
struct sair{
int s,e,pos;
}a[]; bool cmp(sair a,sair b){
if(a.s==b.s) return a.e<b.e;
return a.s<b.s;
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
cin>>n;
for(int i=;i<n;i++){
cin>>a[i].s>>a[i].e;
a[i].pos=i+;
}
sort(a,a+n,cmp);
vector<int>ans;
int flag;
for(int i=;i<n;i++){
int pre=-;
flag=;
for(int j=;j<n;j++){
if(i!=j){
if(pre==-){
pre=a[j].e;
}
else{
if(pre>a[j].s){
flag=;
}
else{
pre=a[j].e;
}
}
}
}
if(!flag){
ans.pb(a[i].pos);
}
}
cout<<ans.size()<<endl;
sort(ans.begin(),ans.end());
for(int i=;i<ans.size();i++){
cout<<ans[i]<<" ";
}
}
D
bfs求连通块,模拟剪纸的过程
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define maxn 1000005
typedef long long ll;
typedef unsigned long long ull;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int n,m,k;
int book[][];
int dir[][]={,,,,,-,-,}; int bfs(int x,int y){
queue<pair<int,int> >Q;
int ans=;
book[x][y]=;
Q.push(make_pair(x,y));
pair<int,int>p;
while(!Q.empty()){
p=Q.front();
Q.pop();
for(int i=;i<;i++){
int xx=p.first+dir[i][];
int yy=p.second+dir[i][];
if(xx>=&&xx<=*n&&yy>=&&yy<=*m&&!book[xx][yy]){
book[xx][yy]=;
if((xx%)&&(yy%)){
ans++;
}
Q.push(make_pair(xx,yy));
}
}
}
return ans;
} int main(){
#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n>>m>>k;
int a,b,c,d;
while(k--){
cin>>a>>b>>c>>d;///边为偶数
a*=,b*=,c*=,d*=;
if(a==c){
if(b>d) swap(b,d);
for(int i=b;i<=d;i++){
book[a][i]=;
}
}
else{
if(a>c) swap(a,c);
for(int i=a;i<=c;i++){
book[i][b]=;
}
}
}
vector<int>ans;
for(int i=;i<=*n;i++){
for(int j=;j<=*m;j++){
if(!book[i][j]&&(i%)&&(j%)){
ans.pb(bfs(i,j));
}
}
}
sort(ans.begin(),ans.end());
for(int i=;i<ans.size();i++){
cout<<ans[i]<<" ";
}
cout<<endl;
}
E
题意:给2*n个数字,A和B各选n个各组成一个数,使得A+B的和最大
DP,细节在代码里
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define maxn 1000005
typedef long long ll;
typedef unsigned long long ull;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ ll dp[][];
ll p[]; int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
string str;
cin>>n;
cin>>str;
int len=*n;
p[]=;
for(int i=;i<=;i++){
p[i]=p[i-]*;
}
///dp[i][j] 表示A选了i个,B选了j个,dp[i][j]记录的是A+B的和
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
ll tmp=str[*n-i-j]-'';///从后向前推
if(i){
dp[i][j]=dp[i-][j]+tmp*p[i-];
}
if(j){
dp[i][j]=max(dp[i][j],dp[i][j-]+tmp*p[j-]);
}
cout<<dp[i][j]<<endl;
}
}
int i=n,j=n;
while(i||j){
ll tmp=str[*n-i-j]-'';
if(i>&&(tmp*p[i-]+dp[i-][j]==dp[i][j])){
cout<<'H';
i--;
}
else{
cout<<'M';
j--;
}
}
cout<<endl;
}
Codeforces Beta Round #31 (Div. 2, Codeforces format)的更多相关文章
- Codeforces Beta Round #32 (Div. 2, Codeforces format)
Codeforces Beta Round #32 (Div. 2, Codeforces format) http://codeforces.com/contest/32 A #include< ...
- Codeforces Beta Round #29 (Div. 2, Codeforces format)
Codeforces Beta Round #29 (Div. 2, Codeforces format) http://codeforces.com/contest/29 A #include< ...
- Codeforces Beta Round #29 (Div. 2, Codeforces format) C. Mail Stamps 离散化拓扑排序
C. Mail Stamps Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/problem ...
- Codeforces Beta Round #29 (Div. 2, Codeforces format) C. Mail Stamps 拓扑排序
C. Mail Stamps One day Bob got a letter in an envelope. Bob knows that when Berland's post offic ...
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #79 (Div. 2 Only)
Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...
- Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...
- Codeforces Beta Round #76 (Div. 2 Only)
Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...
随机推荐
- jquery源码'jQuery.fn.init.prototype'
一般我们在创建构造函数即使用的时候会这样写,使用的时候会使用new 关键字,先实例化,然后使用. function test(name, age) { this.name = name; this.a ...
- mybatis 异常和注意
1. Could not set parameters for mapping like语句出错,因将%%写入到mapper.xml中导致,将%%随同参数一并传入. 例:String userNam ...
- 爬虫--Scrapy-CrawlSpider&基于CrawlSpide的分布式爬虫
CrawlSpider 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调par ...
- 关于 C++ 默认构造函数 的几个误区 转载
https://blog.csdn.net/ccrazyman/article/details/8138425
- 腾讯助理PHP开发工程师外包岗面经
校招错过腾讯了,在社招上看到腾讯有招外包岗,要求比正式岗低,于是抱着试一试的心态投了简历,没一会就收到了笔试题,还算简单. 第二天收到面试官的面试邀请,然后去面试了…… 腾讯里面真是漂亮,光是看装潢就 ...
- $event Object angularjs
You can pass the $event object as an argument when calling the function. The $event object contains ...
- Zookeeper 在Linux系统的安装
注册中心Zookeeper 官方推荐使用 zookeeper 注册中心.注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小. Z ...
- Rust语言学习笔记(7)
模块 // 兄弟模块 mod network { fn connect() { } } mod client { fn connect() { } } // 父子模块 mod network { fn ...
- Python 字符串基本操作
字符串是Python的一种基本类型,字符串的操作包括字符串格式化输出.字符串的截取.合并,字符串的查找和替换等操作. 字符串定义 Python中有3种表示字符串的方法:单引号.双引号.三引号.引号使用 ...
- 一张图知道HTML5布局(图)