A - Bulletin Board

签到。

 #include <bits/stdc++.h>
using namespace std; int main()
{
int n, h, w;
while (scanf("%d%d%d", &n, &h, &w) != EOF)
{
printf("%d\n", (n - h + ) * (n - w + ));
}
return ;
}

B - Contests

签到。

 #include <bits/stdc++.h>
using namespace std; #define N 110
int n, a, b, p[N]; bool check(int x)
{
if (n - x + <= x) return false;
if (p[x] > a) return false;
if (p[n - x + ] <= b) return false;
int cnt = ;
for (int i = x + , j = ; j <= x && i <= n - x; ++i)
{
if (p[i] > b) break;
if (p[i] > a)
{
++j;
++cnt;
}
}
return cnt >= x;
} int main()
{
while (scanf("%d", &n) != EOF)
{
scanf("%d%d", &a, &b);
for (int i = ; i <= n; ++i) scanf("%d", p + i);
sort(p + , p + + n);
int l = , r = n, res = ;
while (r - l >= )
{
int mid = (l + r) >> ;
if (check(mid))
{
l = mid + ;
res = max(res, mid);
}
else
r = mid - ;
}
printf("%d\n", res);
}
return ;
}

C - Alternating Path

Solved

题意:

起点选择一个黑点,终点选择一个白点,如果起点到终点之间存在一条路径是黑、白、黑、白 这样的

那么这一对点就合法,给出一张图,求有多少对合法点对

思路:

将每个点与四周和自己颜色不同的点用并查集并起来,然后同一个连通块的任意一堆黑点和白点都是合法的

 #include <bits/stdc++.h>
using namespace std; #define ll long long
#define N 410
char G[N][N];
int n, m;
int pre[N * N], tot[N * N];
int find(int x) { return pre[x] == ? x : pre[x] = find(pre[x]); }
void join(int u, int v)
{
int fu = find(u), fv = find(v);
if (fu != fv) pre[fu] = fv;
}
int f(int x, int y) { return (x - ) * m + y; }
int Move[][] =
{
-, ,
,-,
};
bool ok(int x, int y)
{
if (x < || x > n || y < || y > m) return false;
return true;
} int main()
{
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = ; i <= n; ++i) scanf("%s", G[i] + );
memset(pre, , sizeof pre);
memset(tot, , sizeof tot);
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j)
{
for (int k = ; k < ; ++k)
{
int nx = i + Move[k][];
int ny = j + Move[k][];
if (ok(nx, ny) && G[i][j] != G[nx][ny]) join(f(i, j), f(nx, ny));
}
}
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j) if (G[i][j] == '.')
++tot[find(f(i, j))];
ll res = ;
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j) if (G[i][j] == '#') res += tot[find(f(i, j))];
printf("%lld\n", res);
}
return ;
}

D - Nearest Card Game

Unsolved.

题意:

有一个游戏,$B先选择一个整数x$

接着开始游戏

  • A在剩下的数中选择最大的
  • B在剩下的数中选择最接近x的,如果有多个,选择最小的那个

每次询问给出一个x,根据这个策略,求A最后选取的数的总和

