codeforces 423 A. Restaurant Tables 【水题】

//注意,一个人选座位的顺序,先去单人桌,没有则去空的双人桌,再没有则去有一个人坐着的双人桌。读清题意。

 #include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, a, b, bb, x;
int main()
{
int ans = ;
scanf("%d%d%d", &n, &a, &b);
while(n--) {
scanf("%d", &x);
if(x==) {
if(a) a--;
else if(b) b--, bb++;
else if(bb) bb--;
else ans++;
}
else {
if(b) b--;
else ans += ;
}
}
printf("%d\n", ans);
return ;
}

codeforces 423 B. Black Square 【模拟】

题意:求需要将几块W涂成B能使所有B组成方形

 #include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = ;
char s[N][N];
int n, m, ans;
int main()
{
int i, j, cnt = ;
scanf("%d%d", &n, &m);
int l1=m-, l2=n-, r1=, r2=;
for(i = ; i < n; ++i) scanf("%s", s[i]);
for(i = ; i < n; ++i) {
for(j = ; j < m; ++j) {
if(s[i][j] == 'B') {
cnt++;
l1 = min(l1, j); l2 = min(l2, i);
r1 = max(r1, j); r2 = max(r2, i);
}
}
}
int len = max(r1-l1+, r2-l2+);
if(len > min(n, m)) ans = -;
else if(!cnt) ans = ;
else { ans = len*len - cnt; }
printf("%d\n", ans);
return ;
}

codeforces 423 C. String Reconstruction 【字符串】

题意:给你n个子串的出现次数和出现位置,构造原字符串,要求字典序最小。

//对每个子串出现位置判断有没有和前一个位置的区间重复,从没有重复的部分继续构造,避免超时。

 #include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 2e6+;
char s[N], t[N];
int n, k, x, ans;
int main()
{
memset(s, 'a', sizeof(s));
int i, j, r = ;
scanf("%d", &n);
while(n--) {
scanf("%s %d", t, &k);
int len = strlen(t);
int pre = -len;
for(i = ; i < k; ++i) {
scanf("%d", &x);
for(j = max(, len-(x-pre)); j < len; ++j)
s[j+x-] = t[j];
pre = x;
r = max(r, x+len-);
}
}
for(i = ; i < r; ++i)
printf("%c", s[i]);
puts("");
return ;
}

codeforces 423 D. High Load 【构造】

题意:给出结点总数n和出口结点数k,(出口结点度数为1,其他结点度数至少为2, 结点编号为1~n)构造网络,使得两个最远的出口节点之间的距离最小的。(两节点之间的距离是这两个节点之间的线数)。输出最远结点之间的最小距离 和 构造出的网络。

题解:就是构造一棵深度最小的树,先将k个结点都与根结点相连,然后依次将剩余结点与这k个结点相连,层次性加深树的深度即可。

 #include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, k, m, h, d;
int main()
{
int i, ans;
scanf("%d%d", &n, &k);
h = (n-) / k;
d = (n-) % k;
if(!d) ans = * h;
else if(d == ) ans = * h + ;
else ans = * h + ;
printf("%d\n", ans);
for(i = ; i <= k+; ++i) printf("1 %d\n", i);
for(i = k+; i <= n; ++i) printf("%d %d\n", i, i-k);
return ;
}

Codeforces Round #423 (Div. 2)的更多相关文章

  1. Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals)

    Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) A.String Reconstruction B. High Load C ...

  2. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) E. DNA Evolution 树状数组

    E. DNA Evolution 题目连接: http://codeforces.com/contest/828/problem/E Description Everyone knows that D ...

  3. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) D. High Load 构造

    D. High Load 题目连接: http://codeforces.com/contest/828/problem/D Description Arkady needs your help ag ...

  4. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集

    C. String Reconstruction 题目连接: http://codeforces.com/contest/828/problem/C Description Ivan had stri ...

  5. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) A,B,C

    A.题目链接:http://codeforces.com/contest/828/problem/A 解题思路: 直接暴力模拟 #include<bits/stdc++.h> using ...

  6. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) Problem E (Codeforces 828E) - 分块

    Everyone knows that DNA strands consist of nucleotides. There are four types of nucleotides: "A ...

  7. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) Problem D (Codeforces 828D) - 贪心

    Arkady needs your help again! This time he decided to build his own high-speed Internet exchange poi ...

  8. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) Problem C (Codeforces 828C) - 链表 - 并查集

    Ivan had string s consisting of small English letters. However, his friend Julia decided to make fun ...

  9. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) Problem A - B

    Pronlem A In a small restaurant there are a tables for one person and b tables for two persons. It i ...

随机推荐

  1. zato集群部署

    注: SQL ODB和Cluster’s config需要首先依次创建,其他三个次序随意 对不熟悉的命令,使用server create *** -h 查看帮助文档 修改完后配置文件,要重启(zato ...

  2. WPF Window对象的生命周期

    WPF中所有窗口的基类型都是System.Windows.Window.Window通常用于SDI(SingleDocumentInterface).MDI(MultipleDocumentInter ...

  3. isnull函数

    isnull是判断一个字段是否为空值,返回一个特定的值 列: isnull(a,0)  如果a字段有空值返回0 没有空值就返回a的本身 isnull(a,1)=2 字段a有空值返回1,判断isnull ...

  4. Lucene学习之四:Lucene的索引文件格式(1)

    本文转载自:http://www.cnblogs.com/forfuture1978/archive/2009/12/14/1623597.html Lucene的索引里面存了些什么,如何存放的,也即 ...

  5. Reactjs事件处理的三种写法

    目录 前言 1. 在回调函数中使用箭头函数 2. 在构造器中绑定this 3. 使用类字段语法 事件参数的传递. 总结 前言 Reactjs中事件处理,与DOM元素处理类似,但也有一些不同的语法. R ...

  6. VS编译完成后自动复制到远程机器

    缘起 最近在调试网络通信,每次一有点小修改,都要将程序从开发机复制到测试机,不胜烦扰.既然我们程序猿,为什么要那么死板呢,能够用代码解决的问题,就不要用手去解决. 解决过程 复制 手工复制外有没有其他 ...

  7. gradle -v不是外部命令, 内部命令,或批处理文件

    安装完gradle并且配置了环境变量之后,使用windos+R,cmd 进入Dos命令gradle -v检测版本号出现了: 1 --首先找到gradle文件所在目录 一般是在C:\Users\su\. ...

  8. VirtualBox使用Centos7与主机共享文件夹

    最近使用VitrtualBox安装Centos7学习,liunx脚本和一些命令,经过一些研究完成了虚拟机与 主机共享文件夹,虚拟机链接外部网络,主机与虚拟机互相通信.在其中遇到一些我解决的技术问题记录 ...

  9. Bazaar 版本控制工具

    Bazaar是一个分布式的版本控制系统,它发布在GPL许可协议之下,并可用于Windows.GNU/Linux.UNIX以及Mac OS系统.Bazaar由Canonical公司赞助,目前已服务于Sa ...

  10. rabbitMQ windows 安装 入门(转)

    rabbitMQ windows 安装 入门   1.下载,其实erlang不装也是可以的 下载 rabbitMQ :http://www.rabbitmq.com/download.html,安装r ...