A - Large Digits

按要求求出两个数的每位之和,进行比较即可。

时间复杂度 \(\mathcal{O}(\log(AB))\)。

B - Gentle Pairs

枚举所有点对求斜率。

时间复杂度 \(\mathcal{O}(N^2)\)。

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n;
cin >> n;
int x[1010], y[1010];
int cnt = 0;
for (int i = 0; i < n; ++i) {
cin >> x[i] >> y[i];
}
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j) {
if (i != j)
if (abs(y[i] - y[j]) <= abs(x[i] - x[j])) cnt++;
}
cout << cnt / 2 << "\n";
return 0;
}

C - 1-SAT

用两个HashSet分别存储不带!和带!的字符串的纯字符部分,求两个HashSet的交集。若有交集,则输出其中任意一个字符串;否则按要求输出satisfiable。

时间复杂度 \(\mathcal{O}(N)\)。

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n;
cin >> n;
string s;
unordered_set<string> s1, s2;
for (int i = 0; i < n; ++i) {
cin >> s;
if (s[0] == '!') s1.insert(s.substr(1));
else
s2.insert(s);
}
for (auto x : s1) {
if (s2.count(x)) {
cout << x << "\n";
return 0;
}
}
cout << "satisfiable\n";
return 0;
}

D - Choose Me

将所有城镇按照\(2A_i+B_i\)降序排列,然后贪心选取即可。

时间复杂度 \(\mathcal{O}(N\log N)\)。

using ll = long long;
int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int n;
cin >> n;
vector<pair<ll, ll>> towns;
ll sa = 0, sb = 0; // T,A
for (int i = 0; i < n; ++i) {
int a, b;
cin >> a >> b;
towns.emplace_back(a, b);
sa += a;
}
sort(towns.begin(), towns.end(), [](pair<ll, ll>& p, pair<ll, ll>& q) {
return p.first * 2 + p.second > q.first * 2 + q.second;
});
for (int i = 0; i < n; ++i) {
if (sa < sb) {
cout << i << "\n";
return 0;
}
sa -= towns[i].first, sb += towns[i].first + towns[i].second;
}
cout << n << "\n";
return 0;
}

AtCoder Beginner Contest 187 题解的更多相关文章

  1. AtCoder Beginner Contest 154 题解

    人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...

  2. AtCoder Beginner Contest 153 题解

    目录 AtCoder Beginner Contest 153 题解 A - Serval vs Monster 题意 做法 程序 B - Common Raccoon vs Monster 题意 做 ...

  3. AtCoder Beginner Contest 177 题解

    AtCoder Beginner Contest 177 题解 目录 AtCoder Beginner Contest 177 题解 A - Don't be late B - Substring C ...

  4. AtCoder Beginner Contest 184 题解

    AtCoder Beginner Contest 184 题解 目录 AtCoder Beginner Contest 184 题解 A - Determinant B - Quizzes C - S ...

  5. AtCoder Beginner Contest 173 题解

    AtCoder Beginner Contest 173 题解 目录 AtCoder Beginner Contest 173 题解 A - Payment B - Judge Status Summ ...

  6. AtCoder Beginner Contest 172 题解

    AtCoder Beginner Contest 172 题解 目录 AtCoder Beginner Contest 172 题解 A - Calc B - Minor Change C - Tsu ...

  7. AtCoder Beginner Contest 169 题解

    AtCoder Beginner Contest 169 题解 这场比赛比较简单,证明我没有咕咕咕的时候到了! A - Multiplication 1 没什么好说的,直接读入两个数输出乘积就好了. ...

  8. AtCoder Beginner Contest 148 题解

    目录 AtCoder Beginner Contest 148 题解 前言 A - Round One 题意 做法 程序 B - Strings with the Same Length 题意 做法 ...

  9. AtCoder Beginner Contest 151 题解报告

    总的来说,这次的题目比较水,然而菜菜的我并没有把所有题目都做完,话不多说,直接来干货: A:Next Alphabet 题目链接:https://atcoder.jp/contests/abc151/ ...

  10. AtCoder Beginner Contest 115 题解

    题目链接:https://abc115.contest.atcoder.jp/ A Christmas Eve Eve Eve 题目: Time limit : 2sec / Memory limit ...

随机推荐

  1. Spring Boot 关闭 Actuator ,满足安全工具扫描

    应用被安全工具,扫描出漏洞信息 [MSS]SpringBoot Actuator敏感接口未授权访问漏洞(Actuator)事件发现通告: 发现时间:2023-11-25 19:47:17 攻击时间:2 ...

  2. Centos 7在线安装JDK1.8+Tomcat+MySQL8.0+Nginx

    一.安装JDK 注: 以下命令环境在Xshell中进行. 温馨提示: 在线安装方式需要有网速的前提,有的软件下载需要大量时间. 1.查询出系统自带的OpenJDK及版本 rpm -qa | grep ...

  3. JavaWeb开发-CSS基础

    2.CSS层叠样式表基本语法 层叠样式表,用来控制页面的样式 (1)CSS的三种引入方式 内部样式表:适合学习使用,将CSS代码写在style标签里面,style标签嵌套在title里 外部样式表:开 ...

  4. 记录一次 postgresql 优化案例( volatility 自定义函数无法并行查询 )

    同事最近做个金融适配项目,找我看条SQL,告知ORACLE跑1分钟,PG要跑30分钟(其实并没有这么夸张), 废话不说,贴慢SQL. 慢SQL(关键信息已经加密): explain analyze S ...

  5. MySQL 分组排序后 → 如何取前N条或倒数N条

    开心一刻 晚上,老婆辅导女儿写语文作业 填空题:春天来了,__绿了 女儿:春天来了,爸爸绿了 老婆一脸不悦地问道:你再说一遍,春天来了,什么玩意绿了? 女儿:春天来了,爸爸绿了呀 老婆很生气,但依旧温 ...

  6. [ABC309G] Ban Permutation

    Problem Statement Find the number, modulo $998244353$, of permutations $P=(P_1,P_2,\dots,P_N)$ of $( ...

  7. 数字孪生为何需要融合GIS?以智慧城市项目为例说明

    数字孪生和地理信息系统(GIS)是两个在现代科技中崭露头角的概念,它们的融合为智慧城市项目带来了革命性的机会.本文将解释数字孪生为何需要融合GIS,并以智慧城市项目为例进行说明. 数字孪生是一种虚拟模 ...

  8. cgroup的入门资料

    近期在准备特性的设计文档,按照评审专家的建议,需要排查现有产品中算力资源比如CPU.内存的分配方案,确认现有的硬件款型是否具备充足的资源来启用本特性. 依据前辈提供的建议,检查了产品的部署脚本,发现当 ...

  9. JavaScript apply、call、bind 函数详解

    apply和call apply和call非常类似,都是用于改变函数中this的指向,只是传入的参数不同,等于间接调用一个函数,也等于将这个函数绑定到一个指定的对象上: let name = 'win ...

  10. mx master 的国产平替 keychron m6 使用体验

    背景 之前在 Mac 系统用mx master3遇到的问题 这篇文章中提到过三点问题,前两点在更换了驱动软件,升级了 macOS 系统之后都解决了,但第三点自动休眠的问题一直无法解决,于是一直想找一个 ...