AISing Programming Contest 2019 Solution的更多相关文章

  1. AISing Programming Contest 2019 翻车记

    A:签到. #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> ...

  2. 【AtCoder】AISing Programming Contest 2019

    本来以为是1199rated的..仔细一看发现是1999,所以就做了一下 这场涨分很轻松啊...为啥又没打 等pkuwc考完我一定打一场atcoder(咕咕咕,咕咕咕,咕咕咕咕咕咕咕~) 但是其实我思 ...

  3. KEYENCE Programming Contest 2019 Solution

    A - Beginning 签到. #include <bits/stdc++.h> using namespace std; int main() { ]; while (scanf(& ...

  4. AtCoder AISing Programming Contest 2019 Task D. Nearest Card Game

    题目分析在代码注释里. int main() { #if defined LOCAL && !defined DUIPAI ifstream in("main.in" ...

  5. [AtCoder] NIKKEI Programming Contest 2019 (暂缺F)

    [AtCoder] NIKKEI Programming Contest 2019   本来看见这一场的排名的画风比较正常就来补一下题,但是完全没有发现后两题的AC人数远少于我补的上一份AtCoder ...

  6. [AtCoder] Yahoo Programming Contest 2019

    [AtCoder] Yahoo Programming Contest 2019   很遗憾错过了一场 AtCoder .听说这场是涨分场呢,于是特意来补一下题. A - Anti-Adjacency ...

  7. Yahoo Programming Contest 2019.E.Odd Subrectangles(思路 线性基)

    题目链接 \(Description\) 给定一个\(n\times m\)的\(01\)矩阵.求任意选出\(r\)行.\(c\)列(共\(2^{n+m}\)种方案),使得这\(r\)行\(c\)列的 ...

  8. ACM ICPC, Amman Collegiate Programming Contest (2018) Solution

    Solution A:Careful Thief 题意:给出n个区间,每个区间的每个位置的权值都是v,然后找长度为k的区间,使得这个区间的所有位置的权值加起来最大,输出最大权值, 所有区间不重叠 思路 ...

  9. AtCoder NIKKEI Programming Contest 2019 C. Different Strokes (贪心)

    题目链接:https://nikkei2019-qual.contest.atcoder.jp/tasks/nikkei2019_qual_C 题意:给出 n 种食物,Takahashi 吃下获得 a ...

随机推荐

  1. python2.0_day21_web聊天室一

    bbs系统项目中我们用到的ajax不多,但是在聊天室里用到的全是ajax,所以本项目的主要内容就是:前端使用ajax传输json格式的数据是本节的重点以及 前端函数的的使用.http协议的特点是:短链 ...

  2. 分享一句话的同时说说遍历map的常用方法

    最近在网上看到一句话,鄙人觉得这是比较经典的一句话,首先要给大家分享哈: 当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及. Map<String, String ...

  3. ASP代码审计学习笔记-1.SQL注入

    ASP注入漏洞 一.SQL注入的原因 按照参数形式:数字型/字符型/搜索型 1.数字型sql查询 sql注入原因: ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: id=request. ...

  4. linux系统UDP的socket通信编程3

    我刚开始接触linux下的socket编程,边抄边理解udp socket编程,我的疑问是server不指定IP地址,client的目标IP地址是127.0.0.1,这样就可以通信吗?在同一主机下是不 ...

  5. php 升级后 htmlspecialchars 返回空 的解决方案

    今天将php版本升级到5.3.0以上(我升级到php5.4.13)的版本后发现一个问题 htmlspecialchars 函数返回为空.查了资料后,发现新版本对htmlspecialchars这个函数 ...

  6. 使用fetch-jsonp进行跨域以及参数的传递

    其实fetch-jsonp的官方文档里面已经写得很详细了,连接如下:https://github.com/camsong/fetch-jsonp:但是由于它本身没有多少demo,所以自己在上手的时候遇 ...

  7. jQuery之ajaxForm提交表单

      1.jQuery的设计非常优雅,其源代码亦给人以美感,利用jQuery框架写出来的js既简练又能完美跨浏览器.   2.jquery form插件是基于jQuery开发的一套能够利用ajax技术提 ...

  8. AndroidのUI体验之上拉下拉

    1.ScrollView监测是否滚动到顶部或底部 onScrollChanged(); 滚动到顶部判断:getScrollY() == 0 滚动到底部判断:getChildAt(0).getMeasu ...

  9. 【CSS系列】布局篇

    一.让设计居中 1.使用自动空白边让设计居中 <style type="text/css"> body{ text-align:center; min-width:76 ...

  10. django后台导入excel文件

    1.django 如何从后台上传excel中批量解析数据 要从django后台导入的excel中批量解析数据,举一个例子,我们向后抬批量导入svn历史数据数据格式 假设excel表中有4列,每列分别是 ...